Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Sokrashenia_i_oboznachenia.doc
Скачиваний:
5
Добавлен:
24.09.2019
Размер:
1.73 Mб
Скачать

5.2 Рекомендации по организации труда и отдыха

Работа с приложением связана со зрительными нагрузками, нагрузками на спину, плечи, поясницу, область шеи, в результате чего могут развиться различные виды недомоганий:

  • головная боль;

  • резь в глазах, быстрая утомляемость;

  • боль в спине, плечах, в области шеи и т.д.;

Потому должен соблюдаться режим работы с обязательными перерывами.

Наиболее предпочтителен такой режим: 45 минут работы, 15 минут перерыв. При этом в течение восьми часового рабочего дня общее время пребывания за компьютером не должно превышать 5-6 часов. Во время перерывов оператор может выполнять работу не связанную с напряжением зрения.

Для уменьшения зрительной нагрузки рекомендуется:

  • принудительное частое моргание;

  • отвлечение внимания через определённые промежутки времени на другой объект;

  • сокращение длительности зрительной работы за счёт изготовления твёрдых копий документов и работы уже с ними;

Заключение

В процессе выполнения дипломного проекта я создал 2 WPF приложения. Приложение для организации ведения отношения заказов выполняет следующие действия:

  • вывод данных из БД;

  • добавление записей в БД;

  • изменение записей в БД;

  • удаление записей из БД;

а второстепенное приложение, которое получает только необходимые для работы пользователю данные получает их из БД при этом не нагружая сервер.

В процессе разработки приложения были освоены методы работы с классами. На сервере создаются классы. В соответствующие свойства объектов присваиваются значения из БД. При вызове web-методов на клиентскую часть передаются коллекции объектов. WPF принимал соответствующие коллекции объектов, обрабатывал и визуализировал. Сервер и клиент используют глобальные классы, созданные в WCF (на сервере). Связь сервера с клиентом осуществляется с помощью коллекций.

На данном этапе созданные приложения нуждаются в корректировке для их совместного использования, а также корректировке выводимых страниц и в реализации новых функциональных возможностей.

Список используемых источников

  1. Silverlight в .NET 4 с примерами на С# 2010 для профессионалов. 1-е издание: Пер. с англ. - М. : ООО "И.Д. Вильямс".

  2. C# и платформа .Net 4 для профессионалов.

  3. С# учебный курс. :Пер. с англ. – М.: Издательский дом «Вильямс», 2002. – 272 с. : ил. – Парал. Тит. Англ.

  4. Форум в интернете www.SQL.ru.

  5. Интернет университет www.intuit.ru.

  6. Туан Тай, Хонг К. Лэм Платформа .Net Основы - Пер. с англ. – М. : “Символ”, 2002 . – 336 с.

  7. Язык программирования С# 2005 и платформа .NET 2.0, 3-е издание.: Пер. с англ. – М.: ООО «И.Д. Вильямс» 2007. – 1168 с.

  8. Разработка пользовательского интерфейса: Пер. с англ.- М.: ДМК Пресс, 2001. – 416 с., ил. (Серия “Для программистов”).

  9. Дэн Хотка. Oracle9i: Пер. с англ. - СПб.:ООО «ДиаСофтЮП», 2002.-560

  10. Типовые нормы времени на программирование задач для ЭВМ: Утв. Гос. ком. СССР по труду и социал. вопр. и секретариатом ВЦСПС 27.07.87. – М.: Экономика, 1989. – 124, [1] с.; 21 см. Стр. 3-9, 14-17, 21, 30-31, 56-57, 82-83.

  11. Богомолова Г.Н. Методические указания по выполнению курсовой работы по курсу «Организация, планирование и управление предприятием» и экономической части дипломных проектов (для студентов специальностей 2201, 2203, 2204). Стр. 4, 15-16, 24-28.

Приложение А

Техническое задание

А.1 Основание для разработки

Настоящая разработка ведется на основании задания, выданного руководителем дипломного проекта Дорошенко А.С.

Наименование дипломного проекта: Разработка приложения для организации ведения отношения заказов в шифраторе и КСУ Парус.

А.2 Назначение разработки

