Ejemplo n.º 1
0
        public override ActionResult AppDosage(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var model = new AppDosageRepository().GetStageByAppDosageId(id.Value);

            if (model == null)
            {
                return(HttpNotFound());
            }
            FillDosageControl(model);

            var repositoryDic = new ReadOnlyDictionaryRepository();
            var repository    = new SafetyreportRepository();

            model.EXP_DrugDosage.EXP_DrugDeclaration.ExpDicPrimaryOtds = repositoryDic.GetExpDicPrimaryOTDs().Where(e => e.ParentId == null).ToList();
            model.ExpertiseSafetyreportFinalDoc = model.EXP_ExpertiseSafetyreportFinalDoc.FirstOrDefault();

            if (model.ExpertiseSafetyreportFinalDoc == null)
            {
                model.ExpertiseSafetyreportFinalDoc = CreateExpertiseSafetyreportFinalDoc(model);
                repository.CreateExpertiseSafetyreportFinalDoc(model.ExpertiseSafetyreportFinalDoc);

                model.ExpertiseSafetyreportFinalDoc.EXP_ExpertiseStageDosage = model;
            }
            else
            {
                var newExpertiseSafetyreport = CreateExpertiseSafetyreportFinalDoc(model);

                if (string.IsNullOrEmpty(model.ExpertiseSafetyreportFinalDoc.Conclusion))
                {
                    model.ExpertiseSafetyreportFinalDoc.Conclusion = newExpertiseSafetyreport.Conclusion;
                }
                if (string.IsNullOrEmpty(model.ExpertiseSafetyreportFinalDoc.ConclusionKz))
                {
                    model.ExpertiseSafetyreportFinalDoc.ConclusionKz = newExpertiseSafetyreport.ConclusionKz;
                }

                repository.UpdateExpertiseSafetyreportFinalDoc(model.ExpertiseSafetyreportFinalDoc);
            }

            ViewData["FinalyDocResultList" + model.EXP_DrugDosage.DrugDeclarationId] = new SelectList(repositoryDic.GetStageResultsByStage(model.EXP_ExpertiseStage.StageId), "Id", "NameRu",
                                                                                                      model.ResultId);

            var stageName = ExpStageNameHelper.GetName(GetStage());

            ActionLogger.WriteInt(stageName + ": Получение заявки №" + model.EXP_DrugDosage.RegNumber);
            return(PartialView("~/Views/DrugDeclaration/AppDosage.cshtml", model));
        }
Ejemplo n.º 2
0
        public ActionResult SafetyReportPageView(Guid id)
        {
            var expertiseStage = new ExpertiseStageRepository().GetById(id);

            if (expertiseStage == null)
            {
                return(HttpNotFound());
            }
            var safetyreportRepository = new SafetyreportRepository();
            var repository             = new ReadOnlyDictionaryRepository();

            var model = new SafereportEntity
            {
                EXP_DrugDeclaration = expertiseStage.EXP_DrugDeclaration,
                DrugDeclarationId   = expertiseStage.DeclarationId.ToString(),
                Applicant           = new EmployeesRepository().GetById(expertiseStage.EXP_DrugDeclaration.OwnerId),
                Editor = UserHelper.GetCurrentEmployee(),
                ExpExpertiseStageRemarks = new List <EXP_ExpertiseStageRemark>(),
                ExpStageId   = expertiseStage.Id,
                CurrentStage = new StageModel()
                {
                    CurrentStage = GetExpertiseStage(expertiseStage.Id),
                    StageResults = repository.GetStageResultsByStage(expertiseStage.StageId)
                }
            };
            var employeName = "";

            if (UserHelper.GetCurrentEmployee() != null)
            {
                employeName = UserHelper.GetCurrentEmployee().DisplayName;
            }
            ViewBag.CurrentEmployeeName = employeName;
            var markList    = safetyreportRepository.GetPrimaryMarkList(expertiseStage.DeclarationId, CodeConstManager.STAGE_SAFETYREPORT);
            var remarkTypes = repository.GetRemarkTypes().ToArray();

            ViewData["RemarkTypes" + model.DrugDeclarationId] = new SelectList(remarkTypes, "Id", "NameRu",
                                                                               null);
            foreach (var expDrugPrimaryRemark in markList)
            {
                model.ExpExpertiseStageRemarks.Add(expDrugPrimaryRemark);
            }
            foreach (var expDrugPrimaryRemark in model.ExpExpertiseStageRemarks)
            {
                ViewData["RemarkTypes" + model.DrugDeclarationId + "_" + expDrugPrimaryRemark.Id] = new SelectList(remarkTypes, "Id", "NameRu",
                                                                                                                   expDrugPrimaryRemark.RemarkTypeId);
            }
            model.ExpDrugCorespondences = safetyreportRepository.GetDrugCorespondences(expertiseStage.DeclarationId);


            return(PartialView(model));
        }
