Exemple #1
0
        public byte[] PretensionGetLPU(ClientPretension pretension)
        {
            List <FileWrapper> files   = new List <FileWrapper>();
            string             pathTxt = Path.Combine(ConfiguraionProvider.FileStorageFolder, "b_mek_" + pretension.sevenSimbolGeneration + ".txt");
            string             pathPdf = Path.Combine(ConfiguraionProvider.FileStorageFolder, pretension.FileUrlLPU);

            using (TextWriter writer = new StreamWriter(pathTxt))
            {
                writer.WriteLine("To: [email protected]");
                writer.WriteLine(string.Format("Message-Id: {0}[email protected]", pretension.sevenSimbolGeneration));
                writer.WriteLine("Subject: Запрос на целевую МЭЭ.");
                writer.WriteLine("Content-Type: multipart/mixed");
                writer.WriteLine(string.Format("Attachment: d_mek_{0}.pdf", pretension.sevenSimbolGeneration));
            }
            var fileTxt = System.IO.File.ReadAllBytes(pathTxt);

            System.IO.File.Delete(pathTxt);
            var filePdf = System.IO.File.ReadAllBytes(pathPdf);

            files.Add(new FileWrapper()
            {
                Filename = Path.GetFileName(pathTxt), Content = fileTxt
            });
            files.Add(new FileWrapper()
            {
                Filename = string.Format("d_mek_{0}.pdf", pretension.sevenSimbolGeneration), Content = filePdf
            });
            return(ZipHelper.ZipFiles(files));;
        }
Exemple #2
0
        public void ClientPretension_Save(ClientPretension pretension)
        {
            List <SqlParameter> parameters = new List <SqlParameter>();

            parameters.AddInputParameter("@Generator", SqlDbType.BigInt, pretension.Generator);
            parameters.AddInputParameter("@ClientID", SqlDbType.BigInt, pretension.ClientID);
            parameters.AddInputParameter("@LPU_ID", SqlDbType.BigInt, pretension.LPU_ID);
            parameters.AddInputParameter("@DATE_IN", SqlDbType.Date, pretension.DATE_IN);
            parameters.AddInputParameter("@M_nakt", SqlDbType.NVarChar, pretension.M_nakt);
            parameters.AddInputParameter("@M_dakt", SqlDbType.Date, pretension.M_dakt);
            parameters.AddInputParameter("@M_expert_Id", SqlDbType.BigInt, pretension.M_expert_Id);
            parameters.AddInputParameter("@MedicalCenterId", SqlDbType.BigInt, pretension.MedicalCenterId);
            parameters.AddInputParameter("@M_period", SqlDbType.NVarChar, pretension.M_period);
            parameters.AddInputParameter("@M_snpol", SqlDbType.NVarChar, pretension.M_snpol);
            parameters.AddInputParameter("@M_fd", SqlDbType.NVarChar, pretension.M_fd);
            parameters.AddInputParameter("@M_nd1", SqlDbType.NVarChar, pretension.M_nd1);
            parameters.AddInputParameter("@M_nd2", SqlDbType.NVarChar, pretension.M_nd2);
            parameters.AddInputParameter("@IsConfirm", SqlDbType.Bit, pretension.IsConfirm);
            parameters.AddInputParameter("@M_osn230_Id", SqlDbType.BigInt, pretension.M_osn230_Id);
            parameters.AddInputParameter("@M_straf", SqlDbType.Real, pretension.M_straf);
            parameters.AddInputParameter("@PeriodFrom", SqlDbType.DateTime, pretension.PeriodFrom);
            parameters.AddInputParameter("@PeriodTo", SqlDbType.DateTime, pretension.PeriodTo);
            parameters.AddInputParameter("@Coefficient", SqlDbType.Real, pretension.Coefficient);
            parameters.AddInputParameter("@UserId", SqlDbType.BigInt, pretension.UserId);
            parameters.AddInputParameter("@CreateDate", SqlDbType.DateTime, pretension.CreateDate);
            parameters.AddInputParameter("@UpdateUserId", SqlDbType.BigInt, pretension.UpdateUserId);
            parameters.AddInputParameter("@UpdateDate", SqlDbType.DateTime, pretension.UpdateDate);

            parameters.AddInputParameter("@FileNameLPU", SqlDbType.NVarChar, pretension.FileNameLPU);
            parameters.AddInputParameter("@FileUrlLPU", SqlDbType.NVarChar, pretension.FileUrlLPU);
            parameters.AddInputParameter("@FileName2", SqlDbType.NVarChar, pretension.FileName2);
            parameters.AddInputParameter("@FileUrl2", SqlDbType.NVarChar, pretension.FileUrl2);

            Execute_StoredProcedure("ClientPretension_Save", parameters);
        }