Разрабатываемая ИС предназначена для ведения отношения заказов в шифраторе и КСУ Парус. А также разработки для уменьшение нагрузки на сервера ОАО «Воткинский завод» и быстрой работы приложения.

А.3 Требования к ИС

А.3.1 Общие требования к ИС

  • Серверную часть ИС необходимо выполнить с использованием WCF служб;

  • Клиентскую часть ИС необходимо выполнить с использованием WEB технологий;

А.3.2 Требования к функциональным характеристикам

  • Обеспечить отображение, добавление, изменение, удаление и поиск информации о номерах учетных заказов в шифраторе и КСУ Парус;

  • Обеспечить отображение информации из базы данных сначала в неполной форме, а далее по необходимости получать полную информацию;

А.3.3 Требования к составу и параметрам технических средств

  • Минимальные требования для терминала клиента:

  • Процессор с тактовой чистотой 600 МГц;

  • Оперативная память 256 mb;

  • Монитор с разрешением 1024 x 768 ;

  • Сетевая карта;

  • Минимальные требования для сервера-приложений:

  • Процессор с тактовой чистотой 2000МГц;

  • Оперативная память 1 GB;

  • Жесткий диск 10 GB свободного места;

  • Сетевая карта;

А.3.4 Требования к программной совместимости

  • Минимальные требования для терминала клиента:

  • Web - браузер с поддержкой Silverlight 4.0;

  • Минимальные требования для сервера приложений:

  • Поддержка WCF, Framework 4.0;

А.4 Требования к документации

  • Документация должна соответствовать ГОСТ и требованию заказчика;

А.5 Стадии и этапы разработки

А.5.1 Утверждение технического задания у заказчика

  • Подготовка технического задания;

  • Согласование технического задания с руководителем дипломного проекта;

А.5.2 Проектирование ИС

  • Изучение предметной области;

  • Описание предметной области;

  • Выбор архитектуры приложения;

А.5.3 Разработка ИС

  • Создание элементов управления на странице;

  • Создание WCF сервиса;

  • Отправка запроса к сервису;

  • Получение данных от сервиса и использование их в качестве источника данных для элементов управления

  • Тестирование и отладка.

А.6 Порядок контроля и приемки

Порядок контроля и приемки устанавливается руководителем дипломного проекта Дорошенко А.С. на основании изложенных в п. А.3.2 функциональных характеристик.

Приложение Б

Программный код WCF для ведения отношения заказов

Б.1 код файла Iservice1

Данный файл содержит интерфейс для объявления методов, классов используемые в WCF сервисе.

using System;

using System.Collections.Generic;

using System.Runtime.Serialization;

using System.ServiceModel;

namespace WCForders

{

// NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.

[ServiceContract]

public interface IService1

{

[OperationContract]

List<Prixod> GetPrihod(string sh, string par, string guid);

[OperationContract]

void UpdateRow(DateTime date_op, string UZAK, string UZAKP, string GUID);

[OperationContract]

void DeleteRow(string UZAK);

[OperationContract]

void AddingRow(string UZAK, string UZAKP, string GUID, DateTime time1);

// TODO: Add your service operations here

}

// Use a data contract as illustrated in the sample below to add composite types to service operations.

public class Prixod

{

[DataMember]

public DateTime DATE_OP { get; set; }

[DataMember]

public string UZAK { get; set; }

[DataMember]

public string UZAKP { get; set; }

[DataMember]

public string GUID { get; set; }

}

}

Б.2 Код файла Service1

Данный файл содержит методы и классы, которые выполняются при получении запроса от клиента.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Runtime.Serialization;

using System.ServiceModel;

using System.ServiceModel.Web;

using System.Text;

using System.Data.OracleClient;

namespace WCForders

