public override ActionResult AppDosage(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var dosageRepository = new AppDosageRepository(); var model = dosageRepository.GetStageByAppDosageId(id.Value); if (model == null) { return(HttpNotFound()); } FillDosageControl(model); var safetyReportDosageStage = dosageRepository.GetStageDosage(model.DosageId, CodeConstManager.STAGE_SAFETYREPORT); model.ExpertiseSafetyreportFinalDoc = safetyReportDosageStage != null?safetyReportDosageStage.EXP_ExpertiseSafetyreportFinalDoc.FirstOrDefault() : null; model.EXP_DrugDosage.EXP_DrugDeclaration.ExpDicPrimaryOtds = new ReadOnlyDictionaryRepository().GetExpDicPrimaryOTDs().Where(e => e.ParentId == null).ToList(); var repository = new ReadOnlyDictionaryRepository(); ViewData["FinalyDocResultList" + model.EXP_DrugDosage.DrugDeclarationId] = new SelectList(repository.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)); }
public FileLink SendToApplicant(string id, Employee getCurrentEmployee) { var file = AppContext.FileLinks.FirstOrDefault(e => e.Id == new Guid(id)); if (file == null) { return(null); } var status = new ReadOnlyDictionaryRepository().GetDicFileLinkStatusByCode(CodeConstManager.STATUS_FILE_CODE_SENDED); file.StatusId = status.Id; AppContext.SaveChanges(); var declaraion = AppContext.EXP_DrugDeclaration.FirstOrDefault(e => e.Id == file.DocumentId); if (declaraion != null) { 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 = getCurrentEmployee.Id, Note = "Инструкция для согласования" }; new DrugDeclarationRepository().SaveHisotry(history, UserHelper.GetCurrentEmployee().Id); } file.DIC_FileLinkStatus = status; return(file); }
public virtual string GetTreeData(Guid id, bool withRemarks = false, bool disabled = false) { var model = GetExpertiseStage(id); var dicRepo = new ReadOnlyDictionaryRepository(); var flatObjects = model.EXP_DrugDeclaration.EXP_DIC_Type.Code == EXP_DIC_Type.ReRegistration ? dicRepo.GetExpDicPrimaryOTDs(new[] { EXP_DIC_PrimaryOTD.Module4, EXP_DIC_PrimaryOTD.Module5 }).ToArray() : dicRepo.GetExpDicPrimaryOTDs().ToArray(); if (model.OtdIds == null) { model.OtdIds = ""; } var odtIds = model.OtdIds.Split(','); Dictionary <long, string> otdRemarks = new Dictionary <long, string>(); if (withRemarks && !string.IsNullOrEmpty(model.OtdRemarks)) { foreach (var rmStr in model.OtdRemarks.Split(new[] { "+++" }, StringSplitOptions.RemoveEmptyEntries)) { var items = rmStr.Split(new[] { "-->" }, StringSplitOptions.None); otdRemarks.Add(long.Parse(items[0]), items[1]); } } List <RecursiveObject> recursiveObjects = FillRecursive(flatObjects, null, odtIds, withRemarks, otdRemarks, disabled); return(new JavaScriptSerializer().Serialize(recursiveObjects)); }
public void CreateLetter(int stageId, Guid authorId, Guid declarationId, string subjectCode, string text) { var subject = AppContext.EXP_DIC_CorespondenceSubject.FirstOrDefault(e => e.Code == subjectCode && !e.IsDeleted); var mail = new EXP_DrugCorespondence { Id = Guid.NewGuid(), AuthorId = authorId, DateCreate = DateTime.Now, DrugDeclarationId = declarationId, KindId = CodeConstManager.CORESPONDENCE_KIND_ELECTRONIC, TypeId = CodeConstManager.CORESPONDENCE_TYPE_INBOX, StageId = stageId, SubjectId = subject.Id, Subject = subject.NameRu, Note = text }; var status = new ReadOnlyDictionaryRepository().GetDictionaries(CodeConstManager.STATUS_DRAFT).FirstOrDefault(); if (status != null) { mail.StatusId = status.Id; } AppContext.EXP_DrugCorespondence.Add(mail); AppContext.SaveChanges(); }
public ActionResult SubTaskResult(Guid taskMaterialId, string type) { var model = repo.SubTaskResult(taskMaterialId, type); if (type == "create") { ViewData["LabMarks"] = new SelectList(repo.GetLaboratoryMark(), "Id", "NameRu"); ViewData["SearchTask"] = new SelectList(repo.GetSearchTaskId(), "Id", "TaskNumber"); //ViewData["SearchTask"] = new SelectList(repo.GetSearchTaskId(), "TaskNumber"); ViewData["SearchProduct"] = new SelectList(repo.GetSearchProductId(), "Id", "NameRu"); //ViewData["SearchProduct"] = new SelectList(repo.GetSearchProductId(), "NameRu"); ViewData["SearchLaboratoryTypeId"] = new SelectList(repo.GetSearchLaboratoryTypeId(), "Id", "NameRu"); //ViewData["SearchLaboratoryTypeId"] = new SelectList(repo.GetSearchLaboratoryTypeId(), "NameRu"); ViewData["SearchPRId"] = new SelectList(repo.GetSearchPRId(), "SubTaskNumber"); ViewData["LabMaskNd"] = new SelectList(repo.GetRegulation(), "Id", "NameRu"); var booleans = new ReadOnlyDictionaryRepository().GetUOBKCheck(); ViewData["ExpertiseResults"] = new SelectList(booleans, "ExpertiseResult", "Name", ""); } else { ViewData["LabMarks"] = new SelectList(repo.GetLaboratoryMark(), "Id", "NameRu"); ViewData["LabMaskNd"] = new SelectList(repo.GetRegulation(), "Id", "NameRu"); var booleans = new ReadOnlyDictionaryRepository().GetUOBKCheck(); ViewData["ExpertiseResults"] = new SelectList(booleans, "ExpertiseResult", "Name"); } return(PartialView(model)); }
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 ExpDocumentView(Guid id) { var stage = expRepo.GetAssessmentStage(id); var model = stage.OBK_AssessmentDeclaration; var expDocResult = expRepo.GetStageExpDocResult(model.Id); if (expDocResult != null) { var booleans = new ReadOnlyDictionaryRepository().GetUOBKCheck(); ViewData["UObkExpertiseResult"] = new SelectList(booleans, "ExpertiseResult", "Name", expDocResult.ExpResult); } else { var booleans = new ReadOnlyDictionaryRepository().GetUOBKCheck(); ViewData["UObkExpertiseResult"] = new SelectList(booleans, "ExpertiseResult", "Name"); } //// номерклатура //var nomeclature = new AssessmentStageRepository().GetRefNomenclature(); //ViewData["UObkNomenclature"] = new SelectList(nomeclature, "Id", "Name"); ////основание //var reasons = new SafetyAssessmentRepository().GetRefReasons(); //ViewData["UObkReasons"] = new SelectList(reasons, "ExpertiseResult", "Name"); return(PartialView(model)); }
public ActionResult PartyExpDocumentView(Guid id) { var stage = expRepo.GetAssessmentStage(id); var model = stage.OBK_AssessmentDeclaration; var expDocResult = expRepo.GetStageExpDocResult(model.Id); if (expDocResult != null) { ViewBag.HasExpDocumentResult = true; var booleans = new ReadOnlyDictionaryRepository().GetUOBKCheck(); ViewData["UObkExpertiseResult"] = new SelectList(booleans, "ExpertiseResult", "Name", expDocResult.ExpResult); } else { ViewBag.HasExpDocumentResult = false; var booleans = new ReadOnlyDictionaryRepository().GetUOBKCheck(); ViewData["UObkExpertiseResult"] = new SelectList(booleans, "ExpertiseResult", "Name"); } ViewData["OBKRefReasonList"] = new SelectList(expRepo.OBKRefReasonList(), "Id", "NameRu"); ViewData["ExecutorType"] = expRepo.ExecutorType(model.Id); ViewData["SignExpDocument"] = expRepo.checkSignData(stage.Id); return(PartialView(model)); }
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); model.EXP_DrugDosage.EXP_DrugDeclaration.ExpDicPrimaryOtds = new ReadOnlyDictionaryRepository().GetExpDicPrimaryOTDs().Where(e => e.ParentId == null).ToList(); model.ExpertisePharmacologicalFinalDoc = model.EXP_ExpertisePharmacologicalFinalDoc.FirstOrDefault(); if (model.ExpertisePharmacologicalFinalDoc == null) { model.ExpertisePharmacologicalFinalDoc = new EXP_ExpertisePharmacologicalFinalDoc(); model.ExpertisePharmacologicalFinalDoc.EXP_ExpertiseStageDosage = model; } var repository = new ReadOnlyDictionaryRepository(); ViewData["FinalyDocResultList" + model.EXP_DrugDosage.DrugDeclarationId] = new SelectList(repository.GetStageResultsByStage(model.EXP_ExpertiseStage.StageId), "Id", "NameRu", model.ResultId); var stageName = ExpStageNameHelper.GetName(GetStage()); ActionLogger.WriteInt(stageName + ": Получение заявки №" + model.EXP_DrugDosage.RegNumber); //todo во всех контроллерах так, позже можно замутить через наследование return(PartialView("~/Views/DrugDeclaration/AppDosage.cshtml", model)); }
public bool CreateRemark(string id, Employee employee, int dicStageId) { var model = GetExpertiseStageById(new Guid(id)); if (model == null) { return(true); } var otdIds = (model.OtdIds ?? "").Split(',').ToList(); var otds = AppContext.EXP_ExpertiseStageRemark.Where(e => e.OtdId > 0 && e.EXP_ExpertiseStage.StageId == dicStageId && e.EXP_ExpertiseStage.Id == model.Id).Select(e => e.OtdId); var dicRepo = new ReadOnlyDictionaryRepository(); var dicOtdQuery = model.EXP_DrugDeclaration.EXP_DIC_Type.Code == EXP_DIC_Type.ReRegistration ? dicRepo.GetExpDicPrimaryOTDs(null, new[] { EXP_DIC_PrimaryOTD.Module4, EXP_DIC_PrimaryOTD.Module5 }) : dicRepo.GetExpDicPrimaryOTDs(); var dicotds = dicOtdQuery.Where(e => !otdIds.Contains(e.Id.ToString()) && !otds.Contains(e.Id) && e.EXP_DIC_PrimaryOTD1.Count == 0); var expDicPrimaryOtds = dicotds as EXP_DIC_PrimaryOTD[] ?? dicotds.ToArray(); var deleteList = AppContext.EXP_ExpertiseStageRemark.Where(e => e.OtdId > 0 && e.EXP_ExpertiseStage.StageId == dicStageId && e.EXP_ExpertiseStage.Id == model.Id && otdIds.Contains(e.OtdId.ToString())); foreach (var expDrugPrimaryRemark in deleteList) { AppContext.EXP_ExpertiseStageRemark.Remove(expDrugPrimaryRemark); } AppContext.SaveChanges(); if (!expDicPrimaryOtds.Any()) { return(true); } var otdRemarks = (model.OtdRemarks ?? "").Split(new[] { "+++" }, StringSplitOptions.RemoveEmptyEntries) .Select(e => { var items = e.Split(new[] { "-->" }, StringSplitOptions.RemoveEmptyEntries); return(new { id = int.Parse(items[0]), remark = (items.Length > 1 ?items[1] : "") }); }).ToList(); foreach (var dicotd in expDicPrimaryOtds) { if (dicotd.EXP_DIC_PrimaryOTD1.Count != 0) { continue; } var remark = otdRemarks.FirstOrDefault(e => e.id == dicotd.Id); var entity = new EXP_ExpertiseStageRemark { OtdId = dicotd.Id, NameRemark = remark != null?string.Format("{0} - {1}", dicotd.FullName, remark.remark) : dicotd.FullName, ExecuterId = employee.Id, StageId = model.Id, RemarkDate = DateTime.Now }; AppContext.EXP_ExpertiseStageRemark.Add(entity); } AppContext.SaveChanges(); return(true); }
public ActionResult GetPriceType3(ModelRequest request, Guid id) { var items = db.PricesViews.Where(o => o.PriceProjectId == id && o.Type == 3); /* var count = items.Count(); * * var data = new * { * draw = request.Draw, * recordsFiltered = count, * recordsTotal = count, * Data = items.ToList() * };*/ var countyDics = new ReadOnlyDictionaryRepository().GetDictionaries(CodeConstManager.DIC_COUNTRY_TYPE); var list = countyDics.Where(e => CodeConstManager.LIST_COUNTY_CODE_FOR_PRICE.Contains(e.Code)); var prices = new ArrayList(); var ids = new List <Guid>(); foreach (var country in list) { var exist = items.FirstOrDefault(e => e.CountryId == country.Id); if (exist != null) { prices.Add(exist); ids.Add(exist.Id); } else { var price = new { Id = Guid.NewGuid(), CountryName = country.Name, ManufacturerPrice = "", ManufacturerPriceNote = "", Type = (int)PriceType.ImnPrice, PriceProjectId = id, CountryId = country.Id, }; prices.Add(price); } } foreach (var item in items.Where(e => !ids.Contains(e.Id))) { prices.Add(item); } var count = prices.Count; var data = new { draw = request.Draw, recordsFiltered = count, recordsTotal = count, Data = prices }; return(Json(data, JsonRequestBehavior.AllowGet)); }
public ActionResult SendToNextStage(Guid expStageId, int[] nextStageIds, int?stageResultId = null) { var repository = new ExpertiseStageRepository(); if (repository.HasNotFixedRemarks(expStageId)) { return(Json( new { failed = true, msg = "Невозможно передать на следующий этап так как есть не исправленные замечания" }, JsonRequestBehavior.AllowGet)); } string resultDescription; var expertiseStage = repository.GetById(expStageId); var dec = repository.GetDeclarationByStage(expStageId); if (expertiseStage.EXP_DIC_Stage.Code == CodeConstManager.STAGE_SAFETYREPORT.ToString()) { var rDictionary = new ReadOnlyDictionaryRepository(); EXP_DIC_StageResult stageResult = null; if (stageResultId.HasValue) { stageResult = rDictionary.GetStageResultById(stageResultId.Value); } if (stageResult != null && stageResult.Code == EXP_DIC_StageResult.DoesNotMatchCode) { repository.ToBackStage(dec.Id, expStageId, nextStageIds, out resultDescription); } else { repository.ToNextStage(dec.Id, expStageId, nextStageIds, out resultDescription); } } else { repository.ToNextStage(dec.Id, expStageId, nextStageIds, out resultDescription); } var from = ExpStageNameHelper.GetName(expertiseStage.StageId); var to = ""; foreach (var nextStageId in nextStageIds) { if (!String.IsNullOrEmpty(to)) { to += ", "; } var stageName = ExpStageNameHelper.GetName(nextStageId); to += stageName; } ActionLogger.WriteInt(" Отправка заявления №" + dec.Number + " на другой этап", "from: " + from + "; to:" + to); return(Json("OK", 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 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)); }
public IQueryable <EXP_DIC_Stage> ListStages(int currentDicStageId, int regTypeId, int stageResultId = 0) { var query = AppContext.EXP_DIC_Stage.Where(e => !e.IsDeleted && e.Code != EXP_DIC_Stage.ProcCenter && e.Code != EXP_DIC_Stage.ExpertCouncil && e.Id != currentDicStageId); var regType = AppContext.EXP_DIC_Type.FirstOrDefault(e => e.Id == regTypeId); if (regType.Code != EXP_DIC_Type.Registration) { return(query); } var rep = new ExpertiseStageRepository(); var stage = rep.GetDicStageById(currentDicStageId); switch (stage.Code) { case EXP_DIC_Stage.PharmacologicalExp: query = query.Where(e => e.Code == EXP_DIC_Stage.Translate); break; case EXP_DIC_Stage.PharmaceuticalExp: query = query.Where(e => e.Code == EXP_DIC_Stage.AnalyticalExp || e.Code == EXP_DIC_Stage.Translate); break; case EXP_DIC_Stage.AnalyticalExp: query = query.Where(e => e.Code == EXP_DIC_Stage.PharmaceuticalExp); break; case EXP_DIC_Stage.Translate: query = query.Where(e => e.Code == EXP_DIC_Stage.SafetyConclusion); break; case EXP_DIC_Stage.SafetyConclusion: var dictionaryRepo = new ReadOnlyDictionaryRepository(); var stageResult = dictionaryRepo.GetStageResultById(stageResultId); if (stageResult.Code == EXP_DIC_StageResult.MatchesCode) { query = query.Where(e => e.Code == EXP_DIC_Stage.Translate); } else { query = query.Where(e => e.Code == EXP_DIC_Stage.Translate || e.Code == EXP_DIC_Stage.PharmaceuticalExp || e.Code == EXP_DIC_Stage.PharmacologicalExp); } break; } return(query); }
public bool UpdateOtd(Guid stageId, int noteId, bool isChecked, Guid id) { var repository = new ReadOnlyDictionaryRepository().GetExpDicPrimaryOTDs(); var model = GetExpertiseStageById(stageId); if (model == null) { return(false); } var dic = repository.FirstOrDefault(e => e.Id == noteId); if (model.OtdIds == null) { model.OtdIds = ""; } var otdIds = model.OtdIds.Split(',').ToList(); var prevOtdIds = new List <string>(otdIds); GetOtdChildren(otdIds, dic, isChecked); GetOtdParent(otdIds, dic, isChecked); var uncheckedOtIds = prevOtdIds.Except(otdIds).ToList(); var checkedOtIds = otdIds.Except(prevOtdIds).ToList(); var addLogInfo = ""; if (uncheckedOtIds.Count > 0) { var uncheckedOtIdsStr = String.Join(",", uncheckedOtIds); addLogInfo += "снята галочка с пунктов: " + uncheckedOtIdsStr; } if (checkedOtIds.Count > 0) { var checkedOtIdsStr = String.Join(",", checkedOtIds); addLogInfo += "поставлена галочка в пунктах: " + checkedOtIdsStr; } var stageName = ExpStageNameHelper.GetName(model.StageId); ActionLogger.WriteInt(AppContext, stageName + ": Заявление №" + model.EXP_DrugDeclaration.Number + ": изменения значений экспертизы(галочки)", addLogInfo); model.OtdIds = string.Join(",", otdIds); AppContext.SaveChanges(); return(true); }
public virtual ActionResult GetChangeType(int?id) { var model = new ReadOnlyDictionaryRepository().GetDicChangeTypeById(id); if (model == null) { return(Json(new { isSuccess = false })); } return(Json(new { changeName = model.ChangeName, changeType = model.ChangeType, isSuccess = true })); }
public ActionResult ExpDocView(Guid id) { var stage = GetAssessmentStage(id); var model = stage.OBK_AssessmentDeclaration; //Результат var booleans = new ReadOnlyDictionaryRepository().GetUOBKCheck(); ViewData["UObkExpertiseResult"] = new SelectList(booleans, "ExpertiseResult", "Name"); // номерклатура var nomeclature = new AssessmentStageRepository().GetRefNomenclature(); ViewData["UObkNomenclature"] = new SelectList(nomeclature, "Id", "NameRu"); //основание var reasons = new SafetyAssessmentRepository().GetRefReasons(); ViewData["UObkReasons"] = new SelectList(reasons, "Id", "Name", "ExpertiseResult"); return(PartialView(model)); }
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); model.ExpDrugAnaliseIndicators = new List <EXP_DrugAnaliseIndicator>(); var list = model.EXP_DrugAnaliseIndicator.OrderBy(e => e.PositionNumber); var repository = new ReadOnlyDictionaryRepository(); var remarkTypes = repository.GetDicAnalyseIndicators().ToArray(); ViewData["AnalyseIndicatorList" + model.Id] = new SelectList(remarkTypes, "Id", "NameRu", null); var booleans = repository.GetBooleanList(); ViewData["Booleans" + model.Id] = new SelectList(booleans, "IsSign", "NameRu", null); foreach (var expDrugAnaliseIndicator in list) { // ViewData["AnalyseIndicatorList"+ expDrugAnaliseIndicator.Id] = new SelectList(remarkTypes, "Id", "NameRu", expDrugAnaliseIndicator.AnalyseIndicator); model.ExpDrugAnaliseIndicators.Add(expDrugAnaliseIndicator); } ViewData["FinalyDocResultList" + model.EXP_DrugDosage.DrugDeclarationId] = new SelectList(repository.GetStageResultsByStage(model.EXP_ExpertiseStage.StageId), "Id", "NameRu", model.ResultId); var stageName = ExpStageNameHelper.GetName(GetStage()); ActionLogger.WriteInt(stageName + ": Получение заявки №" + model.EXP_DrugDosage.RegNumber); return(PartialView("~/Views/DrugAnalitic/AppDosage.cshtml", model)); }
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)); }
public CorespondenceEntity CreateMailRemark(string id, Employee employee) { var model = GetExpertiseStageById(new Guid(id)); if (model == null) { return(new CorespondenceEntity() { IsSuccess = false, StageType = 0 }); } var coresponce = new CorespondenceEntity { StageType = model.StageId }; var remarks = AppContext.EXP_ExpertiseStageRemark.Where(e => e.StageId == model.Id && !e.IsReadOnly && e.CorespondenceId == null); var modelID = Guid.NewGuid(); var mail = new EXP_DrugCorespondence { Id = modelID, AuthorId = employee.Id, DateCreate = DateTime.Now, DrugDeclarationId = model.DeclarationId, KindId = CodeConstManager.CORESPONDENCE_KIND_ELECTRONIC, TypeId = CodeConstManager.CORESPONDENCE_TYPE_INBOX, StageId = model.StageId, SubjectId = AppContext.EXP_DIC_CorespondenceSubject.FirstOrDefault(e => e.Code == EXP_DIC_CorespondenceSubject.Remarks && !e.IsDeleted).Id }; var status = new ReadOnlyDictionaryRepository().GetDictionaries(CodeConstManager.STATUS_DRAFT).FirstOrDefault(); if (status != null) { mail.StatusId = status.Id; } var builder = new StringBuilder("Список замечании:"); var index = 1; foreach (var expDrugPrimaryRemark in remarks) { var entity = new EXP_DrugCorespondenceRemark { AnswerRemark = expDrugPrimaryRemark.AnswerRemark, ExecuterId = expDrugPrimaryRemark.ExecuterId, FixedDate = expDrugPrimaryRemark.FixedDate, IsAccepted = expDrugPrimaryRemark.IsAccepted, IsFixed = expDrugPrimaryRemark.IsFixed, NameRemark = expDrugPrimaryRemark.NameRemark, Note = expDrugPrimaryRemark.Note, RemarkDate = expDrugPrimaryRemark.RemarkDate, RemarkTypeId = expDrugPrimaryRemark.RemarkTypeId, }; mail.EXP_DrugCorespondenceRemark.Add(entity); expDrugPrimaryRemark.IsReadOnly = true; expDrugPrimaryRemark.CorespondenceId = modelID.ToString(); builder.AppendLine(index + ". " + expDrugPrimaryRemark.NameRemark + ";"); index++; } var stageType = new ReadOnlyDictionaryRepository().GetDicStageById(model.StageId); mail.Subject = "Замечания с экспертизы (" + stageType.NameRu + ")"; mail.Note = builder.ToString(); AppContext.EXP_DrugCorespondence.Add(mail); AppContext.SaveChanges(); coresponce.IsSuccess = true; return(coresponce); }
public EXP_DrugCorespondence SendMailRemark(string id, Employee getCurrentEmployee) { try { var model = AppContext.EXP_DrugCorespondence.FirstOrDefault(e => e.Id == new Guid(id)); if (model == null) { return(null); } if (!model.DateSend.HasValue) { model.DateSend = DateTime.Now; } model.IsReadOnly = true; var status = new ReadOnlyDictionaryRepository().GetDictionaries(CodeConstManager.STATUS_SEND).FirstOrDefault(); if (status != null) { model.StatusId = status.Id; } AppContext.SaveChanges(); var expertiseStage = AppContext.EXP_ExpertiseStage.FirstOrDefault(x => !x.IsHistory && x.StageId == model.StageId && x.DeclarationId == model.DrugDeclarationId); if (expertiseStage != null) { expertiseStage.IsSuspended = true; expertiseStage.SuspendedStartDate = DateTime.Now; AppContext.SaveChanges(); } else { LogHelper.Log.ErrorFormat("Не удалось найти expertiseStage по EXP_DrugCorespondence с id {0}", model.Id); } model.Dictionary = status; var declaraion = AppContext.EXP_DrugDeclaration.FirstOrDefault(e => e.Id == model.DrugDeclarationId); if (declaraion != null) { // declaraion.DesignNote = model.Note; declaraion.DesignDate = DateTime.Now; if (model.EXP_DIC_CorespondenceSubject.Code == EXP_DIC_CorespondenceSubject.Remarks) { declaraion.StatusId = CodeConstManager.STATUS_EXP_REJECT_ID; new DrugDeclarationRepository().Update(declaraion); } var history = new EXP_DrugDeclarationHistory() { DateCreate = DateTime.Now, DrugDeclarationId = declaraion.Id, StatusId = declaraion.StatusId, UserId = getCurrentEmployee.Id, Note = model.Note }; new DrugDeclarationRepository().SaveHisotry(history, UserHelper.GetCurrentEmployee().Id); } return(model); } catch (DbEntityValidationException dbEx) { LogHelper.Log.Error("DbEntityValidationException", dbEx); foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { LogHelper.Log.ErrorFormat("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } throw; } catch (Exception ex) { LogHelper.Log.Error("SendMailRemark", ex); throw; } }
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); } }
/// <summary> /// Для таблицы сведения о стране в ЛС /// </summary> /// <param name="request"></param> /// <param name="id"></param> /// <returns>Json</returns> public ActionResult GetPriceCountry(ModelRequest request, Guid id) { var items = db.PricesViews.Where(o => o.PriceProjectId == id && o.Type == (int)PriceType.LsPrice); var itemsVm = items.Select(i => new { Id = i.Id, PriceProjectId = i.PriceProjectId, CountryId = i.CountryId, Type = i.Type, CountryName = i.CountryName, ManufacturerPrice = i.ManufacturerPrice, ManufacturerPriceNote = i.ManufacturerPriceNote, ManufacturerPriceCurrencyDicId = i.ManufacturerPriceCurrencyDicId, ManufacturerPriceWithLink = i.ManufacturerPrice.ToString() + " " + i.ManufacturerPriceCurrencyName + " " + i.ManufacturerPriceNote, LimitPrice = i.LimitPrice, LimitPriceCurrencyDicId = i.LimitPriceCurrencyDicId, LimitPriceNote = i.LimitPriceNote, LimitPriceWithLink = i.LimitPrice.ToString() + " " + i.LimitPriceCurrencyName + " " + i.LimitPriceNote, AvgOptPrice = i.AvgOptPrice, AvgOptPriceCurrencyDicId = i.AvgOptPriceCurrencyDicId, AvgOptPriceNote = i.AvgOptPriceNote, AvgOptPriceWithLink = i.AvgOptPrice.ToString() + " " + i.AvgOptPriceCurrencyName + " " + i.AvgOptPriceNote, AvgRozPrice = i.AvgRozPrice, AvgRozPriceCurrencyDicId = i.AvgRozPriceCurrencyDicId, AvgRozPriceNote = i.AvgRozPriceNote, AvgRozPriceWithLink = i.AvgRozPrice.ToString() + " " + i.AvgRozPriceCurrencyName + " " + i.AvgOptPriceNote, IsIncluded = i.IsIncluded, i.IsAvgOptPrice, i.IsAvgRozPrice, i.IsLimitPrice, i.IsManufacturerPrice, i.IsUnitPrice }); var countyDics = new ReadOnlyDictionaryRepository().GetDictionaries(CodeConstManager.DIC_COUNTRY_TYPE); var list = countyDics.Where(e => CodeConstManager.LIST_COUNTY_CODE_FOR_PRICE.Contains(e.Code)); var prices = new ArrayList(); var ids = new List <Guid>(); foreach (var country in list) { var exist = itemsVm.FirstOrDefault(e => e.CountryId == country.Id); if (exist != null) { prices.Add(exist); ids.Add(exist.Id); } else { var price = new { Id = Guid.NewGuid(), CountryName = country.Name, Type = (int)PriceType.LsPrice, PriceProjectId = id, CountryId = country.Id, ManufacturerPriceNote = "", ManufacturerPriceWithLink = "", LimitPriceNote = "", LimitPriceWithLink = "", AvgOptPriceNote = "", AvgOptPriceWithLink = "", AvgRozPriceNote = "", AvgRozPriceWithLink = "", IsIncluded = false /* ManufacturerPrice = 0, * ManufacturerPriceNote = "", * ManufacturerPriceCurrencyDicId = Guid.Empty, * ManufacturerPriceWithLink = "", * LimitPrice = 0, * LimitPriceCurrencyDicId = Guid.Empty, * LimitPriceNote = "", * LimitPriceWithLink = "", * AvgOptPrice =0, * AvgOptPriceCurrencyDicId = Guid.Empty, * AvgOptPriceNote = "", * AvgOptPriceWithLink = "", * AvgRozPrice = 0, * AvgRozPriceCurrencyDicId = i.AvgRozPriceCurrencyDicId, * AvgRozPriceNote = i.AvgRozPriceNote, * AvgRozPriceWithLink = i.AvgRozPrice.ToString() + " " + i.AvgRozPriceCurrencyName + " " + i.AvgOptPriceNote*/ }; prices.Add(price); } } foreach (var item in itemsVm.Where(e => !ids.Contains(e.Id))) { prices.Add(item); } var count = prices.Count; var data = new { draw = request.Draw, recordsFiltered = count, recordsTotal = count, Data = prices }; return(Json(data, JsonRequestBehavior.AllowGet)); }
private void FillDeclarationControl(OBK_AssessmentDeclaration model) { var safetyRepository = new SafetyAssessmentRepository(); ViewData["ContractList"] = new SelectList(safetyRepository.GetActiveContractListWithInfo(model.EmployeeId, model.Type_Id), "Id", "ContractInfo", model.Contract_Id); if (model.Type_Id == int.Parse(CodeConstManager.OBK_SA_SERIAL)) { ViewData["TypeList"] = new SelectList(safetyRepository.GetObkRefTypes(), "Id", "NameRu", model.Type_Id = safetyRepository.GetObkRefTypes(CodeConstManager.OBK_SA_SERIAL).Id); } if (model.Type_Id == int.Parse(CodeConstManager.OBK_SA_PARTY)) { ViewData["TypeList"] = new SelectList(safetyRepository.GetObkRefTypes(), "Id", "NameRu", model.Type_Id = safetyRepository.GetObkRefTypes(CodeConstManager.OBK_SA_PARTY).Id); } if (model.Type_Id == int.Parse(CodeConstManager.OBK_SA_DECLARATION)) { ViewData["TypeList"] = new SelectList(safetyRepository.GetObkRefTypes(), "Id", "NameRu", model.Type_Id = safetyRepository.GetObkRefTypes(CodeConstManager.OBK_SA_DECLARATION).Id); } if (model.Contract_Id != null) { var contract = safetyRepository.GetContractById(model.Contract_Id); var declarant = safetyRepository.GetDeclarantById(contract.DeclarantId); var declarantContact = safetyRepository.GetDeclarantContactById(contract.DeclarantContactId); var products = safetyRepository.GetRsProductsAndSeries(contract.Id); //справочник стран var countries = safetyRepository.GetCounties(); if (declarant?.CountryId == null) { ViewData["Counties"] = new SelectList(countries, "Id", "Name"); } else { ViewData["Counties"] = new SelectList(countries, "Id", "Name", model.CountryId = declarant.CountryId); } //Валюта var currency = safetyRepository.GetObkCurrencies(); if (declarantContact?.CurrencyId == null) { ViewData["Courrency"] = new SelectList(currency, "Id", "Name"); } else { ViewData["Courrency"] = new SelectList(currency, "Id", "Name", model.CurrencyId = declarantContact.CurrencyId); } //Наличие сертификата GMP var repository = new ReadOnlyDictionaryRepository(); var booleans = repository.GetCertificateGMPCheck(); ViewData["IsGMPList"] = new SelectList(booleans, "CertificateGMPCheck", "NameRu", model.CertificateGMPCheck); var certType = safetyRepository.GetCertificateType(); if (model.CertificateTypeId == null) { ViewData["CertificateType"] = new SelectList(certType, "Id", "NameRu"); } else { ViewData["CertificateType"] = new SelectList(certType, "Id", "NameRu", model.CertificateTypeId); } //организационная форма var orgForm = safetyRepository.GetOrganizationForm(); if (declarant?.OrganizationFormId == null) { ViewData["OrganizationForm"] = new SelectList(orgForm, "Id", "Name"); } else { ViewData["OrganizationForm"] = new SelectList(orgForm, "Id", "Name", model.OrganizationFormId = declarant.OrganizationFormId); } model.StartDate = string.Format("{0:dd.MM.yyyy}", contract.StartDate); model.EndDate = string.Format("{0:dd.MM.yyyy}", contract.EndDate); model.NameKz = declarant?.NameKz ?? "нет данных"; model.NameRu = declarant?.NameRu ?? "нет данных"; model.NameEn = declarant?.NameEn ?? "нет данных"; model.ChiefLastName = declarantContact?.BossLastName ?? "нет данных"; model.ChiefFirstName = declarantContact?.BossFirstName ?? "нет данных"; model.ChiefMiddleName = declarantContact?.BossMiddleName ?? "нет данных"; model.ChiefPosition = declarantContact?.BossPosition ?? "нет данных"; model.AddressFact = declarantContact?.AddressFact ?? "нет данных"; model.AddressLegal = declarantContact?.AddressLegalRu ?? "нет данных"; model.Phone = declarantContact?.Phone ?? "нет данных"; model.Email = declarantContact?.Email ?? "нет данных"; model.BankBik = declarantContact?.BankBik ?? "нет данных"; model.BankIik = declarantContact?.BankIik ?? "нет данных"; model.BankName = declarantContact?.BankNameRu ?? "нет данных"; var resultProducts = new List <OBK_RS_Products>(); foreach (var product in products) { var prod = new OBK_RS_Products(); prod.Id = product.Id; prod.NameRu = product.NameRu; prod.NameKz = product.NameKz; prod.ProducerNameRu = product.ProducerNameRu; prod.ProducerNameKz = product.ProducerNameKz; prod.CountryNameRu = product.CountryNameRu; prod.CountryNameKZ = product.CountryNameKZ; prod.TnvedCode = product.TnvedCode; prod.KpvedCode = product.KpvedCode; prod.Price = product.Price; foreach (var productSeries in product.OBK_Procunts_Series) { var prodSeries = new OBK_Procunts_Series(); prodSeries.Id = productSeries.Id; prodSeries.Series = productSeries.Series; prodSeries.SeriesStartdate = productSeries.SeriesStartdate; prodSeries.SeriesEndDate = productSeries.SeriesEndDate; prodSeries.SeriesParty = productSeries.SeriesParty; prodSeries.SeriesShortNameRu = productSeries.sr_measures.short_name; prod.OBK_Procunts_Series.Add(prodSeries); } resultProducts.Add(prod); } model.ObkRsProductses = resultProducts; } else { var countries = safetyRepository.GetCounties(); ViewData["Counties"] = new SelectList(countries, "Id", "Name"); //Валюта var currency = safetyRepository.GetObkCurrencies(); ViewData["Courrency"] = new SelectList(currency, "Id", "Name"); var repository = new ReadOnlyDictionaryRepository(); //Наличие сертификата GMP var booleans = repository.GetCertificateGMPCheck(); ViewData["IsGMPList"] = new SelectList(booleans, "CertificateGMPCheck", "NameRu", model.CertificateGMPCheck); var certType = safetyRepository.GetCertificateType(); ViewData["CertificateType"] = new SelectList(certType, "Id", "NameRu"); //организационная форма var orgForm = safetyRepository.GetOrganizationForm(); ViewData["OrganizationForm"] = new SelectList(orgForm, "Id", "Name"); } }
public void SetDrugReestr(Guid modelId, long dosageId, int?reestrId) { var drugTypes = new Dictionary <int, int>(); drugTypes.Add(1, 1); //Лекарственный препарат drugTypes.Add(2, 2); //Иммунобиологический препарат drugTypes.Add(3, 3); //Лекарственное растительное сырье (сборы) drugTypes.Add(4, 4); //Гомеопатический препарат drugTypes.Add(6, 5); //Лекарственная субстанция drugTypes.Add(7, 6); //Лекарственный балк-продукт drugTypes.Add(8, 7); //Иммунобиологический балк-продукт drugTypes.Add(9, 8); //Радиопрепарат drugTypes.Add(10, 9); //Не фармакопейное лекарственное растительное сырье drugTypes.Add(11, 10); //Лекарственный препарат биологического происхождения var monufactureType = new Dictionary <int, string>(); monufactureType.Add(1, "1"); //Производитель monufactureType.Add(2, "2"); //Держатель лицензии // monufactureType.Add(3, "1"); //Дистрибьютор monufactureType.Add(4, "4"); //Предприятие-упаковщик monufactureType.Add(5, "5"); //Заявитель // monufactureType.Add(6, "1"); //Производитель субстанции // monufactureType.Add(7, "1"); //Разработчик // monufactureType.Add(8, "3"); //Владелец регистрационного удостоверения monufactureType.Add(9, "7"); //Выпускающий контроль monufactureType.Add(10, "3"); //Держатель регистрационного удостоверения var model = AppContext.EXP_DrugDeclaration.FirstOrDefault(e => e.Id == modelId); if (model == null) { return; } var drug = new ExternalRepository().GEtRegisterDrugById(reestrId); var reestr = new ExternalRepository().GetReestrById(reestrId.Value); if (!string.IsNullOrEmpty(model.NameRu)) { model.NameRu = reestr.name; } if (!string.IsNullOrEmpty(model.NameKz)) { model.NameKz = reestr.name_kz; } if (!string.IsNullOrEmpty(model.ConcentrationRu)) { model.ConcentrationRu = drug.concentration; } if (!string.IsNullOrEmpty(model.ConcentrationKz)) { model.ConcentrationKz = drug.concentration_kz; } if (model.AtxId == null) { model.AtxId = drug.atc_id; } if (model.MnnId == null) { model.MnnId = drug.int_name_id; } if (model.DrugFormId == null) { model.DrugFormId = drug.dosage_form_id; } if (drugTypes.ContainsKey(drug.drug_type_id)) { if (model.EXP_DrugType.Count == 0) { var type = new EXP_DrugType(); type.DrugTypeId = drugTypes[drug.drug_type_id]; model.EXP_DrugType.Add(type); } else { model.EXP_DrugType.First().DrugTypeId = drugTypes[drug.drug_type_id]; } } if (drug.sr_register_use_methods.Count > 0) { var usemethod = model.EXP_DrugUseMethod.Select(e => e.UseMethodsId) ?? new List <int>(); // AppContext.EXP_DrugUseMethod.RemoveRange(model.EXP_DrugUseMethod); foreach (var drugSrRegisterUseMethod in drug.sr_register_use_methods) { if (!usemethod.Contains(drugSrRegisterUseMethod.use_method_id)) { var useMethod = new EXP_DrugUseMethod { UseMethodsId = drugSrRegisterUseMethod.use_method_id }; model.EXP_DrugUseMethod.Add(useMethod); } } } var repository = new ReadOnlyDictionaryRepository(); var orgManufactureTypes = repository.GetDictionaries(CodeConstManager.DIC_ORG_MANUFACTURE_TYPE); var countyDics = repository.GetDictionaries(CodeConstManager.DIC_COUNTRY_TYPE).OrderBy(x => x.Name); if (reestr.sr_register_producers.Count > 0) { AppContext.EXP_DrugOrganizations.RemoveRange(model.EXP_DrugOrganizations); foreach (var registerProducer in reestr.sr_register_producers) { var producer = new EXP_DrugOrganizations(); if (registerProducer.sr_producers != null) { producer.NameRu = registerProducer.sr_producers.name; producer.NameEn = registerProducer.sr_producers.name_eng; producer.NameKz = registerProducer.sr_producers.name_kz; producer.Bin = registerProducer.sr_producers.bin; if (monufactureType.ContainsKey(registerProducer.sr_producers.type_id)) { var orgManufactureType = orgManufactureTypes.FirstOrDefault( e => e.Code == monufactureType[registerProducer.sr_producers.type_id]); if (orgManufactureType != null) { producer.OrgManufactureTypeDicId = orgManufactureType.Id; } } } if (registerProducer.sr_countries != null) { var country = countyDics.FirstOrDefault( e => e.Name.ToLower() == registerProducer.sr_countries.name.ToLower()); if (country != null) { producer.CountryDicId = country.Id; } } model.EXP_DrugOrganizations.Add(producer); } } if (reestr.sr_register_substances.Count > 0) { EXP_DrugDosage dosage; if (dosageId == 0) { dosage = new EXP_DrugDosage { ConcentrationRu = drug.concentration, ConcentrationKz = drug.concentration_kz, }; } else { dosage = AppContext.EXP_DrugDosage.FirstOrDefault(e => e.Id == dosageId); AppContext.EXP_DrugSubstance.RemoveRange(dosage.EXP_DrugSubstance); AppContext.EXP_DrugPrice.RemoveRange(dosage.EXP_DrugPrice); AppContext.EXP_DrugWrapping.RemoveRange(dosage.EXP_DrugWrapping); } /* foreach (var expDrugDosage in model.EXP_DrugDosage) * { * AppContext.EXP_DrugSubstance.RemoveRange(expDrugDosage.EXP_DrugSubstance); * AppContext.EXP_DrugPrice.RemoveRange(expDrugDosage.EXP_DrugPrice); * AppContext.EXP_DrugWrapping.RemoveRange(expDrugDosage.EXP_DrugWrapping); * } * AppContext.EXP_DrugDosage.RemoveRange(model.EXP_DrugDosage); */ if (drug.dosage_value != null) { dosage.Dosage = drug.dosage_value.Value; } dosage.DosageMeasureTypeId = drug.dosage_measure_id; dosage.RegisterId = reestrId; foreach (var reestrSrRegisterSubstance in reestr.sr_register_substances) { var substance = new EXP_DrugSubstance { SubstanceId = reestrSrRegisterSubstance.substance_id, SubstanceTypeId = reestrSrRegisterSubstance.substance_type_id, CountryId = reestrSrRegisterSubstance.country_id, MeasureId = reestrSrRegisterSubstance.measure_id }; if (reestrSrRegisterSubstance.substance_count != null) { substance.SubstanceCount = reestrSrRegisterSubstance.substance_count.ToString(); } dosage.EXP_DrugSubstance.Add(substance); } foreach (var registerBoxes in reestr.sr_register_boxes) { var wrapping = new EXP_DrugWrapping() { WrappingKindId = registerBoxes.box_id, VolumeMeasureId = registerBoxes.volume_measure_id, CountUnit = registerBoxes.unit_count, Note = registerBoxes.description, }; if (registerBoxes.volume != null) { wrapping.WrappingVolume = double.Parse(registerBoxes.volume.ToString()); } if (!string.IsNullOrEmpty(registerBoxes.box_size)) { double size; if (double.TryParse(registerBoxes.box_size, out size)) { wrapping.WrappingSize = size; } } dosage.EXP_DrugWrapping.Add(wrapping); } if (dosage.Id == 0) { model.EXP_DrugDosage.Add(dosage); } } try { AppContext.SaveChanges(); } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; } }
/// <summary> /// подача заявления /// </summary> /// <returns></returns> public ActionResult Create(string type) { var model = new OBK_AssessmentDeclaration { Id = Guid.NewGuid(), EmployeeId = UserHelper.GetCurrentEmployee().Id, StatusId = CodeConstManager.STATUS_DRAFT_ID, ObkContracts = new OBK_Contract(), ObkRsProductses = new List <OBK_RS_Products>() }; model.CertificateDate = null; model.CreatedDate = DateTime.Now; var safetyRepository = new SafetyAssessmentRepository(false); if (type == CodeConstManager.OBK_SA_SERIAL) { ViewData["TypeList"] = new SelectList(safetyRepository.GetObkRefTypes(), "Id", "NameRu", model.Type_Id = safetyRepository.GetObkRefTypes(CodeConstManager.OBK_SA_SERIAL).Id); } if (type == CodeConstManager.OBK_SA_PARTY) { ViewData["TypeList"] = new SelectList(safetyRepository.GetObkRefTypes(), "Id", "NameRu", model.Type_Id = safetyRepository.GetObkRefTypes(CodeConstManager.OBK_SA_PARTY).Id); } if (type == CodeConstManager.OBK_SA_DECLARATION) { ViewData["TypeList"] = new SelectList(safetyRepository.GetObkRefTypes(), "Id", "NameRu", model.Type_Id = safetyRepository.GetObkRefTypes(CodeConstManager.OBK_SA_DECLARATION).Id); } ViewData["ContractList"] = new SelectList(safetyRepository.GetActiveContractListWithInfo(model.EmployeeId, safetyRepository.GetObkRefTypes(type).Id), "Id", "ContractInfo", model.Contract_Id); var repository = new ReadOnlyDictionaryRepository(); //огранизационная форма var orgForm = safetyRepository.GetOrganizationForm(); ViewData["OrganizationForm"] = new SelectList(orgForm, "Id", "Name"); var certType = safetyRepository.GetCertificateType(); ViewData["CertificateType"] = new SelectList(certType, "Id", "NameRu"); //Наличие сертификата GMP var booleans = repository.GetCertificateGMPCheck(); ViewData["IsGMPList"] = new SelectList(booleans, "CertificateGMPCheck", "NameRu", model.CertificateGMPCheck); //справочник стран var countries = safetyRepository.GetCounties(); ViewData["Counties"] = new SelectList(countries, "Id", "Name"); //Валюта var currency = safetyRepository.GetObkCurrencies(); ViewData["Courrency"] = new SelectList(currency, "Id", "Name"); return(View(model)); }