Exemple #3
0
        public ActionResult Pretension_PackageLast(ClientPretensionModel model)
        {
            List <ClientPretension> items      = clientBusinessLogic.ClientPretension_Get(model.ClientId);
            ClientPretension        pretension = items.Where(a => a.Generator == model.Generator).FirstOrDefault();
            Client client = clientBusinessLogic.Client_Get(CurrentUser, model.ClientId);

            if (client == null)
            {
                throw new Exception("Клиент не найден/не загужен.");
                //return PartialView("_ErrorMessage", "Претензия не существует/не загружена.");
            }
            if (pretension == null)
            {
                throw new Exception("Претензия не существует/не загружена.");
                //return PartialView("_ErrorMessage", "Претензия не существует/не загружена.");
            }
            if (string.IsNullOrEmpty(pretension.FileName2) ||
                !System.IO.File.Exists(Path.Combine(ConfiguraionProvider.FileStorageFolder, pretension.FileUrl2)))
            {
                throw new Exception("Документ отсутствует. Загрузите файл pdf.");
                //return PartialView("_ErrorMessage", "Документ отсутствует. Загрузите файл pdf.");
            }
            pretension.sevenSimbolGeneration = "121" + string.Format("{0,4:D4}", pretension.Generator);
            byte[] fileBytes = clientBusinessLogic.PretensionGetLast(pretension, client);
            return(File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, "d" + pretension.sevenSimbolGeneration + ".zip"));
        }
Exemple #4
0
        public ActionResult Load_Annulirovanie(FormCollection form, ClientPretensionModel model)
        {
            List <ClientPretension> items      = clientBusinessLogic.ClientPretension_Get(model.ClientId);
            ClientPretension        pretension = items.Where(a => a.Generator == model.Generator).FirstOrDefault();

            if (pretension == null)
            {
                return(PartialView("_ErrorMessage", "Претензия не существует/не загружена."));
            }
            if (Request.Files == null || Request.Files.Count < 1)
            {
                return(PartialView("_ErrorMessage", "Выберите файл для загрузки."));
            }

            HttpPostedFileBase upload    = Request.Files[0];
            string             extention = Path.GetExtension(upload.FileName);

            if (extention != ".pdf")
            {
                return(PartialView("_ErrorMessage", "Выберите PDF-файл для загрузки"));
            }

            string filename = string.Format("{0,4:D4}", pretension.Generator) + "_Annulirovanie_" + Guid.NewGuid().ToString() + ".pdf";
            string path     = Path.Combine(ConfiguraionProvider.FileStorageFolder, Constants.Pretension, filename);

            upload.SaveAs(path);
            pretension.FileName2 = upload.FileName;
            pretension.FileUrl2  = Path.Combine(Constants.Pretension, filename);
            clientBusinessLogic.ClientPretension_Save(pretension);

            return(PartialView("_Message", "Файл успешно загружен. Желательно обновить страницу."));
        }