{

// NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together.

public class Service1 : IService1

{

public string sql;

public List<Prixod> GetPrihod(string sh , string par ,string guid )

{

try

{

var prihodList = new List<Prixod>();

OraDBWeb.clsDB db1 = new OraDBWeb.clsDB("work.ora.vz", "W_STUDENT2", "W_STUDENT2");

sql = "";

sql = ("select t.*, t.rowid from w_zex003.tb_correlative_uzak t");

if (sh != null && sh != "")

{

sql += " where t.uzak like '%" + sh + "%'";

}

if (par != null && par != "")

{

if (sh != null && sh != "")

{

sql += " and t.uzakp like '%" + par + "%'";

}

else

{

sql += " where t.uzakp like '%" + par + "%'";

}

}

var reader = db1.GetReader(sql, true);

while (reader.Read())

{

var prihodItem = new Prixod();

prihodItem.DATE_OP = Convert.ToDateTime(reader["DATE_OP"].ToString());

// DateTime dt1 = new DateTime;

// dt1 = reader["DATE_OP"].;

prihodItem.UZAK = reader["UZAK"].ToString();

prihodItem.UZAKP = reader["UZAKP"].ToString();

prihodItem.GUID = reader["GUID"].ToString();

//prihodItem.Datetime = Convert.ToDateTime(reader["datetime"].ToString());

prihodList.Add(prihodItem);

}

db1.Connection.Close();

//System.Threading.Thread.Sleep(1000);

return prihodList;

}

catch { return new List<Prixod>(); }

}

public void UpdateRow(DateTime date_op,string UZAK, string UZAKP, string GUID)

{

try

{

OraDBWeb.clsDB db1 = new OraDBWeb.clsDB("work.ora.vz", "W_STUDENT2", "W_STUDENT2");

sql = string.Format("UPDATE w_zex003.tb_correlative_uzak SET w_zex003.tb_correlative_uzak.{0} = '{2}' , w_zex003.tb_correlative_uzak.date_op = '{3}' WHERE w_zex003.tb_correlative_uzak.UZAK= '{1}'", UZAK, UZAKP, GUID,date_op);

db1.ExecuteSQL(sql);

db1.Connection.Close();

return;

}

catch (Exception)

{

throw;

}

}

public void DeleteRow(string UZAK)

{

try

{

OraDBWeb.clsDB db1 = new OraDBWeb.clsDB("work.ora.vz", "W_STUDENT2", "W_STUDENT2");

sql = string.Format("delete from w_zex003.tb_correlative_uzak where UZAK= '{0}'", UZAK);

db1.ExecuteSQL(sql);

db1.Connection.Close();

return;

}

catch (Exception)

{

throw;

}

}

public void AddingRow(string UZAK,string UZAKP, string GUID, DateTime time1)

{

try

{

OraDBWeb.clsDB db1 = new OraDBWeb.clsDB("work.ora.vz", "W_STUDENT2", "W_STUDENT2");

sql = string.Format("INSERT INTO w_zex003.tb_correlative_uzak VALUES ('{0}','{1}','{2}','{3}')", time1, UZAK, UZAKP, GUID);

db1.ExecuteSQL(sql);

db1.Connection.Close();

return;

}

catch (Exception)

{

throw;

}

}

}

}

Приложение В

Программный код WPF для ведения отношения заказов

using System;

using System.Collections.Generic;

using System.Collections.ObjectModel;

using System.Diagnostics;

using System.Linq;

using System.Text;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Data;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Imaging;

using System.Windows.Navigation;

using System.Windows.Shapes;

using Orders.ServiceReference1;

using Orders.SRSecurity;

using System.Xml.Linq;

using System.Data.OracleClient;

namespace Orders