Ejemplo n.º 3
0
        public FileStreamResult ExportSafetyReportKzFile(Guid id)
        {
            SafetyreportRepository repository = new SafetyreportRepository();
            var expertiseStageDosage          = repository.GetExpertiseStageDosageById(id);

            var typeCode = expertiseStageDosage.EXP_DrugDosage.EXP_DrugDeclaration.EXP_DIC_Type.Code;

            var mrt = "~/Reports/SafetyReport/Registration_kaz.mrt";

            if (typeCode == EXP_DIC_Type.ReRegistration)
            {
                mrt = "~/Reports/SafetyReport/ReRegistration_kaz.mrt";
            }
            else if (typeCode == EXP_DIC_Type.Alteration)
            {
                mrt = "~/Reports/SafetyReport/Alteration_kaz.mrt";
            }

            string    name   = "Заключение на государственном языке.pdf";
            StiReport report = new StiReport();

            report.Load(Server.MapPath(mrt));

            foreach (var data in report.Dictionary.Databases.Items.OfType <StiSqlDatabase>())
            {
                data.ConnectionString = UserHelper.GetCnString();
            }
            // имя и должность эксперта
            //            var currentEmployee = UserHelper.GetCurrentEmployee();
            //            var employeeName = currentEmployee.FullName;
            //            var employeePosition = currentEmployee.Position.Name;

            report.Dictionary.Variables["DeclarationId"].ValueObject = expertiseStageDosage.EXP_ExpertiseStage.DeclarationId;
            report.Dictionary.Variables["StageDosageId"].ValueObject = id;

            report.Render(false);
            var stream = new MemoryStream();

            report.ExportDocument(StiExportFormat.Pdf, stream);
            stream.Position = 0;
            return(File(stream, "application/pdf", name));
        }
