/// <summary> /// Добавление Налоговое администрирование\Физические лица\2.01. Сведения о доходах ФЛ\4.01. Доходы и вычеты по месяцам /// </summary> /// <param name="ndfl">Картотека счетов</param> /// <param name="innUl">ИНН</param> public void AddNdflDataBase(XsdShemeSqlLoad.XsdAllBodyData.ArrayBodyDoc ndfl, 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(); ndfl.NdflFl.ToList().ForEach(ndFl => ndFl.IdUl = idUl); } if (ndfl.NdflFl[0].IdUl != 0) { //Удаляем старые записи по выписке заполняем новыми using (var contextDelete = new Base.Automation()) { contextDelete.Database.CommandTimeout = 120000; contextDelete.NdflFls.RemoveRange(contextDelete.NdflFls.Where(x => x.IdUl == idUl)); contextDelete.SaveChanges(); } XmlReadOrWrite xml = new XmlReadOrWrite(); var xsdFile = $"{ConfigurationManager.AppSettings["PathXsdScheme"]}XsdAllBodyData.xsd"; var xmlFile = $"{ConfigurationManager.AppSettings["PathDownloadTempXml"]}CashData.xml"; xml.CreateXmlFile(xmlFile, ndfl, typeof(XsdShemeSqlLoad.XsdAllBodyData.ArrayBodyDoc)); BulkInsertIntoDb(xsdFile, xmlFile); } //Отсутствует лицо сохранение не возможно }
/// <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(); } } }