{

/// <summary>

/// Interaction logic for Page1.xaml

/// </summary>

public partial class Page1 : Page

{

public delegate void GetUserPositionEventHandler(object sender, RoutedEventArgs e);

public delegate void InitializedEventHandler(object sender, RoutedEventArgs e);

Service1Client SVC = new Service1Client();

CommonClient CC = new CommonClient();

public ObservableCollection<ServiceReference1.Prixod> Prihods = new ObservableCollection<ServiceReference1.Prixod>();

public ServiceReference1.Prixod dd = new ServiceReference1.Prixod();

ObservableCollection<Prixod> _mydata = new ObservableCollection<Prixod>();

DateTime t = DateTime.Now;

public UserInfo User = new UserInfo();

public class Prixod

{

public DateTime DATE_OP { get; set; }

public string UZAK { get; set; }

public string UZAKP { get; set; }

public string GUID { get; set; }

}

public Page1()

{

InitializeComponent();

SVC.GetPrihodCompleted += new EventHandler<GetPrihodCompletedEventArgs>(SVC_GetPrihodCompleted);

SVC.GetPrihodAsync("","","");

CC.GetUserInfoAsync(new UserInfo { Login = null});

CC.GetUserInfoCompleted += new EventHandler<GetUserInfoCompletedEventArgs>(CC_GetUserInfoCompleted);

}

void CC_GetUserInfoCompleted(object sender, GetUserInfoCompletedEventArgs e)

{

CC.GetUserInfoCompleted -= new EventHandler<GetUserInfoCompletedEventArgs>(CC_GetUserInfoCompleted);

var document = XDocument.Parse(e.Result.Data);

var data = from post in document.Descendants("table")

select new UserInfo

{

Login = (string)post.Element("LOGIN")

};

User = data.First();

}

void SVC_GetPrihodCompleted(object sender, GetPrihodCompletedEventArgs e)

{

SVC.GetPrihodCompleted-= new EventHandler<GetPrihodCompletedEventArgs>(SVC_GetPrihodCompleted);

Prihods = new ObservableCollection<ServiceReference1.Prixod>(e.Result);

dg1.ItemsSource = Prihods;

}

private void dg1_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)

{

MessageBoxButton buttons = MessageBoxButton.YesNo;

MessageBoxResult result = MessageBox.Show("Вы уверены что хотите изменить данные?", "Изменение данных", buttons);

if (result.ToString() == "Yes")

{

t = DateTime.Now;

SVC.UpdateRow(t, e.Column.SortMemberPath, ((Orders.ServiceReference1.Prixod)(e.Row.Item)).UZAK, ((System.Windows.Controls.TextBox)(e.EditingElement)).Text);

SVC.GetPrihodCompleted += new EventHandler<GetPrihodCompletedEventArgs>(SVC_GetPrihodCompleted);

SVC.GetPrihodAsync("", "","");

}

else

{

}

}

private void Page_Loaded(object sender, RoutedEventArgs e)

{

}

private void button1_Click(object sender, RoutedEventArgs e)

{

if (textBox1.Text == "" || textBox2.Text == "")

{

MessageBox.Show("Не все поля заполнены");

}

else

{

MessageBoxButton buttons = MessageBoxButton.YesNo;

MessageBoxResult result = MessageBox.Show("Вы действительно хотите добавить запись?", "Добавление данных", buttons);

if (result.ToString() == "Yes")

{

t = DateTime.Now;

SVC.AddingRow(textBox1.Text, textBox2.Text, User.Login, t);

textBox1.Text = "";

textBox2.Text = "";

SVC.GetPrihodCompleted += new EventHandler<GetPrihodCompletedEventArgs>(SVC_GetPrihodCompleted);

SVC.GetPrihodAsync("", "", "");

}

}

}

private void MenuItem_Click(object sender, RoutedEventArgs e)

{

MessageBoxButton buttons = MessageBoxButton.YesNo;

MessageBoxResult result = MessageBox.Show("Вы действительно хотите удалить?", "Удаление данных", buttons);

int delnom = dg1.SelectedIndex;

if (result.ToString() == "Yes")

{

SVC.DeleteRow(Prihods[delnom].UZAK);

Prihods.RemoveAt(delnom);

}

}

private void btn_ser_Click(object sender, RoutedEventArgs e)

{

SVC.GetPrihodCompleted += new EventHandler<GetPrihodCompletedEventArgs>(SVC_GetPrihodCompleted);

SVC.GetPrihodAsync(SEN_S.Text,SEN_P.Text, "");

}

private void DataGridTextColumn_ImageFailed(object sender, ExceptionRoutedEventArgs e)

{

}

}

}

//public List<Prihod> getPrihod(string ParNum, string ParName, string ParPlav)

//{

// var prihodList = new List<Prihod>();

// try

// {

