예제 #1
0
        /// <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);
            }
            //Отсутствует лицо сохранение не возможно
        }
예제 #2
0
        /// <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();
                }
            }
        }