Esempio n. 1
0
        /// <summary>
        /// Добавяне на шифър
        /// </summary>
        /// <returns></returns>
        public IActionResult AddCaseCode()
        {
            SetBreadcrumsCaseCode(0);
            var model = new CaseCode()
            {
            };

            return(View(nameof(EditCaseCode), model));
        }
Esempio n. 2
0
        /// <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);
            }
        }
Esempio n. 3
0
        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));
        }