// string zapros = "select distinct t4.nrn,t4.ddocdate,t4.sreg_numb,t4.snomen_name,t4.snplav,t4.nquant,t3.ediz from w_parus.udo_v_certification t1 inner join (select distinct t.ncertificat, t.nrn from w_parus.udo_v_certif_trd_for003 t) t2 on t1.NRN = t2.NCERTIFICAT inner join (select tt.nrnsx, tt.ediz from tb_come_maters tt where tt.ediz is not null and tt.nrnsx is not null) t3 on t3.nrnsx = t2.nrn right join (select jt.nrn,jt.DDOCDATE,jt.SREG_NUMB,jt.SNomen_name,jt.SNplav,jt.NQuant from w_parus.udo_v_certification jt where Rownum<=20";

// if (ParNum != null && ParNum != "")

// {

// db.Params.AddWithValue("ParNum", ParNum).OracleType =

OracleType.VarChar;

// zapros += " and jt.SREG_NUMB = :ParNum";

// }

// if (ParName != null && ParName != "")

// {

// ParName = "%" + ParName + "%";

// db.Params.AddWithValue("ParName", ParName).OracleType = OracleType.VarChar;

// zapros += " and upper(jt.SNomen_name) like upper(:ParName)";

// }

// if (ParPlav != null && ParPlav != "")

// {

// ParPlav = "%" + ParPlav + "%";

// db.Params.AddWithValue("ParPlav", ParPlav).OracleType = OracleType.VarChar;

// zapros += " and upper(jt.SNplav) like upper(:ParPlav)";

// }

// zapros += ") t4 on t4.nrn = t1.NRN";

// var reader = db.GetReader(zapros, true);

// while (reader.Read())

// {

// var prihodItem = new Prihod();

// prihodItem.Nomen_name = string.IsNullOrEmpty(reader["SNomen_name"].ToString()) ? "----------" : reader["SNomen_name"].ToString();

// prihodItem.NRN = string.IsNullOrEmpty(reader["NRN"].ToString()) ? "----------" : reader["NRN"].ToString();

// prihodItem.Quant = string.IsNullOrEmpty(reader["NQuant"].ToString()) ? "----------" : reader["NQuant"].ToString();

// prihodItem.DocNumb = string.IsNullOrEmpty(reader["sreg_numb"].ToString()) ? "----------" : reader["sreg_numb"].ToString();

// prihodItem.Nplav = string.IsNullOrEmpty(reader["SNplav"].ToString()) ? "----------" : reader["SNplav"].ToString();

// try

// {

// prihodItem.DocDate = (DateTime)reader["DDOCDATE"];

// prihodItem.ConverteR = prihodItem.DocDate.Date.ToShortDateString();

// }

// catch (Exception ex)

// {

// prihodItem.DocDate = DateTime.Now.Date;

// prihodItem.ConverteR = DateTime.Now.Date.ToShortDateString();

// }

// prihodItem.EdIz = string.IsNullOrEmpty(reader["ediz"].ToString()) ? "----------" : reader["ediz"].ToString();

// prihodList.Add(prihodItem);

// }

// return prihodList;

// }

// catch { return prihodList; }

//}

Приложение Г

Программный код WCF для получения видимых данных

Г.1 код файла Iservice1

Данный файл содержит интерфейс для объявления методов, классов используемые в WCF сервисе.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Runtime.Serialization;

using System.ServiceModel;

using System.ServiceModel.Web;

using System.Text;

namespace WcfService1

{

// NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.

[ServiceContract]

public interface IService1

{

[OperationContract]

List<Prixod> getPrihod(string dce, string uzak, string isg);

// TODO: Add your service operations here

}

// Use a data contract as illustrated in the sample below to add composite types to service operations.

public class Prixod

{

[DataMember]

public string dce { get; set; }

[DataMember]

public string uzak { get; set; }

[DataMember]

public string isg { get; set; }

[DataMember]

public int index { get; set; }

}

}

Г.2 Код файла Service1

Данный файл содержит методы и классы, которые выполняются при получении запроса от клиента.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Runtime.Serialization;

using System.ServiceModel;

using System.ServiceModel.Web;

using System.Text;

using System.Data.OracleClient;

namespace WcfService1

