예제 #1
0
        public Response DeletePrintedDocTemplate(PrintedDocumentTemplate template)
        {
            try
            {
                _WriteLineConsole($"delete print template id:{template.Id}");

                using (var helper = new PrintedDocumentTemplateHelper())
                {
                    helper.DeleteTemplate(template);
                    return(new Response()
                    {
                        Message = "Печатная форма удалена"
                    });
                }
            }
            catch (Exception ex)
            {
                _WriteLineError($"delete printed doc template id:{template?.Id}", ex.Message);
                return(new Response()
                {
                    Error = true,
                    Message = ex.Message
                });
            }
        }
 public void DeleteTemplate(PrintedDocumentTemplate template)
 {
     try
     {
         CheckDeleteRight();
         Context.PrintedDocumentTemplates.Delete(template);
         Context.SaveChanges();
     }
     catch (AccessDeniedException)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Instance.Log(ex);
         throw new Exception("Не удалось удалить печатную форму, обратитесь к администратору");
     }
 }
 public int SaveTemplate(PrintedDocumentTemplate template)
 {
     try
     {
         CheckAddRight();
         Context.PrintedDocumentTemplates.AddOrUpdate(template);
         Context.SaveChanges();
         return(template.Id);
     }
     catch (AccessDeniedException)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Instance.Log(ex);
         throw new Exception("Не удалось сохранить печатную форму, обратитесь к администратору");
     }
 }
예제 #4
0
        public SaveEntityResult SavePrintedDocTemplate(PrintedDocumentTemplate template)
        {
            try
            {
                _WriteLineConsole($"save printed doc template id:{template.Id}");

                using (var helper = new PrintedDocumentTemplateHelper())
                {
                    return(new SaveEntityResult()
                    {
                        Id = helper.SaveTemplate(template)
                    });
                }
            }
            catch (Exception ex)
            {
                _WriteLineError($"save printed doc template id:{template?.Id}", ex.Message);
                return(new SaveEntityResult()
                {
                    Error = true,
                    Message = ex.Message
                });
            }
        }