Exemple #5
0
        public byte[] PretensionGetFile(ClientPretension pretension)
        {
            Random rnd       = new Random("pretension".GetHashCode() + DateTime.Now.GetHashCode());
            long   messageId = rnd.Next(10000000, 99999999);

            pretension.sevenSimbolGeneration = "121" + string.Format("{0,4:D4}", pretension.Generator);
            if (pretension.sevenSimbolGeneration.Length != 7)
            {
                pretension.sevenSimbolGeneration = "121ERROR";
            }

            List <FileWrapper> files = new List <FileWrapper>();

            string pathTxt          = Path.Combine(ConfiguraionProvider.FileStorageFolder, "b_mek_" + pretension.sevenSimbolGeneration + ".txt");
            string fileNameExcelZip = string.Format("Excel_{0}.zip", pretension.sevenSimbolGeneration);

            using (TextWriter writer = new StreamWriter(pathTxt))
            {
                writer.WriteLine("To: [email protected]");
                writer.WriteLine(string.Format("Message-Id: {0}[email protected]", messageId));
                writer.WriteLine("Subject: Запрос на целевую МЭЭ.");
                writer.WriteLine("Content-Type: multipart/mixed");
                writer.WriteLine("Attachment: {0}", fileNameExcelZip);
            }
            var file = System.IO.File.ReadAllBytes(pathTxt);

            System.IO.File.Delete(pathTxt);

            PretensionAnnulirovanie printedAnnulirovanie      = new PretensionAnnulirovanie(pretension);
            PretensionOrder183      printedPretensionOrder183 = new PretensionOrder183(pretension);

            files.Add(new FileWrapper()
            {
                Filename = Path.GetFileName(pathTxt), Content = file
            });

            List <FileWrapper> filesForInnerZip = new List <FileWrapper>();

            filesForInnerZip.Add(new FileWrapper()
            {
                Filename = "Annulirovanie.xlsx", Content = printedAnnulirovanie.GetExcel()
            });
            filesForInnerZip.Add(new FileWrapper()
            {
                Filename = "Предписание 183.xlsx", Content = printedPretensionOrder183.GetExcel()
            });
            var ContentExcelZip = ZipHelper.ZipFiles(filesForInnerZip);

            files.Add(new FileWrapper()
            {
                Filename = fileNameExcelZip, Content = ContentExcelZip
            });

            return(ZipHelper.ZipFiles(files));
        }
        public ClientPretensionModel(ClientPretension pretension)
        {
            this.sevenSimbolGeneraton = pretension.sevenSimbolGeneration;
            this.Generator            = pretension.Generator;
            this.ClientId             = pretension.ClientID;
            this.LPU_ID          = pretension.LPU_ID;
            this.DATE_IN         = pretension.DATE_IN;
            this.M_nakt          = pretension.M_nakt;
            this.M_dakt          = pretension.M_dakt;
            this.M_dakt2         = pretension.M_dakt;
            this.M_expert_Id     = pretension.M_expert_Id;
            this.MedicalCenterId = pretension.MedicalCenterId;
            this.M_mo            = pretension.M_mo;   //
            this.M_mcod          = pretension.M_mcod; //
            this.M_period        = pretension.M_period;
            this.M_snpol         = pretension.M_snpol;
            this.M_fd            = pretension.M_fd;
            this.M_nd1           = pretension.M_nd1;
            this.M_nd2           = pretension.M_nd2;
            this.IsConfirm       = pretension.IsConfirm;
            this.M_osn230_Id     = pretension.M_osn230_Id;
            this.M_straf         = pretension.M_straf;
            this.PeriodFrom      = pretension.PeriodFrom;
            this.PeriodTo        = pretension.PeriodTo;
            this.Coefficient     = pretension.Coefficient;
            this.UserId          = pretension.UserId;
            this.UserFIO         = pretension.UserFIO;                                       //
            this.CreateDate      = pretension.CreateDate;
            this.UserPosition    = pretension.UserPosition;                                  //
            this.UpdateUserId    = pretension.UpdateUserId;
            this.UpdateUserFIO   = pretension.UpdateUserFIO;                                 //
            this.UpdateDate      = pretension.UpdateDate ?? (DateTime)pretension.UpdateDate; //

            this.FileNameLPU = pretension.FileNameLPU ?? string.Empty;
            this.FileName2   = pretension.FileName2 ?? string.Empty;
            this.FileUrlLPU  = pretension.FileUrlLPU ?? string.Empty;
            this.FileUrl2    = pretension.FileUrl2 ?? string.Empty;

            IsExistFileLPU = System.IO.File.Exists(Path.Combine(ConfiguraionProvider.FileStorageFolder, this.FileUrlLPU));
            if (IsExistFileLPU)
            {
                this.SizeFileLPU = GetFileSizeToString((float)new System.IO.FileInfo(Path.Combine(ConfiguraionProvider.FileStorageFolder, this.FileUrlLPU)).Length);
            }

            IsExistFile2 = System.IO.File.Exists(Path.Combine(ConfiguraionProvider.FileStorageFolder, this.FileUrl2));
            if (IsExistFile2)
            {
                this.SizeFile2 = GetFileSizeToString((float)new System.IO.FileInfo(Path.Combine(ConfiguraionProvider.FileStorageFolder, this.FileUrl2)).Length);
            }

            M_expertS = ReferencesProvider.GetExpert(true);
            M_osn230  = ReferencesProvider.GetCodeDefect(true);
        }
        public ClientPretensionModel ClientPretensionGeneration(ClientPretension pretension, Client client, User user = null)
        {
            ClientPretensionModel data = new ClientPretensionModel();

            this.ClientId        = pretension.ClientID;
            this.Generator       = pretension.Generator;
            this.LPU_ID          = pretension.LPU_ID;
            this.DATE_IN         = pretension.DATE_IN;
            this.M_nakt          = pretension.M_nakt;
            this.MedicalCenterId = pretension.MedicalCenterId;
            this.M_mo            = pretension.M_mo;
            this.M_mcod          = pretension.M_mcod;
            this.M_period        = pretension.M_period;
            this.M_snpol         = pretension.M_snpol;

            this.M_fd = "заявление " +
                        client.ActualVersion.Lastname + " " +
                        client.ActualVersion.Firstname + " " +
                        client.ActualVersion.Secondname + " " +
                        (client.ActualVersion.Birthday.HasValue ? ((DateTime)client.ActualVersion.Birthday).ToShortDateString() : string.Empty) +
                        " г. или ее представителя о выборе " +
                        this.M_mo +
                        " для оказания первичной медико-санитарной помощи";

            this.M_nd1 = "заявление " +
                         client.ActualVersion.Lastname + " " +
                         client.ActualVersion.Firstname + " " +
                         client.ActualVersion.Secondname + " " +
                         (client.ActualVersion.Birthday.HasValue ? ((DateTime)client.ActualVersion.Birthday).ToShortDateString() : string.Empty) +
                         " г. или ее представителя о выборе " +
                         this.M_mo +
                         " для оказания первичной медико-санитарной помощи от " +
                         (this.DATE_IN.HasValue ? ((DateTime)this.DATE_IN).ToShortDateString() : string.Empty) +
                         " г. ";

            this.M_nd2 = "Прикрепление застрахованного к " +
                         this.M_mo +
                         " от " +
                         (this.DATE_IN.HasValue ? ((DateTime)this.DATE_IN).ToShortDateString() : string.Empty) +
                         " г. признано ";

            if (user != null)
            {
                this.UserId       = user.Id;
                this.UserPosition = user.Position;
                this.UserFIO      = user.Fullname;
            }
            this.CreateDate = DateTime.Now;
            //this.M_expertS = ReferencesProvider.GetExpert(true);
            //this.M_osn230 = ReferencesProvider.GetCodeDefect(true);
            return(this);
        }
        public ClientPretension GetClientPretension()
        {
            ClientPretension pretension = new ClientPretension();

            pretension.sevenSimbolGeneration = this.sevenSimbolGeneraton;

            pretension.Generator       = this.Generator;
            pretension.ClientID        = this.ClientId;
            pretension.LPU_ID          = this.LPU_ID;
            pretension.DATE_IN         = this.DATE_IN;
            pretension.M_nakt          = this.M_nakt;
            pretension.M_dakt          = this.M_dakt;
            pretension.M_expert_Id     = this.M_expert_Id;
            pretension.M_expert        = this.M_expertS.Where(a => a.Value == this.M_expert_Id.ToString()).Select(b => b.Text).FirstOrDefault();
            pretension.MedicalCenterId = this.MedicalCenterId;
            pretension.M_mo            = this.M_mo;
            pretension.M_mcod          = this.M_mcod;
            pretension.M_period        = this.M_period;
            pretension.M_snpol         = this.M_snpol;
            pretension.M_fd            = this.M_fd;
            pretension.M_nd1           = this.M_nd1;
            pretension.M_nd2           = this.M_nd2;
            pretension.IsConfirm       = this.IsConfirm;
            pretension.M_osn230_Id     = this.M_osn230_Id;
            pretension.M_osn230Ref     = ReferencesProvider.GetUniversalReference(Constants.Defect);
            pretension.M_straf         = this.M_straf;
            pretension.PeriodFrom      = this.PeriodFrom;
            pretension.PeriodTo        = this.PeriodTo;
            pretension.Coefficient     = this.Coefficient;
            pretension.UserId          = this.UserId;
            pretension.UserFIO         = this.UserFIO;
            pretension.UserPosition    = this.UserPosition;
            pretension.UpdateUserId    = this.UpdateUserId;
            //this.UpdateUserFIO = pretension.UpdateUserFIO; //
            pretension.MCOD = ReferencesProvider.GetUniversalReference(Constants.MedicalCenterRef).Where(a => a.Id == this.MedicalCenterId).Select(b => b.MCOD).FirstOrDefault();

            pretension.CreateDate = this.CreateDate;
            pretension.UpdateDate = this.UpdateDate;

            pretension.FileNameLPU = this.FileNameLPU;
            pretension.FileName2   = this.FileName2;
            pretension.FileUrlLPU  = this.FileUrlLPU;
            pretension.FileUrl2    = this.FileUrl2;

            return(pretension);
        }