{

// NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together.

public class Service1 : IService1

{

public List<Prixod> getPrihod(string dce, string uzak, string isg)

{

try

{

OraDBWeb.clsDB db1 = new OraDBWeb.clsDB("work.ora.vz", "W_STUDENT1", "W_STUDENT1");

string sql = (" select dce,uzak,isg from w_uchet.def where rownum <=1000 ");

var prihodList = new List<Prixod>();

var reader = db1.GetReader(sql, true);

while (reader.Read())

{

var prihodItem = new Prixod();

prihodItem.dce = reader["DCE"].ToString();

prihodItem.uzak = reader["UZAK"].ToString();

prihodItem.isg = reader["ISG"].ToString();

prihodList.Add(prihodItem);

}

db1.Connection.Close();

//System.Threading.Thread.Sleep(1000);

return prihodList;

}

catch { return new List<Prixod>(); }

}

}

}

Приложение Д

Программный код WPF для получения видимых данных

using System;

using System.Collections.Generic;

using System.Linq;

using System.Net;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Animation;

using System.Windows.Shapes;

using System.Collections.ObjectModel;

using System.IO;

using System.Xml;

using System.Xml.Linq;

using sla.ServiceReference1;

using sla.ServiceReference2;

namespace sla

{

public partial class MainPage : UserControl

{

public int timer;

public string strxml;

Service1Client SVC = new Service1Client();

wscMMKSoapClient SVC2 = new wscMMKSoapClient(); //wcf servise wscMMK

public double Curdate;

public ObservableCollection<ServiceReference1.Prixod> Prihods = new ObservableCollection<ServiceReference1.Prixod>();

System.Windows.Threading.DispatcherTimer myDispatcherTimer = new System.Windows.Threading.DispatcherTimer();

System.Windows.Threading.DispatcherTimer myDispatcherTimer1 = new System.Windows.Threading.DispatcherTimer();

public class M

{

public string[] mass = new string[13];

public int[] mass1 = new int[13];

public string h;

public int intA;

public void add(string sd,int fg)

{

if (intA != 13)

{

mass[intA] = sd;

mass1[intA] = fg;

intA += 1;

}

if (intA == 13)

{

for (int o = 12; o > 0; o--)

{

mass[o] = mass[o - 1];

mass1[o] = mass1[o - 1];

}

mass[0] = sd;

mass1[0] = fg;

}

}

}

M dob = new M();

public sla.ServiceReference1.Prixod dd = new sla.ServiceReference1.Prixod();

public int azx;

public int index2;

public class Prixod

{

public string dce { get; set; }

public string uzak { get; set; }

public string isg { get; set; }

public int index { get;set;}

}

public class WCFSERV

{

public int index1 { get; set; }

public string RN { get; set; }

public string OBOZN { get; set; }

public string VI { get; set; }

public string TVNAIM { get; set; }

public string TVMASSA { get; set; }

public string DOLY { get; set; }

public string IND_NALCOMP { get; set; }

public string RN_ISPOB { get; set; }

public string VID_ISPOB { get; set; }

public string TIP_ISPOB { get; set; }

public string IND_OBJ { get; set; }

public string IND_NOMZA { get; set; }

public string IND_NZ_PLAN { get; set; }

public string NOMIZM_TV { get; set; }

public string KR_STRING { get; set; }

public string MO_STRING { get; set; }

public string TRUD_STRING { get; set; }

public string OBOZN_TZAG { get; set; }

public string RN_ISPOB_TZAG { get; set; }

public string NORMRASH { get; set; }

public string GEOMR_DL { get; set; }

public string KDZ { get; set; }

public string VESZAG { get; set; }

public string EI_TZAG { get; set; }

}

ObservableCollection<WCFSERV> mydata2 = new ObservableCollection<WCFSERV>();

ObservableCollection<WCFSERV> mydata = new ObservableCollection<WCFSERV>();

public MainPage()

{

SVC.getPrihodCompleted += new EventHandler<getPrihodCompletedEventArgs>(SVC_getPrihodCompleted);

SVC.getPrihodAsync("", "", "");

SVC2.TV_FindCompleted += new EventHandler<TV_FindCompletedEventArgs>(SVC2_TV_FindCompleted);

myDispatcherTimer.Interval = new TimeSpan(0, 0, 0, 5);

myDispatcherTimer.Tick += new EventHandler(myDispatcherTimer_Tick);

myDispatcherTimer1.Interval = new TimeSpan(0, 0, 0, 0,1);

myDispatcherTimer1.Tick += new EventHandler(myDispatcherTimer1_Tick);

InitializeComponent();

}

void SVC2_TV_FindCompleted(object sender, TV_FindCompletedEventArgs e)

{

index2++;

XDocument xmlDoc = XDocument.Parse(Convert.ToString(e.Result.Nodes[1]));

IEnumerable<WCFSERV> mydata = (from post in xmlDoc.Descendants("Table")

select new WCFSERV

{

index1 = (int)index2 ,

RN = (string)post.Element("RN"),

OBOZN = (string)post.Element("OBOZN"),

VI = (string)post.Element("VI"),

TVNAIM = (string)post.Element("TVNAIM"),

TVMASSA = (string)post.Element("TVMASSA"),

DOLY = (string)post.Element("DOLY"),

IND_NALCOMP = (string)post.Element("IND_NALCOMP"),

RN_ISPOB = (string)post.Element("RN_ISPOB"),

VID_ISPOB = (string)post.Element("VID_ISPOB"),

TIP_ISPOB = (string)post.Element("TIP_ISPOB"),

IND_OBJ = (string)post.Element("IND_OBJ"),

IND_NOMZA = (string)post.Element("IND_NOMZA"),

IND_NZ_PLAN = (string)post.Element("IND_NZ_PLAN"),

NOMIZM_TV = (string)post.Element("NOMIZM_TV"),

KR_STRING = (string)post.Element("KR_STRING"),

MO_STRING = (string)post.Element("MO_STRING"),

TRUD_STRING = (string)post.Element("TRUD_STRING"),

OBOZN_TZAG = (string)post.Element("OBOZN_TZAG"),

RN_ISPOB_TZAG = (string)post.Element("RN_ISPOB_TZAG"),

NORMRASH = (string)post.Element("NORMRASH"),

GEOMR_DL = (string)post.Element("GEOMR_DL"),

KDZ = (string)post.Element("KDZ"),

VESZAG = (string)post.Element("VESZAG"),

EI_TZAG = (string)post.Element("EI_TZAG")

});

foreach (WCFSERV elem in mydata)

{

mydata2.Add(elem);

}

dgd2.ItemsSource = mydata2;

myDispatcherTimer1.Stop();

textBox1.Text += "Время запроса: " + Convert.ToString(timer) + " m/c" + '\r';

dgd1.IsEnabled = true;

}

void SVC_getPrihodCompleted(object sender, getPrihodCompletedEventArgs e)

{

SVC.getPrihodCompleted -= new EventHandler<getPrihodCompletedEventArgs>(SVC_getPrihodCompleted);

Prihods = (ObservableCollection<ServiceReference1.Prixod>)e.Result;

dgd1.ItemsSource = Prihods;

for (int a = 0; a < Prihods.Count; a++)

{

Prihods[a].index = a;

// mydata = Prihods;

}

}

private void dgd1_LoadingRow(object sender, DataGridRowEventArgs e)

{

dd = (sla.ServiceReference1.Prixod)e.Row.DataContext;

dob.add(dd.dce, dd.index);

myDispatcherTimer.Start();

}

public void myDispatcherTimer1_Tick(object o, EventArgs sender)

{

timer++;

}

public void myDispatcherTimer_Tick(object o, EventArgs sender)

{

azx += 1;

for (int h = 0; h <= 12; h++)

{

SVC2.TV_FindAsync(dob.mass[h], false, false, false, false, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", Convert.ToDateTime( "11.11.2011"), "");

timer = 0;

myDispatcherTimer1.Start();

dgd1.IsEnabled = false;

}

myDispatcherTimer.Stop();

}

private void dgd1_SelectionChanged(object sender, SelectionChangedEventArgs e)

{

sla.ServiceReference1.Prixod asg = (sla.ServiceReference1.Prixod)dgd1.SelectedItem;

SVC2.TV_FindCompleted += new EventHandler<TV_FindCompletedEventArgs>(SVC2_TV_FindCompleted);

SVC2.TV_FindAsync(asg.dce, false, false, false, false, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", Convert.ToDateTime("11.11.2011"), "");

timer = 0;

myDispatcherTimer1.Start();

dgd1.IsEnabled = false;

}}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]