/// <summary> /// Загрузка деклараций всех в БД /// </summary> /// <param name="declarationAll">Декларации</param> /// <param name="declarationData">Массив строк декларации</param> public void AddDeclarationAllModel(DeclarationAll declarationAll, ArrayBodyDoc declarationData) { if (!(from declarationAlls in Automation.DeclarationAlls where declarationAlls.RegNumDecl == declarationAll.RegNumDecl select new { DeclarationAlls = declarationAlls }).Any()) { XmlReadOrWrite xml = new XmlReadOrWrite(); var xsdFile = $"{ConfigurationManager.AppSettings["PathXsdScheme"]}XsdAllBodyData.xsd"; var xmlFile = $"{ConfigurationManager.AppSettings["PathDownloadTempXml"]}DeclarationDataAll.xml"; xml.CreateXmlFile(xmlFile, declarationData, typeof(XsdShemeSqlLoad.XsdAllBodyData.ArrayBodyDoc)); Automation.DeclarationAlls.Add(declarationAll); try { Automation.SaveChanges(); BulkInsertIntoDb(xsdFile, xmlFile); } catch (DbEntityValidationException ex) { foreach (DbEntityValidationResult validationError in ex.EntityValidationErrors) { Trace.WriteLine(validationError.Entry.Entity.ToString()); Trace.WriteLine(""); foreach (DbValidationError err in validationError.ValidationErrors) { Trace.WriteLine(err.ErrorMessage); } } } } //Обновление данных и внутренних полей не требуется }
public void MemoGen() { MemoReport memo = new MemoReport(); // memo.CreateDocument("D:\\Testing\\",null,null); ModelMemoReport memoReport = new ModelMemoReport() { SelectParameterDocument = new SelectParameterDocument() { IdUser = 33, NameDocument = "RR", NumberDocument = 4, TabelNumber = "7751-00-099", TypeDocument = 1 } }; SelectSql select = new SelectSql(); SelectImns selectFrames = new SelectImns(); SqlConnectionType sql = new SqlConnectionType(); XmlReadOrWrite xml = new XmlReadOrWrite(); select.SelectMemoReport(ref memoReport); var commandOrders = string.Format(selectFrames.LastOrder, memoReport.UserDepartment.SmallTabelNumber); var userOrder = sql.XmlString("Data Source=i7751-app020;Initial Catalog=imns51;Integrated Security=True;MultipleActiveResultSets=True", commandOrders); if (userOrder != null) { userOrder = string.Concat("<Orders>", userOrder, "</Orders>"); memoReport.UserDepartment.Orders = ((Orders)xml.ReadXmlText(userOrder, typeof(Orders))); } memo.CreateDocument("D:\\Testing\\", memoReport); }
/// <summary> /// Добавление выписок в БД /// </summary> /// <param name="cashBankAllUlFace">Выписки</param> /// <param name="innUl">ИНН ЮЛ</param> public void AddCashBankAllUlFace(ArrayBodyDoc cashBankAllUlFace, string innUl) { //ИНН Есть ли лицо int idUl; using (var context = new Base.Automation()) { context.Database.CommandTimeout = 120000; idUl = (from users in context.UlFaces where users.Inn == innUl select users.IdUl).SingleOrDefault(); cashBankAllUlFace.CashBankAllUlFace.ToList().ForEach(cashBank => cashBank.IdUl = idUl); } if (cashBankAllUlFace.CashBankAllUlFace[0].IdUl != 0) { //Удаляем старые записи по выписке заполняем новыми using (var contextDelete = new Base.Automation()) { contextDelete.Database.CommandTimeout = 120000; contextDelete.CashBankAllUlFaces.RemoveRange(contextDelete.CashBankAllUlFaces.Where(x => x.IdUl == idUl)); contextDelete.SaveChanges(); } XmlReadOrWrite xml = new XmlReadOrWrite(); var xsdFile = $"{ConfigurationManager.AppSettings["PathXsdScheme"]}XsdAllBodyData.xsd"; var xmlFile = $"{ConfigurationManager.AppSettings["PathDownloadTempXml"]}CashDataBank.xml"; xml.CreateXmlFile(xmlFile, cashBankAllUlFace, typeof(ArrayBodyDoc)); BulkInsertIntoDb(xsdFile, xmlFile); } //Отсутствует лицо сохранение не возможно }
/// <summary> /// Сохранение отчета по Информации о ролях и ветках /// </summary> /// <param name="pathReport">Путь сохранения файла с информацией о ролями</param> /// <param name="infoRuleTemplate">Шаблон Подсистем</param> public static void CreateFileInfoRuleTemplate(string pathReport, InfoRuleTemplate infoRuleTemplate) { if (File.Exists(pathReport)) { XmlReadOrWrite read = new XmlReadOrWrite(); read.AddInfoRuleTemplate(pathReport, infoRuleTemplate); } else { var convert = new Converts.ConvettToXml.XmlConvert(); convert.SerializerClassToXml(pathReport, infoRuleTemplate, typeof(InfoRuleTemplate)); } }
/// <summary> /// Сохранение Отчета по миграции /// </summary> /// <param name="pathreport">Путь сохранения файла с ролями</param> /// <param name="userrule">Роли и пользователи</param> public static void CreateFileRule(string pathreport, UserRules userrule) { if (File.Exists(pathreport)) { XmlReadOrWrite read = new XmlReadOrWrite(); read.AddRuleUsers(pathreport, userrule); } else { var convert = new Converts.ConvettToXml.XmlConvert(); convert.SerializerClassToXml(pathreport, userrule, typeof(UserRules)); } }
/// <summary> /// Проверка наличия журнала сделаных /// </summary> /// <param name="reportMigration">Путь к отчету с ошибками о миграции</param> /// <param name="report">Модель отчета о миграциии</param> public static void CreateReportMigration(string reportMigration, MigrationParse report) { if (File.Exists(reportMigration)) { XmlReadOrWrite read = new XmlReadOrWrite(); read.AddReportMigrationElemrnt(reportMigration, report); } else { var convert = new Converts.ConvettToXml.XmlConvert(); convert.SerializerClassToXml(reportMigration, report, typeof(MigrationParse)); } }
/// <summary> /// Проверка наличия журнала ошибок /// </summary> /// <param name="pathjurnal">Путь к журналу</param> /// <param name="znacenie">Обрабоатываемое значение</param> /// <param name="branch">Ветка в которой отрабатывае</param> /// <param name="error">Ошибка</param> public static void JurnalError(string pathjurnal, string znacenie, string branch, string error) { if (File.Exists(pathjurnal)) { XmlReadOrWrite read = new XmlReadOrWrite(); read.AddElementError(pathjurnal, znacenie, branch, error); } else { var convert = new Converts.ConvettToXml.XmlConvert(); convert.CreateJurnalError(pathjurnal, znacenie, branch, error); } }
/// <summary> /// Проверка наличия журнала сделаных /// </summary> /// <param name="pathjurnal">Путь к журналу</param> /// <param name="znacenie">Обрабоатываемое значение</param> /// <param name="ok">Параметр что сделали</param> public static void JurnalOk(string pathjurnal, string znacenie, string ok) { if (File.Exists(pathjurnal)) { XmlReadOrWrite read = new XmlReadOrWrite(); read.AddElementOk(pathjurnal, znacenie, ok); } else { var convert = new Converts.ConvettToXml.XmlConvert(); convert.CreateJurnalOk(pathjurnal, znacenie, ok); } }
public void TestOfficialXlsx() { ReportCardModel model = new ReportCardModel() { SettingParameters = new SettingParameters() { TabelNumber = "7751-00-548", Year = 2021, IdDepartment = 8, Type = new Type() { IdType = 1, NameType = "Полный" }, View = new View() { IdView = 0, NameView = "Первичный" }, Mouth = new Mouth() { NumberMouthString = "09", NameMouth = "Сентябрь", NumberMouth = 9 } } }; SqlConnectionType sql = new SqlConnectionType(); SelectImns selectFrames = new SelectImns(); XmlReadOrWrite xml = new XmlReadOrWrite(); SelectSql select = new SelectSql(); select.SelectCardModelLeader(ref model); var command = string.Format(selectFrames.UserReportCard, model.SettingParameters.LeaderD.NameDepartment, $"{model.SettingParameters.Year}-{model.SettingParameters.Mouth.NumberMouthString}-01"); var userReportCard = sql.XmlString("Data Source=i7751-app020;Initial Catalog=imns51;Integrated Security=True;MultipleActiveResultSets=True", command); userReportCard = string.Concat("<SettingParameters>", userReportCard, "</SettingParameters>"); model.SettingParameters.UsersReportCard = ((SettingParameters)xml.ReadXmlText(userReportCard, typeof(SettingParameters))).UsersReportCard; foreach (var usersReportCard in model.SettingParameters.UsersReportCard) { var commandVacation = string.Format(selectFrames.ItemVacationNew, usersReportCard.Tab_num, $"{model.SettingParameters.Year}", $"{model.SettingParameters.Year}"); var userVacation = sql.XmlString("Data Source=i7751-app020;Initial Catalog=imns51;Integrated Security=True;MultipleActiveResultSets=True", commandVacation); userVacation = string.Concat("<UsersReportCard>", userVacation, "</UsersReportCard>"); usersReportCard.ItemVacation = ((UsersReportCard)xml.ReadXmlText(userVacation, typeof(UsersReportCard))).ItemVacation; var commandDisability = string.Format(selectFrames.Disability, usersReportCard.Tab_num, $"{model.SettingParameters.Year}"); var userDisability = sql.XmlString("Data Source=i7751-app020;Initial Catalog=imns51;Integrated Security=True;MultipleActiveResultSets=True", commandDisability); userDisability = string.Concat("<UsersReportCard>", userDisability, "</UsersReportCard>"); usersReportCard.Disability = ((UsersReportCard)xml.ReadXmlText(userDisability, typeof(UsersReportCard))).Disability; var commandBusiness = string.Format(selectFrames.Business, usersReportCard.Tab_num, $"{model.SettingParameters.Year}"); var userBusiness = sql.XmlString("Data Source=i7751-app020;Initial Catalog=imns51;Integrated Security=True;MultipleActiveResultSets=True", commandBusiness); userBusiness = string.Concat("<UsersReportCard>", userBusiness, "</UsersReportCard>"); usersReportCard.Business = ((UsersReportCard)xml.ReadXmlText(userBusiness, typeof(UsersReportCard))).Business; } ReportCard report = new ReportCard(); report.CreateDocument("D:\\Testing\\", model); }
/// <summary> /// Загрузка сведений по фактическому действию патента /// </summary> /// <param name="docPatent">Модель для загрузки сведений по фактическому действию патента</param> public void AddSvedFactPatent(ArrayBodyDoc docPatent) { var index = docPatent.SvedFactPatent[0].IdPatent; if (index != 0) { Automation.SvedFactPatents.RemoveRange(Automation.SvedFactPatents.Where(x => x.IdPatent == index)); Automation.SaveChanges(); XmlReadOrWrite xml = new XmlReadOrWrite(); var xsdFile = $"{ConfigurationManager.AppSettings["PathXsdScheme"]}XsdAllBodyData.xsd"; var xmlFile = $"{ConfigurationManager.AppSettings["PathDownloadTempXml"]}SvedFactPatent.xml"; xml.CreateXmlFile(xmlFile, docPatent, typeof(ArrayBodyDoc)); BulkInsertIntoDb(xsdFile, xmlFile); } }
/// <summary> /// Добавление в БД Книги Продаж /// </summary> /// <param name="books">Книга</param> /// <param name="bookPurchase">Книга продаж</param> public void AddBookPurchase(ref Book books, ArrayBodyDoc bookPurchase) { var book = books; bookPurchase.BookPurchase.ToList().ForEach(sales => sales.IdBook = book.IdBook); using (var contextDelete = new Base.Automation()) { contextDelete.Database.CommandTimeout = 120000; contextDelete.BookPurchases.RemoveRange(contextDelete.BookPurchases.Where(x => x.IdBook == book.IdBook)); contextDelete.SaveChanges(); } XmlReadOrWrite xml = new XmlReadOrWrite(); var xsdFile = $"{ConfigurationManager.AppSettings["PathXsdScheme"]}XsdAllBodyData.xsd"; var xmlFile = $"{ConfigurationManager.AppSettings["PathDownloadTempXml"]}bookPurchase.xml"; xml.CreateXmlFile(xmlFile, bookPurchase, typeof(ArrayBodyDoc)); BulkInsertIntoDb(xsdFile, xmlFile); UpdeteBookPurchase(ref books); }
/// <summary> /// Сохранение отчета по Информации о пользователях и их ролях и шаблонах /// </summary> /// <param name="path">Путь сохранения</param> /// <param name="infoUserTemlateAndRule">Шаблоны пользователей и ролей</param> public static void CreateFileInfoUserRuleTemplate(string pathReport, InfoUserTemlateAndRule infoUserTemlateAndRule) { if (File.Exists(pathReport)) { XmlReadOrWrite read = new XmlReadOrWrite(); if (infoUserTemlateAndRule.Users != null) { read.AddInfoUserRuleTemplate(pathReport, infoUserTemlateAndRule); } if (infoUserTemlateAndRule.Template != null) { read.AddInfoRuleTemplate(pathReport, infoUserTemlateAndRule); } } else { var convert = new Converts.ConvettToXml.XmlConvert(); convert.SerializerClassToXml(pathReport, infoUserTemlateAndRule, typeof(InfoUserTemlateAndRule)); } }
/// <summary> /// Выполнение процедуры возвращающая xml файл для разбора на web UI /// </summary> /// <param name="model">Модель выборки</param> /// <returns></returns> public ModelSelect ResultSelectProcedureString <T>(ModelSelect model) { try { var xml = new XmlReadOrWrite(); SerializeJson serializeJson = new SerializeJson(); var result = Automation.Database.SqlQuery <string>(model.ParameterProcedureWeb.SelectUser, new SqlParameter(model.ParameterProcedureWeb.ParameterProcedure.Split(',')[0], model.ParametrsSelect.IdCodeProcedure), new SqlParameter(model.ParameterProcedureWeb.ParameterProcedure.Split(',')[1], string.IsNullOrWhiteSpace(model.ParametrsSelect.Inn) ? (object)DBNull.Value : model.ParametrsSelect.Inn), new SqlParameter(model.ParameterProcedureWeb.ParameterProcedure.Split(',')[2], model.ParametrsSelect.RegNumber)).ToArray(); var resultServer = (T)xml.ReadXmlText(string.Join("", result), typeof(T)); model.ResultSelectProcedureWeb = serializeJson.JsonLibrary(resultServer); return(model); } catch (Exception e) { Loggers.Log4NetLogger.Error(e); return(null); } }
/// <summary> /// Проверка наличия журнала сделаных /// </summary> /// <param name="pathjurnal">Путь к журналу</param> /// <param name="znacenie">Обрабоатываемое значение</param> /// <param name="ok">Параметр что сделали</param> public static void JurnalOk(string pathjurnal, string znacenie, string ok) { try { if (File.Exists(pathjurnal)) { XmlReadOrWrite read = new XmlReadOrWrite(); read.AddElementOk(pathjurnal, znacenie, ok); } else { var convert = new Converts.ConvettToXml.XmlConvert(); convert.CreateJurnalOk(pathjurnal, znacenie, ok); } } catch (Exception e) { System.Windows.Forms.MessageBox.Show(e.ToString()); } }
/// <summary> /// Добавление деклараций на все /// </summary> /// <param name="declarationUl">Основа декларации</param> /// <param name="declarationData">Массив строк декларации</param> /// <param name="innUl">ИНН</param> public void AddDeclarationModel(DeclarationUl declarationUl, ArrayBodyDoc declarationData, string innUl) { using (var context = new Base.Automation()) { context.Database.CommandTimeout = 120000; var idUl = (from users in context.UlFaces where users.Inn == innUl select users.IdUl).SingleOrDefault(); declarationUl.IdUl = idUl; } if (declarationUl.IdUl != 0) { if (!(from declarationUls in Automation.DeclarationUls where declarationUls.RegNumDecl == declarationUl.RegNumDecl select new { DeclarationUls = declarationUls }).Any()) { XmlReadOrWrite xml = new XmlReadOrWrite(); var xsdFile = $"{ConfigurationManager.AppSettings["PathXsdScheme"]}XsdAllBodyData.xsd"; var xmlFile = $"{ConfigurationManager.AppSettings["PathDownloadTempXml"]}DeclarationData.xml"; xml.CreateXmlFile(xmlFile, declarationData, typeof(XsdShemeSqlLoad.XsdAllBodyData.ArrayBodyDoc)); Automation.DeclarationUls.Add(declarationUl); try { Automation.SaveChanges(); BulkInsertIntoDb(xsdFile, xmlFile); } catch (DbEntityValidationException ex) { foreach (DbEntityValidationResult validationError in ex.EntityValidationErrors) { Trace.WriteLine(validationError.Entry.Entity.ToString()); Trace.WriteLine(""); foreach (DbValidationError err in validationError.ValidationErrors) { Trace.WriteLine(err.ErrorMessage); } } } } //Обновление данных и внутренних полей не требуется } //Отсутствует лицо сохранение не возможно }
/// <summary> /// Обновление или добавление в таблицу модель оборудования АКСИОК /// </summary> /// <param name="equipmentModels">Модель оборудования</param> /// <param name="typeXml">Тип разборки xml</param> /// <param name="idType">Ун типа</param> /// <param name="idProduct">Ун продукта</param> public void AddAndUpdateFullLoadAksiok <T>(T equipmentModels, string typeXml, int idType = 0, int idProduct = 0) { XmlReadOrWrite xmlConvert = new XmlReadOrWrite(); Inventory.Database.ExecuteSqlCommand(LogicaSelect.SelectUser, new SqlParameter(LogicaSelect.SelectedParametr.Split(',')[0], SqlDbType.Xml) { Value = equipmentModels == null ? SqlXml.Null : new SqlXml(new XmlTextReader(xmlConvert.ClassToXml(equipmentModels, equipmentModels.GetType()), XmlNodeType.Document, null)) }, new SqlParameter(LogicaSelect.SelectedParametr.Split(',')[1], SqlDbType.VarChar) { Value = typeXml }, new SqlParameter(LogicaSelect.SelectedParametr.Split(',')[2], SqlDbType.Int) { Value = idType }, new SqlParameter(LogicaSelect.SelectedParametr.Split(',')[3], SqlDbType.Int) { Value = idProduct }); }
/// <summary> /// Добавление данных в выписку Внутрянка /// </summary> /// <param name="statementFull">Body Statement</param> /// <param name="innUl">ИНН</param> public void AddStatementFull(XsdShemeSqlLoad.XsdAllBodyData.ArrayBodyDoc statementFull, string innUl) { //ИНН Есть ли лицо int idUl; using (var context = new Base.Automation()) { context.Database.CommandTimeout = 120000; idUl = (from users in context.UlFaces where users.Inn == innUl select users.IdUl).SingleOrDefault(); statementFull.StatementData.ToList().ForEach(state => state.IdUl = idUl); } if (statementFull.StatementData[0].IdUl != 0) { ////Удаляем старые записи по выписке заполняем новыми using (var contextDelete = new Base.Automation()) { contextDelete.Database.CommandTimeout = 120000; contextDelete.StatementFulls.RemoveRange(contextDelete.StatementFulls.Where(x => x.IdUl == idUl)); contextDelete.SaveChanges(); } XmlReadOrWrite xml = new XmlReadOrWrite(); var xsdFile = $"{ConfigurationManager.AppSettings["PathXsdScheme"]}XsdAllBodyData.xsd"; var xmlFile = $"{ConfigurationManager.AppSettings["PathDownloadTempXml"]}DeclarationData.xml"; xml.CreateXmlFile(xmlFile, statementFull, typeof(ArrayBodyDoc)); BulkInsertIntoDb(xsdFile, xmlFile); } //Процедура вытягивания учредителей и Руководителей Цель Выписки и Карточки организации var logicModel = Automation.LogicsSelectAutomations.FirstOrDefault(logic => logic.Id == 9); if (logicModel != null) { using (var context = new Base.Automation()) { context.Database.CommandTimeout = 120000; var resultDb = context.Database.SqlQuery <string>(logicModel.SelectUser, new SqlParameter(logicModel.SelectedParametr.Split(',')[0], innUl)).FirstOrDefault(); } } }
/// <summary> /// Получение данных для клиента на парсинг значений /// </summary> /// <param name="idTemplate">Уникальные номера шаблонов</param> /// <returns></returns> public List <LibaryXMLAutoModelXmlSql.PreCheck.Ifns51.FromAis.SrvToLoad> LoadModelPreCheck(string idTemplate) { try { var xml = new XmlReadOrWrite(); var logicModel = Automation.LogicsSelectAutomations.FirstOrDefault(logic => logic.Id == 5); if (logicModel != null) { var sqlSelectModel = logicModel.SelectUser.Replace(logicModel.SelectedParametr.Split(',')[0], idTemplate); var result = Automation.Database.SqlQuery <string>(sqlSelectModel)?.ToArray(); if (result?[0] != null) { var resultServer = ((ArrayOfSrvToLoad)xml.ReadXmlText(string.Join("", result), typeof(ArrayOfSrvToLoad))).SrvToLoad.ToList(); return(resultServer); } } } catch (Exception ex) { Loggers.Log4NetLogger.Error(ex); } return(null); }
/// <summary> /// Это для инвентаризации выборка /// </summary> /// <param name="logic">Логика</param> /// <returns></returns> public string SqlModelInventory <T>(LogicaSelect logic) { SerializeJson serializeJson = new SerializeJson(); object result; string resultModel; Inventory.Database.CommandTimeout = 120000; if (logic.IsResultXml) { var xml = new XmlReadOrWrite(); result = Inventory.Database.SqlQuery <string>(logic.SelectUser).ToArray(); var resultXml = (T)xml.ReadXmlText(string.Join("", (string[])result), typeof(T)); resultModel = serializeJson.JsonLibrary(resultXml, "dd.MM.yyyy HH:mm"); } else { result = Inventory.Database.SqlQuery <T>(logic.SelectUser).ToList(); dynamic expand = new ExpandoObject(); AddProperty(expand, typeof(T).Name, result); resultModel = serializeJson.JsonLibrary(expand, "dd.MM.yyyy HH:mm"); } return(resultModel); }
/// <summary> /// Выполнение запроса и конвертация его в JSON /// </summary> /// <param name="sqlSelect">Выборка пользовательская из таблицы LogicsSelectAutomation</param> /// <returns></returns> public string SqlModelAutomation <T>(SelectParametrSheme.LogicsSelectAutomation sqlSelect) { SerializeJson serializeJson = new SerializeJson(); object result; string resultModel; Automation.Database.CommandTimeout = 120000; if (sqlSelect.IsResultXml) { var xml = new XmlReadOrWrite(); result = Automation.Database.SqlQuery <string>(sqlSelect.SelectUser).ToArray(); var resultXml = (T)xml.ReadXmlText(string.Join("", (string[])result), typeof(T)); resultModel = serializeJson.JsonLibrary(resultXml, "dd.MM.yyyy HH:mm"); } else { result = Automation.Database.SqlQuery <T>(sqlSelect.SelectUser).ToList(); dynamic expand = new ExpandoObject(); AddProperty(expand, typeof(T).Name, result); resultModel = serializeJson.JsonLibrary(expand, "dd.MM.yyyy HH:mm"); } return(resultModel); }
public void AllIpTelephoneAndMacAdress() { var ipModel = "10.77.67.{0}"; var i = 2; var listIp = new List <IpAndMac>(); var xmlWrite = new XmlReadOrWrite(); while (i < 255) { var mac = new IpAndMac(); var ipAdress = string.Format(ipModel, i); try { IPAddress[] address = Dns.GetHostAddresses(ipAdress); byte[] ab = new byte[6]; int len = ab.Length; SendARP(BitConverter.ToInt32(address[0].GetAddressBytes(), 0), 0, ab, ref len); string[] macAddressString = new string[(int)len]; for (int j = 0; j < len; j++) { macAddressString[i] = ab[i].ToString("x2"); } mac.Ip = ipAdress; mac.Mac = string.Join(":", macAddressString); } catch (Exception exception) { mac.Ip = ipAdress; mac.Mac = "Mac не определен"; } i++; listIp.Add(mac); } xmlWrite.CreateXmlFile("D:\\Telephone.xml", listIp, typeof(List <IpAndMac>)); }
public void TestPrintServer() { Select auto = new Select(); var ping = new Ping(); XmlReadOrWrite xml = new XmlReadOrWrite(); var t = auto.AllFullModel(); var printServer = new PrintServer(@"\\i7751-sys030"); var prQueue = printServer.GetPrintQueues(); var allSerNumber = auto.AllSerNumber(); var listPrinters = (from printer in prQueue select new Printers() { Description = printer.Description, Name = printer.Name, Ip = "10.177.172." + Regex.Match(printer.QueuePort.Name, @"(\d+)(?!.*\d)").Value, HasToner = printer.HasToner } ).ToList(); //foreach (var fullModel in t) //{ // var findModel = Regex.Match(fullModel.NameModel, @"(\d+)(?!.*\d)").Value; // foreach (var pr in listPrinters) // { // if (pr.Description.Contains(findModel)) // { // pr.ModelId = fullModel.IdModel; // pr.FullUrl = // string.Format( // string.IsNullOrWhiteSpace(fullModel.UrlModel) ? "http://{0}" : fullModel.UrlModel, // pr.Ip); // pr.IdClass = fullModel.IdClasification; // PingReply pingReply = null; // pingReply = ping.Send(pr.Ip); // // if (pr.Ip == "10.177.172.149") // //{ // if (pingReply.Status == IPStatus.Success) // { // pr.SerialNumber = StepTraining(allSerNumber, pr.FullUrl); // Dispose(); // } // else // { // pr.Error = "Удаленный IP не пингуется"; // } // // } // } // } //} //xml.CreateXmlFile("D:\\Test.xml", listPrinters, typeof(List<Printers>)); //auto.Dispose(); //var mfuSerNum = new List<string>() //{ // "3389259968", // "3389258155", // "3389258163", // "5311734336", // "5311734360", // "5311734220", // "5311734263", // "3398312405", // "VNC3X07936" //}; //StepTraining(mfuSerNum, "https://10.177.172.136/DevMgmt/ProductConfigDyn.xml"); // }
/// <summary> /// Собираем модель карточки (полная) /// </summary> /// <param name="inn">ИНН</param> /// <param name="year">Год выгрузки</param> /// <returns></returns> public CardFaceUl CardUi(string inn, int year) { try { var xml = new XmlReadOrWrite(); var cardFace = new CardFaceUl() { Card = new Card() }; Automation.Database.CommandTimeout = 120000; var logicModel = Automation.LogicsSelectAutomations.FirstOrDefault(logic => logic.Id == 8); if (logicModel != null) { cardFace.FaceUl = Automation.Database.SqlQuery <FaceUl>(logicModel.SelectUser, new SqlParameter(logicModel.SelectedParametr.Split(',')[0], inn), new SqlParameter(logicModel.SelectedParametr.Split(',')[1], 1), new SqlParameter(logicModel.SelectedParametr.Split(',')[2], year)).FirstOrDefault(); cardFace.BranchUlFace = Automation.Database.SqlQuery <BranchUlFace>(logicModel.SelectUser, new SqlParameter(logicModel.SelectedParametr.Split(',')[0], inn), new SqlParameter(logicModel.SelectedParametr.Split(',')[1], 2), new SqlParameter(logicModel.SelectedParametr.Split(',')[2], year)).ToArray(); cardFace.Card.List1Card = Automation.Database.SqlQuery <List1Card>(logicModel.SelectUser, new SqlParameter(logicModel.SelectedParametr.Split(',')[0], inn), new SqlParameter(logicModel.SelectedParametr.Split(',')[1], 3), new SqlParameter(logicModel.SelectedParametr.Split(',')[2], year)).ToArray(); cardFace.HistoriUlFace = Automation.Database.SqlQuery <HistoriUlFace>(logicModel.SelectUser, new SqlParameter(logicModel.SelectedParametr.Split(',')[0], inn), new SqlParameter(logicModel.SelectedParametr.Split(',')[1], 4), new SqlParameter(logicModel.SelectedParametr.Split(',')[2], year)).ToArray(); cardFace.CashUlFace = Automation.Database.SqlQuery <CashUlFace>(logicModel.SelectUser, new SqlParameter(logicModel.SelectedParametr.Split(',')[0], inn), new SqlParameter(logicModel.SelectedParametr.Split(',')[1], 5), new SqlParameter(logicModel.SelectedParametr.Split(',')[2], year)).ToArray(); cardFace.CashBankSpr = Automation.Database.SqlQuery <CashBankSpr>(logicModel.SelectUser, new SqlParameter(logicModel.SelectedParametr.Split(',')[0], inn), new SqlParameter(logicModel.SelectedParametr.Split(',')[1], 6), new SqlParameter(logicModel.SelectedParametr.Split(',')[2], year)).ToArray(); cardFace.Card.List2Card = Automation.Database.SqlQuery <List2Card>(logicModel.SelectUser, new SqlParameter(logicModel.SelectedParametr.Split(',')[0], inn), new SqlParameter(logicModel.SelectedParametr.Split(',')[1], 7), new SqlParameter(logicModel.SelectedParametr.Split(',')[2], year)).ToArray(); var rukAndUcrh = Automation.Database.SqlQuery <string>(logicModel.SelectUser, new SqlParameter(logicModel.SelectedParametr.Split(',')[0], inn), new SqlParameter(logicModel.SelectedParametr.Split(',')[1], 8), new SqlParameter(logicModel.SelectedParametr.Split(',')[2], year)).ToArray(); if (rukAndUcrh[0] != null) { var res = (CardFaceUl)xml.ReadXmlText(string.Join("", rukAndUcrh), typeof(CardFaceUl)); cardFace.RukAndUcrh = res.RukAndUcrh; } cardFace.ImZmTrUl = Automation.Database.SqlQuery <ImZmTrUl>(logicModel.SelectUser, new SqlParameter(logicModel.SelectedParametr.Split(',')[0], inn), new SqlParameter(logicModel.SelectedParametr.Split(',')[1], 9), new SqlParameter(logicModel.SelectedParametr.Split(',')[2], year)).ToArray(); cardFace.Active = Automation.Database.SqlQuery <Active>(logicModel.SelectUser, new SqlParameter(logicModel.SelectedParametr.Split(',')[0], inn), new SqlParameter(logicModel.SelectedParametr.Split(',')[1], 10), new SqlParameter(logicModel.SelectedParametr.Split(',')[2], year)).ToArray(); cardFace.Balans = Automation.Database.SqlQuery <Balans>(logicModel.SelectUser, new SqlParameter(logicModel.SelectedParametr.Split(',')[0], inn), new SqlParameter(logicModel.SelectedParametr.Split(',')[1], 11), new SqlParameter(logicModel.SelectedParametr.Split(',')[2], year)).ToArray(); cardFace.Profit = Automation.Database.SqlQuery <Profit>(logicModel.SelectUser, new SqlParameter(logicModel.SelectedParametr.Split(',')[0], inn), new SqlParameter(logicModel.SelectedParametr.Split(',')[1], 12), new SqlParameter(logicModel.SelectedParametr.Split(',')[2], year)).ToArray(); cardFace.Nds = Automation.Database.SqlQuery <Nds>(logicModel.SelectUser, new SqlParameter(logicModel.SelectedParametr.Split(',')[0], inn), new SqlParameter(logicModel.SelectedParametr.Split(',')[1], 13), new SqlParameter(logicModel.SelectedParametr.Split(',')[2], year)).ToArray(); cardFace.FlRukUcrh = Automation.Database.SqlQuery <FlRukUcrh>(logicModel.SelectUser, new SqlParameter(logicModel.SelectedParametr.Split(',')[0], inn), new SqlParameter(logicModel.SelectedParametr.Split(',')[1], 14), new SqlParameter(logicModel.SelectedParametr.Split(',')[2], year)).ToArray(); cardFace.SummaryBankSales = Automation.Database.SqlQuery <SummaryBankSales>(logicModel.SelectUser, new SqlParameter(logicModel.SelectedParametr.Split(',')[0], inn), new SqlParameter(logicModel.SelectedParametr.Split(',')[1], 15), new SqlParameter(logicModel.SelectedParametr.Split(',')[2], year)).ToArray(); cardFace.SummaryBankPurchase = Automation.Database.SqlQuery <SummaryBankPurchase>(logicModel.SelectUser, new SqlParameter(logicModel.SelectedParametr.Split(',')[0], inn), new SqlParameter(logicModel.SelectedParametr.Split(',')[1], 16), new SqlParameter(logicModel.SelectedParametr.Split(',')[2], year)).ToArray(); } return(cardFace); } catch (Exception ex) { Loggers.Log4NetLogger.Error(ex); } return(null); }
/// <summary> /// Модель загрузки Шаблонов в БД по шаблону /// </summary> /// <typeparam name="T">Шаблон class to xml</typeparam> /// <param name="modelTemplate">Шаблон</param> /// <param name="idProcedureLoad">УН процедуры загрузки</param> /// <param name="idProcessBlock">УН процедуры процесса</param> /// <returns></returns> public ModelPathReport LoadModelToDataBase <T>(T modelTemplate, int idProcedureLoad, int idProcessBlock) { var report = new ModelPathReport(); try { var isProcessTrue = Inventory.EventProcesses.FirstOrDefault(complete => complete.Id == idProcessBlock); if (isProcessTrue == null) { throw new InvalidOperationException($"Фатальная ошибка отсутствует процесс Id - {idProcessBlock} в системе!"); } if (isProcessTrue.IsComplete == true) { var addObjectDb = new AddObjectDb.AddObjectDb(); var task = Task.Run(() => { ModelSelect model = new ModelSelect { LogicaSelect = SqlSelectModel(idProcedureLoad) }; XmlReadOrWrite xml = new XmlReadOrWrite(); addObjectDb.IsProcessComplete(idProcessBlock, false); using (var transaction = Inventory.Database.BeginTransaction()) { try { Inventory.Database.CommandTimeout = 18000; Inventory.Database.ExecuteSqlCommand(model.LogicaSelect.SelectUser, new SqlParameter(model.LogicaSelect.SelectedParametr.Split(',')[0], SqlDbType.Xml) { Value = new SqlXml(new XmlTextReader(xml.ClassToXml(modelTemplate, modelTemplate.GetType()), XmlNodeType.Document, null)) }); transaction.Commit(); Inventory.Dispose(); } catch (Exception e) { transaction.Rollback(); Inventory.Dispose(); Loggers.Log4NetLogger.Error(e); } } }); task.ConfigureAwait(true).GetAwaiter().OnCompleted((() => { addObjectDb.IsProcessComplete(idProcessBlock, true); addObjectDb.Dispose(); })); report.Note = $"{isProcessTrue.NameProcess} запущен!"; } else { report.Note = $"{isProcessTrue.NameProcess} уже запущен ожидайте окончание процесса!"; } } catch (Exception e) { report.Note = e.Message; Loggers.Log4NetLogger.Error(e); } return(report); }