Exemple #9
0
        public byte[] PretensionGetLast(ClientPretension pretension, Client client)
        {
            List <FileWrapper> files   = new List <FileWrapper>();
            string             pathTxt = Path.Combine(ConfiguraionProvider.FileStorageFolder, "b" + pretension.sevenSimbolGeneration);
            string             pathPdf = Path.Combine(ConfiguraionProvider.FileStorageFolder, pretension.FileUrl2);

            using (TextWriter writer = new StreamWriter(pathTxt))
            {
                writer.WriteLine("To: [email protected]");
                writer.WriteLine(string.Format("Message-Id: {0}[email protected]", pretension.sevenSimbolGeneration));
                writer.WriteLine("Subject: Запрос на целевую МЭЭ.");
                writer.WriteLine("Content-Type: multipart/mixed");
                writer.WriteLine(string.Format("Attachment: d{0}", pretension.sevenSimbolGeneration));
            }
            var fileTxt = System.IO.File.ReadAllBytes(pathTxt);

            System.IO.File.Delete(pathTxt);
            var filePdf = System.IO.File.ReadAllBytes(pathPdf);

            List <FileWrapper> filesForInnerZip = new List <FileWrapper>();

            filesForInnerZip.Add(new FileWrapper()
            {
                Filename = Path.GetFileName(pathPdf), Content = filePdf
            });

            LastPackageForPretension pr = new LastPackageForPretension();
            string filepathDBF          = string.Format("npP2{0}.dbf", pretension.sevenSimbolGeneration);

            FileWrapper fileDBF = pr.SaveToUralsibDBF(pretension, client, filepathDBF);

            filesForInnerZip.Add(fileDBF);
            //filesForInnerZip.Add(new FileWrapper() { Filename = filepathDBF, Content = new byte[1] });
            var contentInnerZip = ZipHelper.ZipFiles(filesForInnerZip);

            files.Add(new FileWrapper()
            {
                Filename = Path.GetFileName(pathTxt), Content = fileTxt
            });
            files.Add(new FileWrapper()
            {
                Filename = "d" + pretension.sevenSimbolGeneration, Content = contentInnerZip
            });
            return(ZipHelper.ZipFiles(files));;
        }