예제 #5
0
        static void Main(string[] args)
        {
#warning ПРИ ИЗМЕНЕНИИ БД НЕ ЗАБУДЬ СОЗДАТЬ ТРИГЕРЫ
            using (var aimp = new aimpEntities())
            {
                using (var newDb = new SqlContext())
                {
                    newDb.StatusesCardTrancport.Add(new StatusCardTrancport()
                    {
                        Name = "В наличии"
                    });
                    newDb.StatusesCardTrancport.Add(new StatusCardTrancport()
                    {
                        Name = "Продана"
                    });
                    newDb.StatusesCardTrancport.Add(new StatusCardTrancport()
                    {
                        Name = "Зобрали с комиссии"
                    });

                    foreach (ШАБЛОНЫ шаблоны in aimp.ШАБЛОНЫ)
                    {
                        string type = string.Empty;
                        switch (шаблоны.типы_шаблонов)
                        {
                        case 1:
                            type = PrintedDocumentTemplateType.Сделка.ToString();
                            break;

                        case 2:
                            type = PrintedDocumentTemplateType.Кредит.ToString();
                            break;

                        case 3:
                            type = PrintedDocumentTemplateType.Дкп.ToString();
                            break;

                        case 4:
                            type = PrintedDocumentTemplateType.Акт.ToString();
                            break;

                        case 5:
                            type = PrintedDocumentTemplateType.Комиссия.ToString();
                            break;
                        }
                        PrintedDocumentTemplate reportTemplate = new PrintedDocumentTemplate()
                        {
                            Name     = шаблоны.наименование,
                            File     = шаблоны.файл,
                            FileName = шаблоны.файл_наим,
                            Type     = type
                        };
                        newDb.PrintedDocumentTemplates.Add(reportTemplate);
                    }

                    foreach (ОТЧЁТЫ_КЛИЕНТОВ отчётыКлиентов in aimp.ОТЧЁТЫ_КЛИЕНТОВ)
                    {
                        спр_СТАТУСЫ_КЛИЕНТОВ спрСтатусыКлиентов =
                            aimp.спр_СТАТУСЫ_КЛИЕНТОВ.First(
                                x => x.код == отчётыКлиентов.спр_статусы_клиентов);

                        спр_ПРОГРАММЫ_КРЕДИТОВАНИЯ программыКредитования =
                            aimp.спр_ПРОГРАММЫ_КРЕДИТОВАНИЯ.First(
                                x => x.код == отчётыКлиентов.спр_программы_кредитования);

                        ClientReport clientReport = new ClientReport()
                        {
                            Date              = отчётыКлиентов.дата ?? DateTime.Now,
                            Source            = отчётыКлиентов.источник,
                            FullName          = отчётыКлиентов.фио,
                            Price             = Convert.ToDecimal(отчётыКлиентов.стоимость),
                            TotalContribution =
                                Convert.ToDecimal(отчётыКлиентов.общий_взнос),
                            ClientStatus =
                                newDb.ClientStatuses.Local.FirstOrDefault(
                                    x => x.Name == спрСтатусыКлиентов.наименование) ??
                                new ClientStatus()
                            {
                                Name       = спрСтатусыКлиентов.наименование,
                                UsedFilter = nullBye(спрСтатусыКлиентов.фильтр)
                            },
                            Telefon        = отчётыКлиентов.телефон,
                            CreditProgramm =
                                newDb.CreditProgramms.Local.FirstOrDefault(
                                    x => x.Name == программыКредитования.наименование) ??
                                new CreditProgramm()
                            {
                                Name = программыКредитования.наименование
                            },
                            CreditSum         = Convert.ToDecimal(отчётыКлиентов.сумма_кредита),
                            CommissionKnow    = nullBye(отчётыКлиентов.комиссии_знает),
                            CommissionRemoval =
                                Convert.ToDecimal(отчётыКлиентов.комиссия_за_снятие),
                            CommissionCredit = nullBye(отчётыКлиентов.комиссии_в_кредите),
                            ActAssessment    = Convert.ToDecimal(отчётыКлиентов.акт_оценки),
                            DKP_DK           = отчётыКлиентов.дкп_дк,
                            Comment          = отчётыКлиентов.комментарий,
                            CommissionSalon  = отчётыКлиентов.комиссия_салона,
                            User             = NewUser(отчётыКлиентов.ПОЛЬЗОВАТЕЛИ1, newDb),
                            Trancport        = отчётыКлиентов.тс
                        };

                        foreach (БАНКИ_ДЛЯ_ОТЧЁТЫ_КЛИЕНТОВ банкиДляОтчётыКлиентов in отчётыКлиентов.БАНКИ_ДЛЯ_ОТЧЁТЫ_КЛИЕНТОВ)
                        {
                            BankReportClient bankReportClient = new BankReportClient();
                            bankReportClient.ClientReport = clientReport;
                            bankReportClient.Bank         =
                                newDb.Banks.Local.FirstOrDefault(
                                    x => x.Name == банкиДляОтчётыКлиентов.спр_БАНКИ_ОТЧЁТЫ_КЛИЕНТОВ1.наименование) ??
                                new Bank()
                            {
                                Name = банкиДляОтчётыКлиентов.спр_БАНКИ_ОТЧЁТЫ_КЛИЕНТОВ1.наименование
                            };

                            bankReportClient.BankStatus =
                                newDb.BankStatuses.Local.FirstOrDefault(
                                    x => x.Name == банкиДляОтчётыКлиентов.спр_СТАТУСЫ_БАНКА1.наименование) ??
                                new BankStatus()
                            {
                                Name       = банкиДляОтчётыКлиентов.спр_СТАТУСЫ_БАНКА1.наименование,
                                MiddleName = банкиДляОтчётыКлиентов.спр_СТАТУСЫ_БАНКА1.наименование2
                            };

                            bankReportClient.Used = банкиДляОтчётыКлиентов.используется == null
                                ? false
                                : банкиДляОтчётыКлиентов.используется == 1 ? true : false;

                            newDb.BankReportClients.Add(bankReportClient);
                        }
                    }


                    foreach (var сделка in aimp.СДЕЛКИ)
                    {
                        CashTransaction cash = new CashTransaction();

                        cash.Date   = сделка.дата ?? DateTime.Now;
                        cash.Number = Convert.ToInt32(сделка.номер);

                        if (сделка.КОНТРАГЕНТЫ1 != null)
                        {
                            cash.Buyer = NewContractor(сделка.КОНТРАГЕНТЫ1, newDb);
                        }

                        if (сделка.КОНТРАГЕНТЫ2 != null)
                        {
                            cash.Owner = NewContractor(сделка.КОНТРАГЕНТЫ2, newDb);
                        }

                        cash.Trancport = NewTrancport(сделка.ТРАНСПОРТ1, newDb);
                        cash.Price     = Convert.ToDecimal(сделка.стоимость);
                        cash.User      = NewUser(сделка.ПОЛЬЗОВАТЕЛИ1, newDb);

                        cash.DateProxy      = сделка.дата_доверенность;
                        cash.NumberProxy    = сделка.номер_доверенность;
                        cash.NumberRegistry = сделка.номер_реестр;

                        if (сделка.КОНТРАГЕНТЫ != null)
                        {
                            cash.Seller = NewContractor(сделка.КОНТРАГЕНТЫ, newDb);
                        }

                        switch (сделка.тип)
                        {
                        case 1:
                            newDb.CashTransactions.Add(cash);
                            break;

                        case 2:
                            CreditTransaction credit = new CreditTransaction()
                            {
                                Date           = cash.Date,
                                Number         = cash.Number,
                                Seller         = cash.Seller,
                                Buyer          = cash.Buyer,
                                Owner          = cash.Owner,
                                Trancport      = cash.Trancport,
                                Price          = cash.Price,
                                User           = cash.User,
                                DateProxy      = cash.DateProxy,
                                NumberProxy    = cash.NumberProxy,
                                NumberRegistry = cash.NumberRegistry
                            };
                            credit.AgentDocument = new UserFile()
                            {
                                Name = сделка.агенский_наим,
                                File = сделка.агенский
                            };
                            credit.DkpDocument = new UserFile()
                            {
                                Name = сделка.дкп_наим,
                                File = сделка.дкп
                            };
                            credit.DateAgent          = сделка.дата_ад ?? DateTime.Now;
                            credit.DateDkp            = сделка.дата ?? DateTime.Now;
                            credit.PriceBank          = Convert.ToDecimal(сделка.стоимость_банк);
                            credit.DownPayment        = Convert.ToDecimal(сделка.первый_взнос);
                            credit.CreditSumm         = Convert.ToDecimal(сделка.сумма_кредит);
                            credit.RealPrice          = Convert.ToDecimal(сделка.стоимость_реальная);
                            credit.DownPaymentCashbox = Convert.ToDecimal(сделка.первый_взнос_касса);
                            string creditor = aimp.КРЕДИТОРЫ.FirstOrDefault(x => x.код == сделка.кредиторы)?.наименование;
                            if (!string.IsNullOrWhiteSpace(creditor))
                            {
                                credit.Creditor = newDb.Creditors.Local.FirstOrDefault(x => x.Name == creditor) ??
                                                  new Creditor()
                                {
                                    Name = creditor
                                };
                            }
                            ЕКВИЗИТЫ реквизит = aimp.ЕКВИЗИТЫ.First(x => x.код == сделка.реквизиты);

                            credit.Requisit =
                                newDb.Requisits.Local.FirstOrDefault(
                                    x => x.Name == реквизит.наименование && x.Bik == реквизит.бик) ??
                                new Requisit()
                            {
                                Name      = реквизит.наименование,
                                Bik       = реквизит.бик,
                                InBank    = реквизит.в_банке,
                                Kor_schet = реквизит.кор_счет,
                                Ros_schet = реквизит.рос_счет
                            };

                            credit.ReportInsurance   = Convert.ToDecimal(сделка.отчёт_по_страховым);
                            credit.Rollback          = Convert.ToDecimal(сделка.откат);
                            credit.Source            = сделка.источник;
                            credit.IsCredit          = сделка.кредит == 1 ? true : false;
                            credit.CommissionCashbox = Convert.ToDecimal(сделка.комиссия_Касса);

                            newDb.CreditTransactions.Add(credit);
                            break;

                        case 3:
                        case 5:
                            CommissionTransaction commission = new CommissionTransaction()
                            {
                                Date           = cash.Date,
                                Number         = cash.Number,
                                Seller         = cash.Seller,
                                Buyer          = cash.Buyer,
                                Owner          = cash.Owner,
                                Trancport      = cash.Trancport,
                                Price          = cash.Price,
                                User           = cash.User,
                                DateProxy      = cash.DateProxy,
                                NumberProxy    = cash.NumberProxy,
                                NumberRegistry = cash.NumberRegistry
                            };

                            commission.Commission  = Convert.ToDecimal(сделка.комиссия);
                            commission.Parking     = Convert.ToDecimal(сделка.стоянка);
                            commission.IsTwoMounth = сделка.второй_месяц == null
                                    ? false
                                    : сделка.второй_месяц == 1 ? true : false;

                            newDb.CommissionTransactions.Add(commission);
                            break;
                        }
                    }
                    newDb.SaveChanges();
                }
            }
        }
