Exemple #1
0
        public IActionResult Edit(CaseLoadCorrection model)
        {
            SetViewbag(model.CaseId);
            if (!ModelState.IsValid)
            {
                return(View(nameof(Edit), model));
            }

            string _isvalid = IsValid(model);

            if (_isvalid != string.Empty)
            {
                SetErrorMessage(_isvalid);
                return(View(nameof(Edit), model));
            }

            var currentId = model.Id;

            if (service.CaseLoadCorrection_SaveData(model))
            {
                SetAuditContext(service, SourceTypeSelectVM.CaseLoadCorrection, model.Id, currentId == 0);
                this.SaveLogOperation(currentId == 0, model.Id);
                SetSuccessMessage(MessageConstant.Values.SaveOK);
                return(RedirectToAction(nameof(Edit), new { id = model.Id }));
            }
            else
            {
                SetErrorMessage(MessageConstant.Values.SaveFailed);
            }
            return(View(nameof(Edit), model));
        }
Exemple #2
0
        /// <summary>
        /// Запис на Коригиращи коефициенти по дело
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool CaseLoadCorrection_SaveData(CaseLoadCorrection model)
        {
            try
            {
                var caseSave = repo.GetById <Case>(model.CaseId);

                if (model.Id > 0)
                {
                    //Update
                    var saved = repo.GetById <CaseLoadCorrection>(model.Id);
                    saved.CaseId         = model.CaseId;
                    saved.CorrectionDate = model.CorrectionDate;

                    var _changeCorrection = false;
                    if (saved.CaseLoadCorrectionActivityId != model.CaseLoadCorrectionActivityId)
                    {
                        saved.CaseLoadCorrectionActivityId = model.CaseLoadCorrectionActivityId;
                        saved.CorrectionLoadIndex          = GetLoadCorrection(model.CaseLoadCorrectionActivityId);
                        _changeCorrection = true;
                    }

                    saved.DateWrt = DateTime.Now;
                    saved.UserId  = userContext.UserId;
                    repo.Update(saved);
                    repo.SaveChanges();

                    if (_changeCorrection)
                    {
                        caseSave.CorrectionLoadIndex = GetSumCorrectionForCaseId(saved.CaseId);
                        caseSave.DateWrt             = DateTime.Now;
                        caseSave.UserId = userContext.UserId;
                        repo.Update(caseSave);
                        repo.SaveChanges();
                    }
                }
                else
                {
                    model.CorrectionLoadIndex = GetLoadCorrection(model.CaseLoadCorrectionActivityId);
                    model.DateWrt             = DateTime.Now;
                    model.UserId = userContext.UserId;
                    repo.Add <CaseLoadCorrection>(model);
                    repo.SaveChanges();

                    caseSave.CorrectionLoadIndex = GetSumCorrectionForCaseId(model.CaseId);
                    caseSave.DateWrt             = DateTime.Now;
                    caseSave.UserId = userContext.UserId;
                    repo.Update(caseSave);
                    repo.SaveChanges();
                }
                return(true);
            }
            catch (Exception ex)
            {
                logger.LogError(ex, $"Грешка при запис на Коригиращи коефициенти по дело Id={ model.Id }");
                return(false);
            }
        }
Exemple #3
0
        /// <summary>
        /// Добавяне на Коригиращи коефициенти по дело
        /// </summary>
        /// <param name="caseId"></param>
        /// <returns></returns>
        public IActionResult Add(int caseId)
        {
            if (!CheckAccess(service, SourceTypeSelectVM.CaseLoadCorrection, null, AuditConstants.Operations.Append, caseId))
            {
                return(Redirect_Denied());
            }
            var model = new CaseLoadCorrection()
            {
                CaseId         = caseId,
                CourtId        = userContext.CourtId,
                CorrectionDate = DateTime.Now
            };

            SetViewbag(caseId);
            return(View(nameof(Edit), model));
        }
Exemple #4
0
        /// <summary>
        /// Валидация преди запис Коригиращи коефициенти по дело
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        private string IsValid(CaseLoadCorrection model)
        {
            if (model.CaseLoadCorrectionActivityId < 1)
            {
                return("Изберете вид корекция");
            }

            if (model.CorrectionDate == null)
            {
                return("Въведете дата на корекция");
            }

            if (service.IsExistCaseLoadCorrection(model.Id, model.CaseId, model.CaseLoadCorrectionActivityId))
            {
                return("Има въведен такъв коригиращ коефициент");
            }

            return(string.Empty);
        }
Exemple #5
0
        /// <summary>
        /// Запис на Коригиращи коефициенти по дело
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool CaseLoadCorrection_SaveData(CaseLoadCorrection model)
        {
            try
            {
                var caseSave = repo.GetById <Case>(model.CaseId);

                if (model.Id > 0)
                {
                    //Update
                    var saved = repo.GetById <CaseLoadCorrection>(model.Id);
                    saved.CaseId         = model.CaseId;
                    saved.CorrectionDate = model.CorrectionDate;

                    var _changeCorrection = false;
                    if (saved.CaseLoadCorrectionActivityId != model.CaseLoadCorrectionActivityId)
                    {
                        saved.CaseLoadCorrectionActivityId = model.CaseLoadCorrectionActivityId;
                        saved.CorrectionLoadIndex          = GetLoadCorrection(model.CaseLoadCorrectionActivityId);
                        _changeCorrection = true;
                    }

                    saved.DateWrt = DateTime.Now;
                    saved.UserId  = userContext.UserId;
                    repo.Update(saved);
                    repo.SaveChanges();

                    if (_changeCorrection)
                    {
                        caseSave.CorrectionLoadIndex = GetCaseLoadCorrection(saved.CaseId);
                        caseSave.DateWrt             = DateTime.Now;
                        caseSave.UserId = userContext.UserId;
                        repo.Update(caseSave);
                        repo.SaveChanges();
                    }
                }
                else
                {
                    model.CorrectionLoadIndex = GetLoadCorrection(model.CaseLoadCorrectionActivityId);
                    model.DateWrt             = DateTime.Now;
                    model.UserId = userContext.UserId;
                    repo.Add <CaseLoadCorrection>(model);
                    repo.SaveChanges();

                    caseSave.CorrectionLoadIndex = GetCaseLoadCorrection(model.CaseId);
                    caseSave.DateWrt             = DateTime.Now;
                    caseSave.UserId = userContext.UserId;
                    repo.Update(caseSave);
                    repo.SaveChanges();
                }

                // тази част я има и като метод в CaseLoadIndexService
                var caseLoadIndices = repo.AllReadonly <CaseLoadIndex>()
                                      .Include(x => x.Case)
                                      .Where(x => x.CaseId == model.CaseId &&
                                             x.DateExpired == null)
                                      .ToList();

                foreach (var caseLoad in caseLoadIndices)
                {
                    var caseLoadCorrectionIdex = GetCaseLoadCorrectionToDate(model.CaseId, caseLoad.DateActivity);
                    caseLoad.BaseIndex = caseLoadCorrectionIdex > 0 ? caseLoad.Case.LoadIndex * caseLoadCorrectionIdex : caseLoad.Case.LoadIndex;
                    caseLoad.DateWrt   = DateTime.Now;
                    caseLoad.UserId    = userContext.UserId;
                    repo.Update(caseLoad);
                }
                repo.SaveChanges();

                return(true);
            }
            catch (Exception ex)
            {
                logger.LogError(ex, $"Грешка при запис на Коригиращи коефициенти по дело Id={ model.Id }");
                return(false);
            }
        }