/// <summary> /// Добавяне на шифър /// </summary> /// <returns></returns> public IActionResult AddCaseCode() { SetBreadcrumsCaseCode(0); var model = new CaseCode() { }; return(View(nameof(EditCaseCode), model)); }
/// <summary> /// Запис на шифър /// </summary> /// <param name="model"></param> /// <param name="types"></param> /// <returns></returns> public bool CaseCode_SaveData(CaseCode model, List <int> types) { try { if (model.Id > 0) { //Update var saved = repo.GetById <CaseCode>(model.Id); saved.Code = model.Code; saved.Label = model.Label; saved.Description = model.Description; saved.IsActive = model.IsActive; saved.DateStart = model.DateStart; saved.DateEnd = model.DateEnd; saved.LawBaseDescription = model.LawBaseDescription; //Изтриване на caseTypeCode за това ид var caseTypeCodes = repo.AllReadonly <CaseTypeCode>().Where(x => x.CaseCodeId == model.Id).ToList(); repo.DeleteRange(caseTypeCodes); repo.Update(saved); } else { //Insert int maxOrderNumber = repo.AllReadonly <CaseCode>() .Select(x => x.OrderNumber) .DefaultIfEmpty(0) .Max(); model.OrderNumber = maxOrderNumber + 1; repo.Add <CaseCode>(model); } //записва код към типове foreach (var item in types) { CaseTypeCode newCaseTypeCode = new CaseTypeCode(); newCaseTypeCode.CaseTypeId = item; newCaseTypeCode.CaseCodeId = model.Id; repo.Add <CaseTypeCode>(newCaseTypeCode); } repo.SaveChanges(); return(true); } catch (Exception ex) { logger.LogError(ex, $"Грешка при запис на CaseCode Id={ model.Id }"); return(false); } }
public IActionResult EditCaseCode(CaseCode model, string typesJson) { if (!ModelState.IsValid) { SetBreadcrumsCaseCode(model.Id); return(View(nameof(EditCaseCode), model)); } var currentId = model.Id; List <int> codeTypes = JsonConvert.DeserializeObject <List <int> >(typesJson); if (service.CaseCode_SaveData(model, codeTypes)) { this.SaveLogOperation(currentId == 0, model.Id); SetSuccessMessage(MessageConstant.Values.SaveOK); return(RedirectToAction(nameof(EditCaseCode), new { id = model.Id })); } else { SetErrorMessage(MessageConstant.Values.SaveFailed); } SetBreadcrumsCaseCode(model.Id); return(View(nameof(EditCaseCode), model)); }