public ActionResult SendToApplicant(Guid stageId) { var repo = new ExpertiseStageRepository(); var stage = repo.GetStage(stageId); var repository = new DrugDeclarationRepository(); var declaraion = repository.GetById(stage.DeclarationId.ToString()); if (declaraion == null) { return(Json(new { isSuccess = false, })); } declaraion.DesignDate = DateTime.Now; declaraion.StatusId = CodeConstManager.STATUS_EXP_SEND_INSTRUCTION_ID; new DrugDeclarationRepository().Update(declaraion); var history = new EXP_DrugDeclarationHistory() { DateCreate = DateTime.Now, DrugDeclarationId = declaraion.Id, StatusId = declaraion.StatusId, UserId = UserHelper.GetCurrentEmployee().Id, Note = "Инструкция для согласования" }; new DrugDeclarationRepository().SaveHisotry(history, UserHelper.GetCurrentEmployee().Id); var status = new ReadOnlyDictionaryRepository().GetDicStatusById(CodeConstManager.STATUS_EXP_SEND_INSTRUCTION_ID); return(Json(new { isSuccess = true, statusName = status.NameRu })); }
public ActionResult UpdateTmcUseOff([DataSourceRequest] DataSourceRequest request, TmcUseOffView model) { string expertiseNumber = null; TmcOffRepository repository = new TmcOffRepository(); if (model.RefExtertiseStatement != null) { DrugDeclarationRepository ddRepo = new DrugDeclarationRepository(); var exp = ddRepo.GetById(model.RefExtertiseStatement.Value); if (exp != null) { expertiseNumber = exp.Number; } } var tmcOff = repository.GetAsQuarable(toff => toff.Id == model.Id).FirstOrDefault(); if (tmcOff != null) { tmcOff.Count = model.Count; tmcOff.Note = model.Note; tmcOff.ExpertiseStatementNumber = expertiseNumber; tmcOff.ExpertiseStatementId = model.RefExtertiseStatement; } repository.Update(tmcOff); repository.Save(); return(Json(new[] { tmcOff }.ToDataSourceResult(request, ModelState))); }
public ActionResult CreateTmcUseOff([DataSourceRequest] DataSourceRequest request, TmcUseOffView model) { string expertiseNumber = null; TmcOffRepository repository = new TmcOffRepository(); if (model.RefExtertiseStatement != null) { DrugDeclarationRepository ddRepo = new DrugDeclarationRepository(); var exp = ddRepo.GetById(model.RefExtertiseStatement.Value); if (exp != null) { expertiseNumber = exp.Number; } } TmcOff tmc = new TmcOff() { Id = Guid.NewGuid(), StateType = model.StateType, CreatedDate = DateTime.Now, CreatedEmployeeId = UserHelper.GetCurrentEmployee().Id, Count = model.Count, Note = model.Note, TmcOutId = model.TmcOutId, TmcId = model.TmcId, ExpertiseStatementId = model.RefExtertiseStatement, ExpertiseStatementNumber = expertiseNumber }; repository.Insert(tmc); repository.Save(); return(Json(new[] { tmc }.ToDataSourceResult(request, ModelState))); }
public virtual ActionResult GetInfoFromContract(long recordId, string type) { var org = new DrugDeclarationRepository().GetInfoFromContract(recordId, type); if (org == null) { return(Json(new { isSuccess = false })); } return(Json(new { org.AddressFact, org.AddressLegal, org.OpfTypeDicId, org.CountryDicId, org.NameRu, org.NameKz, org.NameEn, org.DocNumber, DocDateStr = DateHelper.GetDate(org.DocDate), DocExpiryDateStr = DateHelper.GetDate(org.DocExpiryDate), org.BossPosition, org.BossFirstName, org.BossLastName, org.BossMiddleName, org.Phone, org.Email, org.ContactFio, org.ContactPosition, isSuccess = true })); }
public ActionResult SendExpertiseDocumentToAgreement(Guid docId, string documentType, Guid?executorId = null, string taskType = null) { taskType = string.IsNullOrEmpty(taskType) ? null : taskType; var db = new ncelsEntities(); var repository = new DrugDeclarationRepository(); var stageRepo = new ExpertiseStageRepository(); var activityManager = new ActivityManager(); switch (documentType) { case Dictionary.ExpAgreedDocType.EXP_DrugFinalDocument: var declarationInfo = db.EXP_ExpertiseStageDosage.FirstOrDefault(e => e.Id == docId); var finalDocExecutorsIds = stageRepo.GetExecutorsByDicStageId(declarationInfo.EXP_ExpertiseStage.StageId, declarationInfo.EXP_ExpertiseStage.EXP_DrugDeclaration.TypeId) .Select(e => e.Id).ToArray(); activityManager.SendToExecution(Dictionary.ExpActivityType.FinalDocAgreement, docId, Dictionary.ExpAgreedDocType.EXP_DrugFinalDocument, taskType ?? Dictionary.ExpTaskType.Agreement, declarationInfo.EXP_DrugDosage.RegNumber, declarationInfo.EXP_DrugDosage.EXP_DrugDeclaration.CreatedDate, finalDocExecutorsIds); var primaryDocStatus = repository.GetPrimaryFinalDocumentStatus(docId); return(Json(primaryDocStatus.Name, JsonRequestBehavior.AllowGet)); case Dictionary.ExpAgreedDocType.Letter: var primaryRepo = new DrugPrimaryRepository(); bool isSigning = taskType == Dictionary.ExpTaskType.Signing; var letter = primaryRepo.GetCorespondence(docId.ToString()); if (isSigning) { var stageSupervisor = stageRepo.GetStageSupervisor(letter.StageId, letter.EXP_DrugDeclaration.TypeId); activityManager.SendToExecution(Dictionary.ExpActivityType.ExpertiseLetterSigning, docId, Dictionary.ExpAgreedDocType.Letter, Dictionary.ExpTaskType.Signing, letter.NumberLetter, letter.DateCreate, stageSupervisor.Id); return(Json( DictionaryHelper.GetDicItemByCode(CodeConstManager.STATUS_ONSIGNING, CodeConstManager.STATUS_ONSIGNING).Name, JsonRequestBehavior.AllowGet)); } else { var letterExecutorsIds = stageRepo.GetExecutorsByDicStageId(letter.StageId, letter.EXP_DrugDeclaration.TypeId).Select(e => e.Id).ToArray(); activityManager.SendToExecution(Dictionary.ExpActivityType.ExpertiseLetterAgreement, docId, Dictionary.ExpAgreedDocType.Letter, Dictionary.ExpTaskType.Agreement, letter.NumberLetter, letter.DateCreate, letterExecutorsIds); return(Json( DictionaryHelper.GetDicItemByCode(CodeConstManager.STATUS_ONAGREEMENT, CodeConstManager.STATUS_ONAGREEMENT).Name, JsonRequestBehavior.AllowGet)); } case Dictionary.ExpAgreedDocType.CertificateOfCompletion: var coc = db.EXP_CertificateOfCompletion.FirstOrDefault(e => e.Id == docId); if (coc != null) { var certExecutorsIds = stageRepo.GetExecutorsByDicStageId(coc.DicStageId.Value, coc.EXP_DrugDeclaration.TypeId).Select(e => e.Id).ToArray(); activityManager.SendToExecution(Dictionary.ExpActivityType.CertificateOfComplitionAgreement, docId, Dictionary.ExpAgreedDocType.CertificateOfCompletion, taskType ?? Dictionary.ExpTaskType.Agreement, string.Empty, coc.CreateDate, certExecutorsIds); } return(Json(DictionaryHelper.GetDicItemByCode(CodeConstManager.STATUS_ONAGREEMENT, CodeConstManager.STATUS_ONAGREEMENT).Name, JsonRequestBehavior.AllowGet)); } return(null); }
public ActionResult DublicateDrug(string id) { var model = new DrugDeclarationRepository().DublicateDrug(id, UserHelper.GetCurrentEmployee().Id); model.IsExist = true; FillDeclarationControl(model); return(View("Create", model)); }
public EXP_DrugDeclaration GetDrugDeclarationById(string id) { var repository = new DrugDeclarationRepository(); var model = repository.GetById(id); model.IsExist = true; FillDeclarationControl(model); return(model); }
public ActionResult ListRegister([DataSourceRequest] DataSourceRequest request, string type, int stage, DeclarationRegistryFilter customFilter = null) { var stageName = ExpStageNameHelper.GetName(stage); ActionLogger.WriteInt(stageName + ": Получение списка заявлений"); var list = new DrugDeclarationRepository().DrugDeclarationRegisterByStatus(type, stage, UserHelper.GetCurrentEmployee().Id, customFilter); var result = list.ToDataSourceResult(request); return(Json(result)); }
public virtual ActionResult CreateMailRemark(string id) { var model = new DrugDeclarationRepository().CreateMailRemark(id, UserHelper.GetCurrentEmployee()); return(Json(new { isSuccess = model.IsSuccess, stageType = model.StageType })); }
public ActionResult ShowAttach(long recordId) { var model = new DrugDeclarationRepository().GetRemarksListFiles(recordId); if (Request.IsAjaxRequest()) { return(PartialView(model)); } return(View(model)); }
public ActionResult DocumentRead(Guid id) { var model = new DrugDeclarationRepository().GetByViewId(id.ToString()); return(Content(JsonConvert.SerializeObject(model, Formatting.Indented, new JsonSerializerSettings() { DateFormatString = "dd.MM.yyyy HH:mm" }))); return(Json(model, JsonRequestBehavior.AllowGet)); }
public ActionResult AnaliticPageView(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var expertiseStage = new ExpertiseStageRepository().GetById(id); if (expertiseStage == null) { return(HttpNotFound()); } var repository = new ReadOnlyDictionaryRepository(); var employee = UserHelper.GetCurrentEmployee(); var model = new DrugAnaliticEntity { EXP_DrugDeclaration = expertiseStage.EXP_DrugDeclaration, DrugDeclarationId = expertiseStage.DeclarationId.ToString(), Applicant = new EmployeesRepository().GetById(expertiseStage.EXP_DrugDeclaration.OwnerId), Editor = employee, 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 = new DrugDeclarationRepository().GetPrimaryMarkList(expertiseStage.DeclarationId, CodeConstManager.STAGE_ANALITIC); 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 = new DrugDeclarationRepository().GetDrugCorespondences(expertiseStage.DeclarationId); return(PartialView(model)); }
public override ActionResult SaveComment(string modelId, string idControl, bool isError, string comment, string fieldValue, string userId, string fieldDisplay) { var reposiyory = new DrugDeclarationRepository(); var decalaration = reposiyory.GetByViewId(modelId); if (decalaration.StatusId == CodeConstManager.STATUS_REJECT_ID) { return(Json(new { Success = false })); } new DrugDeclarationRepository().SaveComment(modelId, idControl, isError, comment, fieldValue, userId, fieldDisplay); return(Json(new { Success = true })); }
public ActionResult FileUpload(EXP_ExpertiseStageRemark document, IEnumerable <HttpPostedFileBase> files) { var repository = new DrugDeclarationRepository(); var remark = repository.GetRemarksListFiles(document.Id); var model = GetDrugDeclarationById(remark.EXP_ExpertiseStage.DeclarationId.ToString()); if (files == null) { files = new List <HttpPostedFileBase>(); } var httpPostedFileBases = files as HttpPostedFileBase[] ?? files.ToArray(); for (int i = 0; i < httpPostedFileBases.Count(); i++) { HttpPostedFileBase file = httpPostedFileBases[i]; Guid fileId = Guid.NewGuid(); var code = repository.GetRemarkCode(); var path = model.ObjectId; string savedFileName = file.FileName; var ownId = UserHelper.GetCurrentEmployee().Id; int?currentStageId = null; string root = ConfigurationManager.AppSettings["AttachPath"]; string fullName = Path.Combine(root, FileHelper.Root, model.ObjectId ?? "", code ?? "", savedFileName); DirectoryInfo info = new DirectoryInfo(Path.Combine(root, FileHelper.Root, model.ObjectId ?? "", code ?? "")); if (!info.Exists) { info.Create(); } file.SaveAs(fullName); var fileLink = new FileLink() { Id = fileId, CreateDate = DateTime.Now, CategoryId = !string.IsNullOrEmpty(code) ? (Guid?)Guid.Parse(code) : null, DocumentId = !string.IsNullOrEmpty(path) ? (Guid?)Guid.Parse(path) : null, FileName = savedFileName, OwnerId = ownId, Version = 1, Comment = remark.Id.ToString(), Language = "", PageNumbers = null, StageId = null }; repository.SaveRemarkFile(fileLink, remark); } return(RedirectToAction("Edit", new { Id = model.ObjectId })); }
public ActionResult SignForm(string preambleId, string xmlAuditForm) { var success = true; var repository = new DrugDeclarationRepository(); var model = repository.GetById(preambleId); new SignDocumentRepository().SaveSignDocument(UserHelper.GetCurrentEmployee().Id, xmlAuditForm, model); if (model.StatusId == CodeConstManager.STATUS_DRAFT_ID) { model.FirstSendDate = DateTime.Now; } model.StatusId = CodeConstManager.STATUS_SEND_ID; model.SendDate = DateTime.Now; model.IsSigned = true; var history = new EXP_DrugDeclarationHistory() { DateCreate = DateTime.Now, DrugDeclarationId = model.Id, XmlSign = xmlAuditForm, StatusId = CodeConstManager.STATUS_SEND_ID, UserId = UserHelper.GetCurrentEmployee().Id, Note = "Отчет предоставлен. Дата отправки:" + DateTime.Now }; if (string.IsNullOrEmpty(model.Number)) { // model.Number = repository.GetAppNumber(); } var indexWrapping = 1; foreach (var expDrugDosage in model.EXP_DrugDosage) { if (string.IsNullOrEmpty(expDrugDosage.RegNumber)) { expDrugDosage.RegNumber = model.Number + "." + indexWrapping; indexWrapping++; } } repository.SaveOrUpdate(model, UserHelper.GetCurrentEmployee().Id); repository.SaveHisotry(history, UserHelper.GetCurrentEmployee().Id); // Set Status Sended return(Json(new { success }, JsonRequestBehavior.AllowGet)); }
public virtual ActionResult GenerateNd(string modelId, int?typeId) { var numder = new DrugDeclarationRepository().GenerateNd(modelId, UserHelper.GetCurrentEmployee().Id.ToString(), typeId); if (numder == null) { return(Json(new { isSuccess = false })); } return(Json(new { numder, isSuccess = true })); }
public virtual ActionResult GetMathValue(long id) { var substance = new DrugDeclarationRepository().GetMathValue(id); if (substance == null) { return(Json(new { isSuccess = false })); } return(Json(new { mathValue = substance, isSuccess = true })); }
public ActionResult ShowComment(string modelId, string idControl) { var repository = new DrugDeclarationRepository(); var model = repository.GetComments(modelId, idControl); if (model == null) { model = new EXP_DrugDeclarationCom(); } model.ExpDrugDeclarationFieldHistories = repository.GetFieldHistories(modelId, idControl); if (Request.IsAjaxRequest()) { return(PartialView(model)); } return(View(model)); }
public virtual ActionResult SendNotSign(string modelId) { var repository = new DrugDeclarationRepository(); var model = repository.GetById(modelId); if (model.StatusId == CodeConstManager.STATUS_DRAFT_ID) { model.FirstSendDate = DateTime.Now; } model.StatusId = CodeConstManager.STATUS_SEND_ID; model.SendDate = DateTime.Now; model.IsSigned = false; var history = new EXP_DrugDeclarationHistory() { DateCreate = DateTime.Now, DrugDeclarationId = model.Id, StatusId = CodeConstManager.STATUS_SEND_ID, UserId = UserHelper.GetCurrentEmployee().Id, Note = "Отчет предоставлен без подписи. Дата отправки:" + DateTime.Now }; if (string.IsNullOrEmpty(model.Number)) { // model.Number = repository.GetAppNumber(); } var indexWrapping = 1; foreach (var expDrugDosage in model.EXP_DrugDosage) { if (string.IsNullOrEmpty(expDrugDosage.RegNumber)) { expDrugDosage.RegNumber = model.Number + "." + indexWrapping; indexWrapping++; } } repository.SaveOrUpdate(model, UserHelper.GetCurrentEmployee().Id); repository.SaveHisotry(history, UserHelper.GetCurrentEmployee().Id); return(Json(new { isSuccess = true })); }
public ActionResult DocumentReviewConfirm(Guid?id) { var repository = new DrugDeclarationRepository(); if (id == null) { return(Json("Ok!", JsonRequestBehavior.AllowGet)); } var expertise = GetExpertiseStage(id); var model = expertise.EXP_DrugDeclaration; if (model == null) { return(Json("Ok!", JsonRequestBehavior.AllowGet)); } model.StatusId = CodeConstManager.STATUS_EXP_SEND_ID; if (string.IsNullOrEmpty(model.Number)) { model.Number = repository.GetAppNumber(); } repository.Update(model); var history = new EXP_DrugDeclarationHistory() { DateCreate = DateTime.Now, DrugDeclarationId = model.Id, StatusId = model.StatusId, UserId = UserHelper.GetCurrentEmployee().Id, }; new DrugDeclarationRepository().SaveHisotry(history, UserHelper.GetCurrentEmployee().Id); var stageRepository = new ExpertiseStageRepository(); string resultDescription; if (!stageRepository.HasStage(model.Id, CodeConstManager.STAGE_PRIMARY)) { stageRepository.ToNextStage(model.Id, null, new[] { CodeConstManager.STAGE_PRIMARY }, out resultDescription); } return(Json("Ok!", JsonRequestBehavior.AllowGet)); }
public virtual ActionResult SetPrice(long dosageId, string userId, string kinds1, string kinds2, string kinds3, double?calc) { var model = new DrugDeclarationRepository().SetPrice(dosageId, userId, kinds1, kinds2, kinds3, calc); if (model == null) { return(Json(new { isSuccess = false })); } return(Json(new { recordId = model.Id, model.IntermediateText, model.PrimaryText, model.SecondaryText, model.CountUnit, isSuccess = true })); }
public ActionResult SignOperation(string id) { var repository = new DrugDeclarationRepository(); var model = repository.GetPreamble(new Guid(id)); bool IsSuccess = true; string preambleXml = string.Empty; try { preambleXml = SerializeHelper.SerializeDataContract(model); preambleXml = preambleXml.Replace("utf-16", "utf-8"); } catch (Exception e) { IsSuccess = false; } return(Json(new { IsSuccess, preambleXml }, JsonRequestBehavior.AllowGet)); }
public virtual ActionResult UpdateSubModel(string code, string modelId, long?subModelId, string userId, long?recordId, string fieldName, string fieldValue, string fieldDisplay) { var filter = new DrugDeclarationRepository().UpdateSubModel(code, modelId, subModelId, userId, recordId, fieldName, fieldValue, fieldDisplay); return(Json(new { Success = true, modelId = filter.ModelId, submodelId = filter.SubModelId, recordId = filter.RecordId, controlId = filter.ControlId })); }
protected void FillViewBag(EXP_DrugDeclaration model) { var drugPrimaryRepo = new DrugPrimaryRepository(); ViewData["ContractList"] = new SelectList(new ContractRepository(false).GetActiveContractListWithInfo(model.OwnerId), "Id", "ContractInfo", model.ContractId); var repository = new ReadOnlyDictionaryRepository(); ViewData["AccelerationTypeList"] = new SelectList(repository.GetAccelerationTypes(), "Id", "NameRu", model.AccelerationTypeId); ViewData["TypeList"] = new SelectList(repository.GetDicTypes(), "Id", "NameRu", model.TypeId); if (model.RegisterId > 0 && model.sr_register != null) { model.ReestrNumber = model.sr_register.reg_number + "/" + model.sr_register.reg_number_kz; model.ReestrRegDate = model.sr_register.reg_date.ToShortDateString(); if (model.sr_register.expiration_date != null) { model.ReestrExpirationDate = model.sr_register.expiration_date.Value.ToShortDateString(); } var reestrDrug = new ExternalRepository().GEtRegisterDrugById(model.RegisterId); if (reestrDrug != null) { model.NumberNd = reestrDrug.nd_number; } } if (model.ExpDrugChangeTypes.Count == 0) { model.ExpDrugChangeTypes.Add(new EXP_DrugChangeType()); } if (model.ExpDrugProtectionDocs.Count == 0) { model.ExpDrugProtectionDocs.Add(new EXP_DrugProtectionDoc()); } if (model.ExpDrugOtherCountries.Count == 0) { model.ExpDrugOtherCountries.Add(new EXP_DrugOtherCountry()); } if (model.ExpDrugExportTrades.Count == 0) { model.ExpDrugExportTrades.Add(new EXP_DrugExportTrade()); } if (model.ExpDrugPatents.Count == 0) { model.ExpDrugPatents.Add(new EXP_DrugPatent()); } if (model.ExpDrugTypes.Count == 0) { model.ExpDrugTypes.Add(new EXP_DrugType()); } /* if (model.ExpDrugWrappings.Count == 0) * { * model.ExpDrugWrappings.Add(new EXP_DrugWrapping()); * }*/ if (model.ExpDrugOrganizationses.Count == 0) { model.ExpDrugOrganizationses.Add(new EXP_DrugOrganizations()); } if (model.ExpDrugDosages.Count == 0) { model.ExpDrugDosages.Add(new EXP_DrugDosage()); } /*if (model.ExpDrugPrices.Count == 0) * { * model.ExpDrugPrices.Add(new EXP_DrugPrice()); * }*/ var externalRepository = new ExternalRepository(); var countries = externalRepository.GetCounties().ToArray(); ViewData["Counties"] = new SelectList(countries, "Id", "name", 0); for (var i = 0; i < model.ExpDrugExportTrades.Count; i++) { ViewData["Counties" + i] = new SelectList(countries, "Id", "name", model.ExpDrugExportTrades[i].CountryId); } var types = repository.GetDrugType().ToArray(); var typeKinds = repository.GetDrugTypeKinds().ToArray(); ViewData["DrugTypes"] = new SelectList(types, "Id", "NameRu", 0); ViewData["DrugTypeKinds"] = new SelectList(typeKinds, "Id", "NameRu", 0); for (var i = 0; i < model.ExpDrugTypes.Count; i++) { ViewData["DrugTypes" + i] = new SelectList(types, "Id", "NameRu", model.ExpDrugTypes[i].DrugTypeId); ViewData["DrugTypeKinds" + i] = new SelectList(typeKinds, "Id", "NameRu", model.ExpDrugTypes[i].DrugTypeKind); } model.AtcCodeses = externalRepository.GetAtcList(); var methods = externalRepository.GetUseMethods(); model.MethodUseList = new MultiSelectList(methods, "id", "name", model.MethodUseIds); /* ViewData["SaleTypeList"] = new SelectList(repository.GetSaleType(), "Id", * "NameRu", model.SaleTypeId);*/ var measures = externalRepository.GetMeasures(); ViewData["MeasureList"] = new SelectList(measures, "Id", "name", null); var wrappingTypes = repository.GetWrappingTypes().ToArray(); var boxes = externalRepository.GetBoxes().ToArray(); ViewData["WrappingTypes"] = new SelectList(wrappingTypes, "Id", "NameRu", 0); ViewData["Boxes"] = new SelectList(boxes, "id", "name", 0); ViewData["MeasureShortList"] = new SelectList(measures, "id", "short_name", 0); ViewData["SizeMeasureList"] = new SelectList(measures, "id", "short_name", 0); ViewData["VolumeMeasureList"] = new SelectList(measures, "id", "short_name", 0); var booleans = repository.GetBooleanList(); ViewData["Booleans"] = new SelectList(booleans, "IsSign", "NameRu", false); var origins = repository.GetOrigins().ToArray(); var plantKinds = repository.GetPlantKinds().ToArray(); var normDocs = repository.GetExpDicNormDocFarms().ToArray(); var substanceTypes = externalRepository.GetSubstanceTypes().ToArray(); ViewData["SubstanceTypes"] = new SelectList(substanceTypes, "Id", "name", null); ViewData["Origins"] = new SelectList(origins, "Id", "NameRu", null); ViewData["NormDocs"] = new SelectList(normDocs, "Id", "NameRu", null); ViewData["PlantKinds"] = new SelectList(plantKinds, "Id", "NameRu", null); ViewData["IsControlList"] = new SelectList(booleans, "IsSign", "NameRu", null); ViewData["IsPoisonList"] = new SelectList(booleans, "IsSign", "NameRu", null); ViewData["SubstanceCounties"] = new SelectList(countries, "Id", "name", 0); ViewData["SubstanceMeasureList"] = new SelectList(measures, "id", "short_name", 0); var sales = repository.GetSaleType().ToList(); ViewData["SaleTypeList"] = new SelectList(sales, "Id", "NameRu", null); ViewData["BestBeforeMeasureTypeList"] = new SelectList(measures, "id", "short_name", null); ViewData["AppPeriodMixMeasureList"] = new SelectList(measures, "id", "short_name", null); ViewData["AppPeriodOpenMeasureList"] = new SelectList(measures, "id", "short_name", null); var drugDeclarationRepository = new DrugDeclarationRepository(); for (var i = 0; i < model.ExpDrugDosages.Count; i++) { var dosage = model.ExpDrugDosages[i]; if (dosage.ExpDrugWrappings == null || dosage.ExpDrugWrappings.Count == 0) { dosage.ExpDrugWrappings = new List <EXP_DrugWrapping> { new EXP_DrugWrapping() }; } if (dosage.ExpDrugSubstances == null || dosage.ExpDrugSubstances.Count == 0) { dosage.ExpDrugSubstances = new List <EXP_DrugSubstance> { new EXP_DrugSubstance() { ExpDrugSubstanceManufactures = new List <EXP_DrugSubstanceManufacture>() { new EXP_DrugSubstanceManufacture() } } }; } if (dosage.ExpDrugPrices == null) { dosage.ExpDrugPrices = new List <EXP_DrugPrice>(); } ViewData["MeasureList" + dosage.Id] = new SelectList(measures, "Id", "name", model.ExpDrugDosages[i].DosageMeasureTypeId); ViewData["SaleTypeList" + dosage.Id] = new SelectList(sales, "Id", "NameRu", model.ExpDrugDosages[i].SaleTypeId); ViewData["BestBeforeMeasureTypeList" + dosage.Id] = new SelectList(measures, "id", "short_name", model.ExpDrugDosages[i].BestBeforeMeasureTypeDicId); ViewData["AppPeriodMixMeasureList" + dosage.Id] = new SelectList(measures, "id", "short_name", model.ExpDrugDosages[i].AppPeriodMixMeasureDicId); ViewData["AppPeriodOpenMeasureList" + dosage.Id] = new SelectList(measures, "id", "short_name", model.ExpDrugDosages[i].AppPeriodOpenMeasureDicId); for (var j = 0; j < dosage.ExpDrugWrappings.Count; j++) { var wrap = dosage.ExpDrugWrappings[j]; ViewData["WrappingTypes" + wrap.Id] = new SelectList(wrappingTypes, "Id", "NameRu", wrap.WrappingTypeId); ViewData["Boxes" + wrap.Id] = new SelectList(boxes, "Id", "name", wrap.WrappingKindId); ViewData["SizeMeasureList" + wrap.Id] = new SelectList(measures, "Id", "short_name", wrap.SizeMeasureId); ViewData["VolumeMeasureList" + wrap.Id] = new SelectList(measures, "Id", "short_name", wrap.VolumeMeasureId); } for (var j = 0; j < dosage.ExpDrugPrices.Count; j++) { var price = dosage.ExpDrugPrices[j]; model.ExpDrugDosages[i].ExpDrugPrices[j].PrimaryText = drugDeclarationRepository.GetNameByWrappingNames(price.PrimaryValue); model.ExpDrugDosages[i].ExpDrugPrices[j].SecondaryText = drugDeclarationRepository.GetNameByWrappingNames(price.SecondaryValue); model.ExpDrugDosages[i].ExpDrugPrices[j].IntermediateText = drugDeclarationRepository.GetNameByWrappingNames(price.IntermediateValue); } for (var j = 0; j < dosage.ExpDrugSubstances.Count; j++) { var id = dosage.ExpDrugSubstances[j].Id.ToString(); dosage.ExpDrugSubstances[j].CategoryName = GetCategoryName(dosage.ExpDrugSubstances[j].sr_substances); dosage.ExpDrugSubstances[j].CategoryPos = dosage.ExpDrugSubstances[j].sr_substances?.category_pos; ViewData["SubstanceTypes" + id] = new SelectList(substanceTypes, "Id", "name", dosage.ExpDrugSubstances[j].SubstanceTypeId); ViewData["Origins" + id] = new SelectList(origins, "Id", "NameRu", dosage.ExpDrugSubstances[j].OriginId); ViewData["NormDocs" + id] = new SelectList(normDocs, "Id", "NameRu", dosage.ExpDrugSubstances[j].NormDocFarmId); ViewData["PlantKinds" + id] = new SelectList(plantKinds, "Id", "NameRu", dosage.ExpDrugSubstances[j].PlantKindId); ViewData["SubstanceMeasureList" + id] = new SelectList(measures, "Id", "short_name", dosage.ExpDrugSubstances[j].MeasureId); /* ViewData["SubstanceCounties" + id] = new SelectList(countries, "Id", "name", * dosage.ExpDrugSubstances[j].CountryId);*/ ViewData["IsControlList" + id] = new SelectList(booleans, "IsSign", "NameRu", dosage.ExpDrugSubstances[j].IsControl); ViewData["IsPoisonList" + id] = new SelectList(booleans, "IsSign", "NameRu", dosage.ExpDrugSubstances[j].IsPoison); /* ViewData["SubstanceCounties" + i] = new SelectList(countries, "Id", "name", * dosage.ExpDrugSubstances[j].CountryId);*/ if (dosage.ExpDrugSubstances[j].ExpDrugSubstanceManufactures != null) { for (var k = 0; k < dosage.ExpDrugSubstances[j].ExpDrugSubstanceManufactures.Count; k++) { ViewData[ "SubstanceCounties" + dosage.ExpDrugSubstances[j].ExpDrugSubstanceManufactures[k].Id ] = new SelectList(countries, "Id", "name", dosage.ExpDrugSubstances[j].ExpDrugSubstanceManufactures[k].CountryId); } } else { dosage.ExpDrugSubstances[j].ExpDrugSubstanceManufactures = new List <EXP_DrugSubstanceManufacture> { new EXP_DrugSubstanceManufacture() }; } } } ViewData["IsGrlsList"] = new SelectList(booleans, "IsSign", "NameRu", model.IsGrls); ViewData["IsGmpList"] = new SelectList(booleans, "IsSign", "NameRu", model.IsGmp); var manufactures = repository.GetManufactureTypeList(); ViewData["ManufactureTypeList"] = new SelectList(manufactures, "Id", "NameRu", model.ManufactureTypeId); /* ViewData["BestBeforeMeasureTypeList"] = new SelectList(measures, "id", "short_name", * model.BestBeforeMeasureTypeDicId); * ViewData["AppPeriodMixMeasureList"] = new SelectList(measures, "id", "short_name", * model.AppPeriodMixMeasureDicId); * ViewData["AppPeriodOpenMeasureList"] = new SelectList(measures, "id", "short_name", * model.AppPeriodOpenMeasureDicId); */ for (var i = 0; i < model.ExpDrugOtherCountries.Count; i++) { ViewData["OtherCounties" + i] = new SelectList(countries, "Id", "name", model.ExpDrugOtherCountries[i].CountryId); } var orgManufactureTypes = repository.GetDictionaries(CodeConstManager.DIC_ORG_MANUFACTURE_TYPE); var countyDics = repository.GetDictionaries(CodeConstManager.DIC_COUNTRY_TYPE); var opfTypeDics = repository.GetDictionaries(CodeConstManager.DIC_OPF_TYPE); ViewData["OrgManufactureTypes"] = new SelectList(orgManufactureTypes, "Id", "Name", null); ViewData["CountryDics"] = new SelectList(countyDics, "Id", "Name", null); ViewData["OpfTypeDics"] = new SelectList(opfTypeDics, "Id", "Name", null); for (var i = 0; i < model.ExpDrugOrganizationses.Count; i++) { var id = model.ExpDrugOrganizationses[i].Id.ToString(); ViewData["OrgManufactureTypes" + id] = new SelectList(orgManufactureTypes, "Id", "name", model.ExpDrugOrganizationses[i].OrgManufactureTypeDicId); ViewData["CountryDics" + id] = new SelectList(countyDics, "Id", "name", model.ExpDrugOrganizationses[i].CountryDicId); ViewData["OpfTypeDics" + id] = new SelectList(opfTypeDics, "Id", "name", model.ExpDrugOrganizationses[i].OpfTypeDicId); var manufacture = repository.GetDictionaryById(CodeConstManager.DIC_ORG_MANUFACTURE_TYPE, model.ExpDrugOrganizationses[i].OrgManufactureTypeDicId); if (manufacture != null) { model.ExpDrugOrganizationses[i].ManufactureName = manufacture.Name; } } var changeTypes = repository.GetDicChangeTypes().ToArray(); ViewData["ChangeTypes"] = new SelectList(changeTypes, "Id", "Code", 0); for (var i = 0; i < model.ExpDrugChangeTypes.Count; i++) { ViewData["ChangeTypes" + i] = new SelectList(changeTypes, "Id", "Code", model.ExpDrugChangeTypes[i].ChangeTypeId); } var markList = drugPrimaryRepo.GetPrimaryMarkList(model.Id, null); var remarkTypes = repository.GetRemarkTypes().ToArray(); ViewData["RemarkTypes" + model.Id] = new SelectList(remarkTypes, "Id", "NameRu", null); model.ExpExpertiseStageRemarks = new List <EXP_ExpertiseStageRemark>(); foreach (var expDrugPrimaryRemark in markList) { model.ExpExpertiseStageRemarks.Add(expDrugPrimaryRemark); } if (model.ExpExpertiseStageRemarks.Count == 0) { model.ExpExpertiseStageRemarks.Add(new EXP_ExpertiseStageRemark()); } else { model.IsShowRemark = true; } foreach (var expDrugPrimaryRemark in model.ExpExpertiseStageRemarks) { ViewData["RemarkTypes" + model.Id + "_" + expDrugPrimaryRemark.Id] = new SelectList(remarkTypes, "Id", "NameRu", expDrugPrimaryRemark.RemarkTypeId); } ViewBag.PaymentOverdue = model.EXP_DirectionToPays.Any(e => e.Type == 1 && e.Status.Code == Dictionary.ExpDirectionToPayStatus.PaymentExpired); model.Letters = new List <EXP_DrugCorespondence>(drugPrimaryRepo.GetDrugCorespondences(model.Id, true)); }
protected virtual void FillDosageControl(EXP_ExpertiseStageDosage model) { var externalRepository = new ExternalRepository(); var repository = new ReadOnlyDictionaryRepository(); var measures = externalRepository.GetMeasures(); var wrappingTypes = repository.GetWrappingTypes().ToArray(); var boxes = externalRepository.GetBoxes().ToArray(); // var remarkTypes = repository.GetRemarkTypes().ToArray(); var sales = repository.GetSaleType().ToList(); var drugDeclarationRepository = new DrugDeclarationRepository(); model.EXP_DrugDosage.ExpDrugWrappings = new List <EXP_DrugWrapping>(); model.EXP_DrugDosage.ExpDrugPrices = new List <EXP_DrugPrice>(); model.EXP_DrugDosage.ExpDrugSubstances = new List <EXP_DrugSubstance>(); // model.EXP_DrugDosage.ExpDrugAppDosageRemarks = new List<EXP_DrugAppDosageRemark>(); // model.EXP_DrugDosage.ExpDrugAppDosageResults = new List<EXP_DrugAppDosageResult>(); /* foreach (var expDrugAppDosageRemark in model.EXP_DrugDosage.EXP_DrugAppDosageRemark) * { * model.EXP_DrugDosage.ExpDrugAppDosageRemarks.Add(expDrugAppDosageRemark); * } * if (model.EXP_DrugDosage.ExpDrugAppDosageRemarks.Count == 0) * { * model.EXP_DrugDosage.ExpDrugAppDosageRemarks.Add(new EXP_DrugAppDosageRemark()); * } * * foreach (var expDrugAppDosageRemark in model.EXP_DrugDosage.EXP_DrugAppDosageResult) * { * model.EXP_DrugDosage.ExpDrugAppDosageResults.Add(expDrugAppDosageRemark); * } * if (model.EXP_DrugDosage.ExpDrugAppDosageResults.Count == 0) * { * model.EXP_DrugDosage.ExpDrugAppDosageResults.Add(new EXP_DrugAppDosageResult()); * } */ /* ViewData["RemarkTypes" + model.EXP_DrugDosage.DrugDeclarationId] = new SelectList(remarkTypes, "Id", "NameRu", * null); * foreach (var wrap in model.EXP_DrugDosage.ExpDrugAppDosageResults) * { * ViewData["ResultTypes" + model.EXP_DrugDosage.DrugDeclarationId + "_" + wrap.Id] = new SelectList(remarkTypes, "Id", "NameRu", * wrap.RemarkTypeId); * } * foreach (var wrap in model.EXP_DrugDosage.ExpDrugAppDosageRemarks) * { * ViewData["RemarkTypes" + model.EXP_DrugDosage.DrugDeclarationId + "_" + wrap.Id] = new SelectList(remarkTypes, "Id", "NameRu", * wrap.RemarkTypeId); * }*/ foreach (var expDrugWrapping in model.EXP_DrugDosage.EXP_DrugWrapping) { model.EXP_DrugDosage.ExpDrugWrappings.Add(expDrugWrapping); } foreach (var expDrugWrapping in model.EXP_DrugDosage.EXP_DrugPrice) { model.EXP_DrugDosage.ExpDrugPrices.Add(expDrugWrapping); } for (var d = 0; d < model.EXP_DrugDosage.EXP_DrugSubstance.Count; d++) { model.EXP_DrugDosage.ExpDrugSubstances.Add(model.EXP_DrugDosage.EXP_DrugSubstance.ToList()[d]); if (model.EXP_DrugDosage.EXP_DrugSubstance.ToList()[d].ExpDrugSubstanceManufactures == null) { model.EXP_DrugDosage.EXP_DrugSubstance.ToList()[d].ExpDrugSubstanceManufactures = new List <EXP_DrugSubstanceManufacture>(); } foreach (var expDrugSubstanceManufacture in model.EXP_DrugDosage.EXP_DrugSubstance.ToList()[d].EXP_DrugSubstanceManufacture) { model.EXP_DrugDosage.EXP_DrugSubstance.ToList()[d].ExpDrugSubstanceManufactures.Add(expDrugSubstanceManufacture); } } /* foreach (var expDrugWrapping in model.EXP_DrugDosage.EXP_DrugSubstance) * { * model.EXP_DrugDosage.ExpDrugSubstances.Add(expDrugWrapping); * foreach (var expDrugSubstanceManufacture in expDrugWrapping.EXP_DrugSubstanceManufacture) * { * model.EXP_DrugDosage.ExpDrugSubstances.Add(expDrugWrapping); * } * }*/ if (model.EXP_DrugDosage.ExpDrugWrappings == null || model.EXP_DrugDosage.ExpDrugWrappings.Count == 0) { model.EXP_DrugDosage.ExpDrugWrappings = new List <EXP_DrugWrapping>(); } if (model.EXP_DrugDosage.ExpDrugSubstances == null || model.EXP_DrugDosage.ExpDrugSubstances.Count == 0) { model.EXP_DrugDosage.ExpDrugSubstances = new List <EXP_DrugSubstance> (); } if (model.EXP_DrugDosage.ExpDrugPrices == null) { model.EXP_DrugDosage.ExpDrugPrices = new List <EXP_DrugPrice>(); } ViewData["MeasureList" + model.EXP_DrugDosage.Id] = new SelectList(measures, "Id", "name", model.EXP_DrugDosage.DosageMeasureTypeId); ViewData["SaleTypeList" + model.EXP_DrugDosage.Id] = new SelectList(sales, "Id", "NameRu", model.EXP_DrugDosage.SaleTypeId); ViewData["BestBeforeMeasureTypeList" + model.EXP_DrugDosage.Id] = new SelectList(measures, "id", "short_name", model.EXP_DrugDosage.BestBeforeMeasureTypeDicId); ViewData["AppPeriodMixMeasureList" + model.EXP_DrugDosage.Id] = new SelectList(measures, "id", "short_name", model.EXP_DrugDosage.AppPeriodMixMeasureDicId); ViewData["AppPeriodOpenMeasureList" + model.EXP_DrugDosage.Id] = new SelectList(measures, "id", "short_name", model.EXP_DrugDosage.AppPeriodOpenMeasureDicId); for (var j = 0; j < model.EXP_DrugDosage.ExpDrugWrappings.Count; j++) { var wrap = model.EXP_DrugDosage.ExpDrugWrappings[j]; ViewData["WrappingTypes" + wrap.Id] = new SelectList(wrappingTypes, "Id", "NameRu", wrap.WrappingTypeId); ViewData["Boxes" + wrap.Id] = new SelectList(boxes, "Id", "name", wrap.WrappingKindId); ViewData["SizeMeasureList" + wrap.Id] = new SelectList(measures, "Id", "short_name", wrap.SizeMeasureId); ViewData["VolumeMeasureList" + wrap.Id] = new SelectList(measures, "Id", "short_name", wrap.VolumeMeasureId); } var origins = repository.GetOrigins().ToArray(); var plantKinds = repository.GetPlantKinds().ToArray(); var substanceTypes = externalRepository.GetSubstanceTypes().ToArray(); var countries = externalRepository.GetCounties().ToArray(); var booleans = repository.GetBooleanList(); for (var j = 0; j < model.EXP_DrugDosage.ExpDrugSubstances.Count; j++) { var ids = model.EXP_DrugDosage.ExpDrugSubstances[j].Id.ToString(); model.EXP_DrugDosage.ExpDrugSubstances[j].CategoryName = GetCategoryName(model.EXP_DrugDosage.ExpDrugSubstances[j].sr_substances); model.EXP_DrugDosage.ExpDrugSubstances[j].CategoryPos = model.EXP_DrugDosage.ExpDrugSubstances[j].sr_substances?.category_pos; ViewData["SubstanceTypes" + ids] = new SelectList(substanceTypes, "Id", "name", model.EXP_DrugDosage.ExpDrugSubstances[j].SubstanceTypeId); ViewData["Origins" + ids] = new SelectList(origins, "Id", "NameRu", model.EXP_DrugDosage.ExpDrugSubstances[j].OriginId); ViewData["PlantKinds" + ids] = new SelectList(plantKinds, "Id", "NameRu", model.EXP_DrugDosage.ExpDrugSubstances[j].PlantKindId); ViewData["SubstanceMeasureList" + ids] = new SelectList(measures, "Id", "short_name", model.EXP_DrugDosage.ExpDrugSubstances[j].MeasureId); ViewData["SubstanceCounties" + ids] = new SelectList(countries, "Id", "name", model.EXP_DrugDosage.ExpDrugSubstances[j].CountryId); ViewData["IsControlList" + ids] = new SelectList(booleans, "IsSign", "NameRu", model.EXP_DrugDosage.ExpDrugSubstances[j].IsControl); ViewData["NormDocs" + ids] = new SelectList(repository.GetExpDicNormDocFarms().ToArray(), "Id", "NameRu", model.EXP_DrugDosage.ExpDrugSubstances[j].NormDocFarmId); ViewData["IsPoisonList" + ids] = new SelectList(booleans, "IsSign", "NameRu", model.EXP_DrugDosage.ExpDrugSubstances[j].IsPoison); /* ViewData["SubstanceCounties" + ids] = new SelectList(countries, "Id", "name", * model.EXP_DrugDosage.ExpDrugSubstances[j].CountryId);*/ if (model.EXP_DrugDosage.ExpDrugSubstances[j].ExpDrugSubstanceManufactures != null) { for (var k = 0; k < model.EXP_DrugDosage.ExpDrugSubstances[j].ExpDrugSubstanceManufactures.Count; k++) { ViewData["SubstanceCounties" + model.EXP_DrugDosage.ExpDrugSubstances[j].ExpDrugSubstanceManufactures[k].Id.ToString()] = new SelectList(countries, "Id", "name", model.EXP_DrugDosage.ExpDrugSubstances[j].ExpDrugSubstanceManufactures[k].CountryId); } } } for (var j = 0; j < model.EXP_DrugDosage.ExpDrugPrices.Count; j++) { var price = model.EXP_DrugDosage.ExpDrugPrices[j]; model.EXP_DrugDosage.ExpDrugPrices[j].PrimaryText = drugDeclarationRepository.GetNameByWrappingNames(price.PrimaryValue); model.EXP_DrugDosage.ExpDrugPrices[j].SecondaryText = drugDeclarationRepository.GetNameByWrappingNames(price.SecondaryValue); model.EXP_DrugDosage.ExpDrugPrices[j].IntermediateText = drugDeclarationRepository.GetNameByWrappingNames(price.IntermediateValue); } }
public ActionResult ExportFilePdf(Guid id) { var db = new ncelsEntities(); string name = "Заявление на проведение экспертизы лс.pdf"; StiReport report = new StiReport(); try { report.Load(Server.MapPath("~/Reports/Mrts/DrugDeclaration.mrt")); foreach (var data in report.Dictionary.Databases.Items.OfType <StiSqlDatabase>()) { data.ConnectionString = UserHelper.GetCnString(); } var repository = new DrugDeclarationRepository(); var model = repository.GetById(id); model.IsExist = true; FillDeclarationControl(model); var registerNumber = ""; var reestrRegDate = ""; var reestrExpirationDate = ""; var numberNd = ""; foreach (var modelExpDrugDosage in model.ExpDrugDosages) { if (!string.IsNullOrEmpty(modelExpDrugDosage.ReestrNumber)) { registerNumber += modelExpDrugDosage.ReestrNumber + "; "; } if (!string.IsNullOrEmpty(modelExpDrugDosage.ReestrRegDate)) { reestrRegDate += modelExpDrugDosage.ReestrRegDate + ";"; } if (!string.IsNullOrEmpty(modelExpDrugDosage.ReestrExpirationDate)) { reestrExpirationDate += modelExpDrugDosage.ReestrExpirationDate + ";"; } if (!string.IsNullOrEmpty(modelExpDrugDosage.NumberNd)) { numberNd += modelExpDrugDosage.NumberNd + ";"; } } if (model.TypeId == 1) { reestrRegDate = model.CreatedDate.ToShortDateString(); } report.Dictionary.Variables["NumberNd"].ValueObject = numberNd; report.Dictionary.Variables["ReestrExpirationDate"].ValueObject = reestrExpirationDate; report.Dictionary.Variables["RegisterNumber"].ValueObject = registerNumber; report.Dictionary.Variables["ReestrRegDate"].ValueObject = reestrRegDate; report.Dictionary.Variables["DrugDeclarationId"].ValueObject = id; report.Render(false); } catch (Exception ex) { LogHelper.Log.Error("ex: " + ex.Message + " \r\nstack: " + ex.StackTrace); } var stream = new MemoryStream(); report.ExportDocument(StiExportFormat.Pdf, stream); stream.Position = 0; var drugDeclaration = db.EXP_DrugDeclaration.FirstOrDefault(dd => dd.Id == id); var drugDeclarationHistory = drugDeclaration.EXP_DrugDeclarationHistory.Where(dh => dh.XmlSign != null) .OrderByDescending(dh => dh.DateCreate).FirstOrDefault(); if (drugDeclarationHistory != null) { Aspose.Words.Document doc = new Aspose.Words.Document(stream); doc.InserQrCodesToEnd("ExecutorSign", drugDeclarationHistory.XmlSign); var pdfFile = new MemoryStream(); pdfFile.Position = 0; stream.Close(); return(new FileStreamResult(pdfFile, "application/pdf")); } return(new FileStreamResult(stream, "application/pdf")); }