Ejemplo n.º 4
0
        protected void FillDeclarationControl(EXP_DrugDeclaration model)
        {
            model.EditorId            = UserHelper.GetCurrentEmployee().Id.ToString();
            model.ExpDrugExportTrades = new List <EXP_DrugExportTrade>();
            var exportTrades = model.EXP_DrugExportTrade.OrderBy(e => e.Id);

            foreach (var record in exportTrades)
            {
                model.ExpDrugExportTrades.Add(record);
            }

            model.ExpDrugPatents = new List <EXP_DrugPatent>();
            var expPatent = model.EXP_DrugPatent.OrderBy(e => e.Id);

            foreach (var record in expPatent)
            {
                model.ExpDrugPatents.Add(record);
            }

            model.ExpDrugTypes = new List <EXP_DrugType>();
            var expDrugType = model.EXP_DrugType.OrderBy(e => e.Id);

            foreach (var record in expDrugType)
            {
                model.ExpDrugTypes.Add(record);
            }

            /*     model.ExpDrugWrappings = new List<EXP_DrugWrapping>();
             *   var expDrugWrapping = model.EXP_DrugWrapping.OrderBy(e => e.Id);
             *   foreach (var record in expDrugWrapping)
             *   {
             *       model.ExpDrugWrappings.Add(record);
             *   }*/

            model.ExpDrugOtherCountries = new List <EXP_DrugOtherCountry>();
            var expDrugOtherCountries = model.EXP_DrugOtherCountry.OrderBy(e => e.Id);

            foreach (var record in expDrugOtherCountries)
            {
                model.ExpDrugOtherCountries.Add(record);
            }
            model.ExpDrugProtectionDocs = new List <EXP_DrugProtectionDoc>();
            var expDrugProtectionDocs = model.EXP_DrugProtectionDoc.OrderBy(e => e.Id);

            foreach (var record in expDrugProtectionDocs)
            {
                model.ExpDrugProtectionDocs.Add(record);
            }
            model.ExpDrugOrganizationses = new List <EXP_DrugOrganizations>();
            var expDrugOrganizationses = model.EXP_DrugOrganizations.OrderBy(e => e.Id);

            foreach (var record in expDrugOrganizationses)
            {
                model.ExpDrugOrganizationses.Add(record);
            }
            model.ExpDrugDosages = new List <EXP_DrugDosage>();
            var expDrugDosages = model.EXP_DrugDosage.OrderBy(e => e.Id);

            model.ConclusionSafetyReports = new List <ConclusionSafetyReport>();
            foreach (var record in expDrugDosages)
            {
                if (record.RegisterId > 0 && record.sr_register != null)
                {
                    record.ReestrNumber  = record.sr_register.reg_number + "/" + record.sr_register.reg_number_kz;
                    record.ReestrRegDate = record.sr_register.reg_date.ToShortDateString();
                    if (record.sr_register.expiration_date != null)
                    {
                        record.ReestrExpirationDate = record.sr_register.expiration_date.Value.ToShortDateString();
                    }
                    var reestrDrug = new ExternalRepository().GEtRegisterDrugById(record.RegisterId);
                    if (reestrDrug != null)
                    {
                        record.NumberNd = reestrDrug.nd_number;
                    }
                }
                record.ExpDrugWrappings = new List <EXP_DrugWrapping>();
                foreach (var expDrugWrapping in record.EXP_DrugWrapping)
                {
                    record.ExpDrugWrappings.Add(expDrugWrapping);
                }
                record.ExpDrugPrices = new List <EXP_DrugPrice>();
                foreach (var drugPrice in record.EXP_DrugPrice)
                {
                    record.ExpDrugPrices.Add(drugPrice);
                }
                model.ExpDrugDosages.Add(record);

                record.ExpDrugSubstances = new List <EXP_DrugSubstance>();

                for (var d = 0; d < record.EXP_DrugSubstance.Count; d++)
                {
                    record.ExpDrugSubstances.Add(record.EXP_DrugSubstance.ToList()[d]);
                    record.EXP_DrugSubstance.ToList()[d].ExpDrugSubstanceManufactures = new List <EXP_DrugSubstanceManufacture>();
                    foreach (var expDrugSubstanceManufacture in record.EXP_DrugSubstance.ToList()[d].EXP_DrugSubstanceManufacture)
                    {
                        record.EXP_DrugSubstance.ToList()[d].ExpDrugSubstanceManufactures.Add(expDrugSubstanceManufacture);
                    }
                }

                /*      foreach (var substance in record.EXP_DrugSubstance)
                 *    {
                 *        record.ExpDrugSubstances.Add(substance);
                 *
                 *    }*/

                if (model.StatusId > 6)
                {
                    model.ConclusionSafetyReports.Add(new SafetyreportRepository().ConclusionSafetyReportsFromDosage(record.Id, false));
                    model.ConclusionSafetyReports.Add(new SafetyreportRepository().ConclusionSafetyReportsFromDosage(record.Id, true));
                }
            }
            if (model.StatusId > 6)
            {
                var item = new SafetyreportRepository().ConclusionSafetyReportsFromFiles(model.Id, UserHelper.GetCurrentEmployee());
                foreach (var conclusionSafetyReport in item)
                {
                    model.ConclusionSafetyReports.Add(conclusionSafetyReport);
                }
            }
            if (model.ConclusionSafetyReports.Count > 0)
            {
                model.IsShowConclision = true;
            }
            model.ExpDrugChangeTypes = new List <EXP_DrugChangeType>();
            var changeTypes = model.EXP_DrugChangeType.OrderBy(e => e.Id);

            foreach (var record in changeTypes)
            {
                model.ExpDrugChangeTypes.Add(record);
            }

            /*  model.ExpDrugPrices = new List<EXP_DrugPrice>();
             * var expDrugPrices = model.EXP_DrugPrice.OrderBy(e => e.Id);
             * foreach (var record in expDrugPrices)
             * {
             *    model.ExpDrugPrices.Add(record);
             * }*/
            model.MethodUseIds =
                model.EXP_DrugUseMethod.Select(e => e.UseMethodsId.ToString(CultureInfo.InvariantCulture)).ToList();

            if (model.TypeId > 1)
            {
                if (model.TypeId == 3)
                {
                    model.IsShowChange = true;
                }
                else
                {
                    if (model.sr_register != null && model.sr_register.expiration_date != null)
                    {
                        if (model.TypeId != 2)
                        {
                            var t     = model.sr_register.expiration_date.Value - model.CreatedDate;
                            var month = t.TotalDays;

                            if (month > 90)
                            {
                                model.IsShowChange = true;
                            }
                        }
                    }
                }
            }

            var primaryEntity = new PrimaryEntity
            {
                EXP_DrugDeclaration = model,
                DrugDeclarationId   = model.ObjectId,
                Editor = UserHelper.GetCurrentEmployee(),
                ExpExpertiseStageRemarks = new List <EXP_ExpertiseStageRemark>(),
            };

            FillViewBag(model);
        }
Ejemplo n.º 5
0
        public virtual ActionResult ConfirmConclusion(string modelId, string category, bool isAccept, string comment, string culture)
        {
            var statusName = new SafetyreportRepository().ConfirmConclusion(modelId, category, isAccept, comment, culture);

            return(Json(new { Success = true, statusName }));
        }
Ejemplo n.º 6
0
        public override ActionResult UpdateFinalDocument(string fieldName, string fieldValue, Guid objectId)
        {
            var finalDoc = new SafetyreportRepository().UpdateFinalDocument(fieldName, fieldValue, objectId, UserHelper.GetCurrentEmployee().Id, true);

            return(Json(new { Success = true, DocId = finalDoc.Id, Status = finalDoc.EXP_ExpertiseStageDosage.FinalDocStatus }));
        }