Exemple #10
0
        public ActionResult PretensionGetFile(ClientPretensionModel model)
        {
            List <ClientPretension> items      = clientBusinessLogic.ClientPretension_Get(model.ClientId);
            ClientPretension        pretension = items.Where(a => a.Generator == model.Generator).FirstOrDefault();

            if (pretension == null)
            {
                throw new Exception("Претензия не существует/не загружена.");
            }
            model = new ClientPretensionModel(pretension);
            model.sevenSimbolGeneraton = "121" + string.Format("{0,4:D4}", model.Generator);
            if (model.sevenSimbolGeneraton.Length != 7)
            {
                model.sevenSimbolGeneraton = "121ERROR";
            }
            byte[] fileBytes = clientBusinessLogic.PretensionGetFile(model.GetClientPretension());

            return(File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, model.sevenSimbolGeneraton + ".zip"));
        }
Exemple #11
0
 public ActionResult Pretension_RequestLPU(ClientPretensionModel model)
 {
     if (model.ClientId > 0 && model.Generator > 0)
     {
         List <ClientPretension> items      = clientBusinessLogic.ClientPretension_Get(model.ClientId);
         ClientPretension        pretension = items.Where(a => a.Generator == model.Generator).FirstOrDefault();
         if (pretension != null)
         {
             Client client = clientBusinessLogic.Client_Get(CurrentUser, model.ClientId);
             PretensionRequestLPU printedForm = new PretensionRequestLPU(pretension, client);
             byte[] bytesExcel = printedForm.GetExcel();
             return(File(bytesExcel, System.Net.Mime.MediaTypeNames.Application.Octet, string.Format("Запрос в ЛПУ {0,4:D4}.xlsx", model.Generator)));
         }
         else
         {
             throw new Exception("Убедитесь, что претензия была верно сгенерирована и сохранена!");
         }
     }
     else
     {
         throw new FileNotFoundException("ClientId неизвестен или Generator не правильный. Файл невозможно сгенерировать.");
     }
 }
