private void подключитьсяToolStripMenuItem_Click(object sender, EventArgs e) { if (isConnected) { подключитьсяToolStripMenuItem.Text = "Подключиться"; ModesApiFactory.CloseConnection(); isConnected = false; } else { ConnectionForm_ f1 = new ConnectionForm_(); if (f1.ShowDialog() != DialogResult.OK) { return; } if (f1.isLocal) { ModesApiFactory.Initialize(f1.serverName, f1.User, f1.Pass); } else { ModesApiFactory.Initialize(f1.serverName); } if (ModesApiFactory.IsInitilized) { api_ = ModesApiFactory.GetModesApi(); api_.OnData53500Modified += new EventHandler <EventRefreshData53500>(api__OnData53500Modified); api_.OnMaket53500Changed += new EventHandler <EventRefreshJournalMaket53500>(api__OnMaket53500Changed); api_.OnNsiModified += new EventHandler <EventUpdateNsi>(api__OnNSIModified); api_.OnClose += new EventHandler(api__ServiceOnClose); api_.OnPlanDataChanged += new EventHandler <EventPlanDataChanged>(api__OnPlanDataChanged); isConnected = true; подключитьсяToolStripMenuItem.Text = "Отключиться"; } } }
public MCServerReader(DateTime date, bool writeNPBR = true) { Logger.Info("Чтение ПБР за " + date.ToString()); Date = date; AutooperData = new List <string>(); Logger.Info("Connect MC"); ProcessedPBRS = new Dictionary <int, MCPBRData>(); try { modesConnect(); SyncZone zone = SyncZone.First; IModesTimeSlice ts = null; ts = api.GetModesTimeSlice(date.Date.LocalHqToSystemEx(), zone , TreeContent.PGObjects /*только оборудование, по которому СО публикует ПГ(включая родителей)*/ , false); bool ok = true; foreach (IGenObject obj in ts.GenTree) { ok = ok && getPlan(obj); } if (ok) { if (ProcessedPBRS.Count != 7) { Logger.Info("Количество ПБР !=7. Отправка в автооператор не производится"); } else { foreach (MCPBRData pbr in ProcessedPBRS.Values) { pbr.CreateData(); pbr.addAutooperData(AutooperData); } Logger.Info("АО кол.строк " + AutooperData.Count); if (AutooperData.Count == 100) { Logger.Info("Отправка в АО кол.строк "); try { sendAutooperData(); Logger.Info("Данный отправлены в АО"); } catch (Exception e) { Logger.Info("Ошибка при отправке данных в АО"); Logger.Info(e.ToString()); } } else { Logger.Info("Неверное количество данных в АО"); } } } //return; if (ok) { Logger.Info("Зaпись ПБР в Базу"); foreach (MCPBRData pbr in ProcessedPBRS.Values) { try { pbr.CreateData(); bool okWrite = false; int i = 0; while (!okWrite && i < 3) { Logger.Info(String.Format("Запись {0} ПБР. Попытка {1}", pbr.Item, i)); okWrite = pbr.ProcessData(); i++; } } catch { Logger.Info("Ошибка при записи ПБР в базу"); } } Logger.Info("Запись номера ПБР"); DateTime ds = DateTime.Now; DateTime de = this.Date.AddDays(1); List <ShadeSelector> sel = new List <ShadeSelector>(); sel.Add(new ShadeSelector() { period = new TimePeriod() { from = new Timestamp() { second = EDSClass.toTS(ds) }, till = new Timestamp() { second = EDSClass.toTS(de) } }, pointId = new PointId() { iess = "NPBR.EDS@CALC" } }); Logger.Info("Удаление номера ПБР"); uint id = EDSClass.Client.requestShadesClear(EDSClass.AuthStr, sel.ToArray()); ok = EDSClass.ProcessQuery(id); if (ok) { List <Shade> shades = new List <Shade>(); List <ShadeValue> vals = new List <ShadeValue>(); vals.Add(new ShadeValue() { period = new TimePeriod() { from = new Timestamp() { second = EDSClass.toTS(ds) }, till = new Timestamp() { second = EDSClass.toTS(de) } }, quality = Quality.QUALITYGOOD, value = new PointValue() { av = NPBR, avSpecified = true } }); shades.Add(new Shade() { pointId = new PointId() { iess = "NPBR.EDS@CALC" }, values = vals.ToArray() }); Logger.Info("Запись данных"); id = EDSClass.Client.requestShadesWrite(EDSClass.AuthStr, shades.ToArray()); ok = EDSClass.ProcessQuery(id); } } } catch (Exception e) { Logger.Info("Ошибка при получении ПБР с сервера MC " + e); } finally { ModesApiFactory.CloseConnection(); } }