Esempio n. 1
0
        public IActionResult EditCasePersonSentencePunishment(CasePersonSentencePunishment model)
        {
            SetViewbagCasePersonSentencePunishment(model.CasePersonSentenceId);

            if (!ModelState.IsValid)
            {
                return(View(nameof(EditCasePersonSentencePunishment), model));
            }

            string _isvalid = IsValidCasePersonSentencePunishment(model);

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

            var currentId = model.Id;

            if (service.CasePersonSentencePunishment_SaveData(model))
            {
                SetAuditContext(service, SourceTypeSelectVM.CasePersonSentencePunishment, model.Id, currentId == 0);
                this.SaveLogOperation(currentId == 0, model.Id);
                SetSuccessMessage(MessageConstant.Values.SaveOK);
                return(RedirectToAction(nameof(EditCasePersonSentencePunishment), new { id = model.Id }));
            }
            else
            {
                SetErrorMessage(MessageConstant.Values.SaveFailed);
            }
            return(View(nameof(EditCasePersonSentencePunishment), model));
        }
Esempio n. 2
0
        /// <summary>
        /// Валидация преди запис на наказания на лица към присъда
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        private string IsValidCasePersonSentencePunishment(CasePersonSentencePunishment model)
        {
            if (model.SentenceTypeId < 1)
            {
                return("Изберете наказание.");
            }

            //if (model.SentenseDays < 0)
            //    return "Не може да въведете отрицателен брой дни";

            return(string.Empty);
        }
Esempio n. 3
0
        /// <summary>
        /// Валидация преди запис на наказания на лица към присъда
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        private string IsValidCasePersonSentencePunishment(CasePersonSentencePunishment model)
        {
            if (model.SentenceTypeId < 1)
            {
                return("Изберете наказание.");
            }

            if (model.IsMainPunishment)
            {
                if (service.IsExistMainPunishment(model.CasePersonSentenceId, (model.Id == 0 ? (int?)null : model.Id)))
                {
                    return("Има наказание маркирано като основно.");
                }
            }

            //if (model.SentenseDays < 0)
            //    return "Не може да въведете отрицателен брой дни";

            return(string.Empty);
        }
Esempio n. 4
0
        /// <summary>
        /// Добавяне на наказания на лица към присъда
        /// </summary>
        /// <param name="casePersonSentenceId"></param>
        /// <returns></returns>
        public IActionResult AddCasePersonSentencePunishment(int casePersonSentenceId)
        {
            if (!CheckAccess(service, SourceTypeSelectVM.CasePersonSentencePunishment, null, AuditConstants.Operations.Append, casePersonSentenceId))
            {
                return(Redirect_Denied());
            }
            var casePersonSentence = service.GetById <CasePersonSentence>(casePersonSentenceId);

            SetViewbagCasePersonSentencePunishment(casePersonSentenceId);
            var model = new CasePersonSentencePunishment()
            {
                CasePersonSentenceId = casePersonSentenceId,
                CaseId              = casePersonSentence.CaseId,
                CourtId             = userContext.CourtId,
                IsSummaryPunishment = false,
                DateFrom            = DateTime.Now
            };

            return(View(nameof(EditCasePersonSentencePunishment), model));
        }
Esempio n. 5
0
        /// <summary>
        /// Запис на Наложени наказания към присъда
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool CasePersonSentencePunishment_SaveData(CasePersonSentencePunishment model)
        {
            try
            {
                model.SentenceTypeId       = model.SentenceTypeId.NumberEmptyToNull();
                model.SentenceRegimeTypeId = model.SentenceRegimeTypeId.NumberEmptyToNull();

                if (model.Id > 0)
                {
                    //Update
                    var saved        = repo.GetById <CasePersonSentencePunishment>(model.Id);
                    var sentenceType = repo.GetById <SentenceType>(model.SentenceTypeId);
                    saved.CasePersonSentenceId = model.CasePersonSentenceId;
                    saved.IsSummaryPunishment  = model.IsSummaryPunishment;
                    saved.SentenceTypeId       = model.SentenceTypeId;
                    saved.SentenseMoney        = model.SentenseMoney;
                    saved.SentenseDays         = model.SentenseDays;
                    saved.SentenseWeeks        = model.SentenseWeeks;
                    saved.SentenseMonths       = model.SentenseMonths;
                    saved.SentenseYears        = model.SentenseYears;
                    saved.SentenceText         = model.SentenceText;
                    saved.SentenceRegimeTypeId = model.SentenceRegimeTypeId;
                    saved.DateFrom             = model.DateFrom;
                    saved.DateTo      = model.DateTo;
                    saved.Description = model.Description;

                    if (!(sentenceType.HasProbation ?? false))
                    {
                        saved.ProbationStartDate = null;
                        saved.ProbationDays      = null;
                        saved.ProbationMonths    = null;
                        saved.ProbationWeeks     = null;
                        saved.ProbationYears     = null;
                    }
                    else
                    {
                        saved.ProbationStartDate = model.ProbationStartDate;
                        saved.ProbationDays      = model.ProbationDays;
                        saved.ProbationMonths    = model.ProbationMonths;
                        saved.ProbationWeeks     = model.ProbationWeeks;
                        saved.ProbationYears     = model.ProbationYears;
                    }

                    saved.DateWrt = DateTime.Now;
                    saved.UserId  = userContext.UserId;
                    repo.Update(saved);
                    repo.SaveChanges();
                }
                else
                {
                    model.DateWrt = DateTime.Now;
                    model.UserId  = userContext.UserId;
                    repo.Add <CasePersonSentencePunishment>(model);
                    repo.SaveChanges();
                }
                return(true);
            }
            catch (Exception ex)
            {
                logger.LogError(ex, $"Грешка при запис на Наложени наказания към присъда Id={ model.Id }");
                return(false);
            }
        }