Exemple #12
0
 public ActionResult Pretension(long clientId, long?gen)
 {
     if (gen.HasValue && gen > 0)
     {//загружаем претензию
         List <ClientPretension> items      = clientBusinessLogic.ClientPretension_Get(clientId);
         ClientPretension        pretension = items.Where(a => a.Generator == gen).FirstOrDefault();
         if (pretension != null)
         {
             return(View(new ClientPretensionModel(pretension)));
         }
         else
         {
             return(View(new ClientPretensionModel()
             {
                 ClientId = clientId
             }));
         }
     }
     else
     {//генерируем новую
         ClientPretension pretension = clientBusinessLogic.ClientPretension_Generation(clientId);
         Client           client     = clientBusinessLogic.Client_Get(CurrentUser, clientId);
         if (pretension != null)
         {
             ClientPretensionModel model = new ClientPretensionModel();
             model.ClientPretensionGeneration(pretension, client, CurrentUser);
             return(View(model));
         }
         else
         {
             return(View(new ClientPretensionModel()
             {
                 ClientId = clientId
             }));
         }
     }
 }
        protected const string Sum      = "$sum$"; //= m.straf * $Coefficient$

        #endregion

        public PretensionAnnulirovanie(ClientPretension pretension)
        {
            Pretension   = pretension;
            TemplatePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin", "Templates", "PretensionAnnulirovanie.xlsx");
        }
Exemple #14
0
 public void ClientPretension_Save(ClientPretension pretension)
 {
     ClientDao.Instance.ClientPretension_Save(pretension);
 }
Exemple #15
0
 public PretensionRequestLPU(ClientPretension pretension, Client client)
 {
     Pretension   = pretension;
     Client       = client;
     TemplatePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin", "Templates", "PretensionRequestLPU.xlsx");
 }
Exemple #16
0
 public PretensionOrder183(ClientPretension pretension)
 {
     Pretension   = pretension;
     TemplatePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin", "Templates", "PretensionOrder183.xlsx");
 }