예제 #6
0
 public void DeleteTemplate(PrintedDocumentTemplate template)
 {
     _logic.DeleteTemplate(template);
 }
예제 #7
0
 public int SaveTemplate(PrintedDocumentTemplate template)
 {
     return(_logic.SaveTemplate(template));
 }
        public WordPrintedDocument GetPrintedDocument(int idTransaction, string name)
        {
            try
            {
                CheckViewRight();
                var transaction = Context.CreditTransactions
                                  .All(x => x.User,
                                       x => x.Buyer.City,
                                       x => x.Buyer.Region,
                                       x => x.Buyer.LegalPerson,
                                       x => x.Owner.City,
                                       x => x.Owner.Region,
                                       x => x.Owner.LegalPerson,
                                       x => x.Seller.City,
                                       x => x.Seller.Region,
                                       x => x.Seller.LegalPerson,
                                       x => x.Trancport.Make,
                                       x => x.Trancport.Model,
                                       x => x.Trancport.Type,
                                       x => x.Trancport.Category,
                                       x => x.Trancport.EngineType,
                                       x => x.Creditor,
                                       x => x.Requisit)
                                  .FirstOrDefault(x => x.Id == idTransaction);
                if (transaction == null)
                {
                    throw new SqlNullValueException("Документ не найден");
                }
                PrintedDocumentTemplate template = null;
                if (name == CreditTransactionPrintedDocumentTemplate.AKT_REPORT_NAME || name == CreditTransactionPrintedDocumentTemplate.DKP_REPORT_NAME)
                {
                    var creditorName = transaction.Creditor.Name;
                    if (name == CreditTransactionPrintedDocumentTemplate.AKT_REPORT_NAME)
                    {
                        string typeAkt = PrintedDocumentTemplateType.Акт.ToString();
                        template = Context.PrintedDocumentTemplates
                                   .All()
                                   .FirstOrDefault(x => x.Name == creditorName && x.Type == typeAkt);
                    }
                    else
                    {
                        string typeDkp = PrintedDocumentTemplateType.Дкп.ToString();
                        template = Context.PrintedDocumentTemplates
                                   .All()
                                   .FirstOrDefault(x => x.Name == creditorName && x.Type == typeDkp);
                    }
                }
                else
                {
                    template = Context.PrintedDocumentTemplates
                               .All()
                               .FirstOrDefault(x => x.Name == name);
                }


                if (template == null)
                {
                    throw new SqlNullValueException("Шаблон не найден");
                }
                var resurl = new CreditTransactionPrintedDocumentTemplate(transaction, template.File);
                using (var printedService = new WordPrintedDocumentService())
                {
                    return((WordPrintedDocument)printedService.GetDocument(resurl));
                }
            }
            catch (AccessDeniedException)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Instance.Log(ex);

                throw new Exception("Не удалось получить список печатных форм, обратитесь к администратору");
            }
        }