Ejemplo n.º 1
0
        public IActionResult Edit(CasePersonSentenceEditVM model)
        {
            SetViewbag(model.CaseId, model.CasePersonId, model.Id);

            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.CasePersonSentence_SaveData(model))
            {
                SetAuditContext(service, SourceTypeSelectVM.CasePersonSentence, 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));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Валидация преди запис за присъда към лице
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        private string IsValid(CasePersonSentenceEditVM model)
        {
            if (model.CaseSessionActId < 1)
            {
                return("Изберете акт");
            }

            if (model.DecreedCourtId < 1)
            {
                return("Изберете от кой е постановена присъдата");
            }

            if (model.SentenceResultTypeId < 1)
            {
                return("Изберете резултат от съдебното производство");
            }

            if (model.InforcedDate != null)
            {
                var caseSessionAct = service.GetById <CaseSessionAct>(model.CaseSessionActId);
                if ((model.InforcedDate ?? DateTime.Now).Date < (caseSessionAct.ActInforcedDate ?? DateTime.Now).Date)
                {
                    return("Дата на влизане в сила на присъдатае по-малка от тази на акта");
                }
            }

            return(string.Empty);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Извличане на данни по ид за Присъда по лице в дело в модел за редакция
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public CasePersonSentenceEditVM CasePersonSentence_GetById(int id)
        {
            var personSentence = repo.AllReadonly <CasePersonSentence>()
                                 .Include(x => x.CasePerson)
                                 .Where(x => x.Id == id)
                                 .FirstOrDefault();
            var result = new CasePersonSentenceEditVM()
            {
                Id                          = personSentence.Id,
                CaseId                      = personSentence.CaseId,
                CourtId                     = personSentence.CourtId,
                CasePersonId                = personSentence.CasePersonId,
                CasePersonName              = personSentence.CasePerson.FullName,
                CaseSessionActId            = personSentence.CaseSessionActId,
                DecreedCourtId              = personSentence.DecreedCourtId,
                Description                 = personSentence.Description,
                ExecDescription             = personSentence.ExecDescription,
                ForInforcementDate          = personSentence.ForInforcementDate,
                InforcedDate                = personSentence.InforcedDate,
                InforcerInstitutionId       = personSentence.InforcerInstitutionId,
                PunishmentActivityDate      = personSentence.PunishmentActivityDate,
                PunishmentActivityId        = personSentence.PunishmentActivityId,
                SentDate                    = personSentence.SentDate,
                SentenceExecPeriodId        = personSentence.SentenceExecPeriodId,
                SentenceResultTypeId        = personSentence.SentenceResultTypeId,
                AmnestyDocumentNumber       = personSentence.AmnestyDocumentNumber,
                EffectiveDateFrom           = personSentence.EffectiveDateFrom,
                ExecDate                    = personSentence.ExecDate,
                ExecInstitutionId           = personSentence.ExecInstitutionId,
                ExecRemark                  = personSentence.ExecRemark,
                InforcerDocumentNumber      = personSentence.InforcerDocumentNumber,
                NotificationDate            = personSentence.NotificationDate,
                LawBases                    = FillPersonSentenceLawBase(personSentence.Id),
                ChangeCaseSessionActId      = personSentence.ChangeCaseSessionActId,
                ChangedCasePersonSentenceId = personSentence.ChangedCasePersonSentenceId,
                IsActive                    = personSentence.IsActive,
                EnforceIncomingDocument     = personSentence.EnforceIncomingDocument,
                ExecIncomingDocument        = personSentence.ExecIncomingDocument,
            };

            return(result);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Пълнене на основният модел от моделът за редакция на Присъда по лице в дело
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        private CasePersonSentence FillCasePersonSentence(CasePersonSentenceEditVM model)
        {
            model.InforcerInstitutionId       = model.InforcerInstitutionId.NumberEmptyToNull();
            model.ExecInstitutionId           = model.ExecInstitutionId.NumberEmptyToNull();
            model.PunishmentActivityId        = model.PunishmentActivityId.NumberEmptyToNull();
            model.SentenceExecPeriodId        = model.SentenceExecPeriodId.NumberEmptyToNull();
            model.ChangeCaseSessionActId      = model.ChangeCaseSessionActId.NumberEmptyToNull();
            model.ChangedCasePersonSentenceId = model.ChangedCasePersonSentenceId.NumberEmptyToNull();

            return(new CasePersonSentence()
            {
                Id = model.Id,
                CaseId = model.CaseId,
                CasePersonId = model.CasePersonId,
                CaseSessionActId = model.CaseSessionActId,
                CourtId = model.CourtId,
                DecreedCourtId = model.DecreedCourtId,
                Description = model.Description != null ? model.Description : string.Empty,
                ExecDescription = model.ExecDescription != null ? model.ExecDescription : string.Empty,
                ForInforcementDate = model.ForInforcementDate,
                InforcedDate = model.InforcedDate,
                InforcerInstitutionId = model.InforcerInstitutionId,
                PunishmentActivityDate = model.PunishmentActivityDate,
                PunishmentActivityId = model.PunishmentActivityId,
                SentDate = model.SentDate,
                SentenceExecPeriodId = model.SentenceExecPeriodId,
                SentenceResultTypeId = model.SentenceResultTypeId,
                ChangeCaseSessionActId = model.ChangeCaseSessionActId,
                ChangedCasePersonSentenceId = model.ChangedCasePersonSentenceId,
                AmnestyDocumentNumber = model.AmnestyDocumentNumber != null ? model.AmnestyDocumentNumber : string.Empty,
                EffectiveDateFrom = model.EffectiveDateFrom,
                ExecDate = model.ExecDate,
                ExecInstitutionId = model.ExecInstitutionId,
                ExecRemark = model.ExecRemark != null ? model.ExecRemark : string.Empty,
                InforcerDocumentNumber = model.InforcerDocumentNumber != null ? model.InforcerDocumentNumber : string.Empty,
                NotificationDate = model.NotificationDate,
                EnforceIncomingDocument = model.EnforceIncomingDocument,
                ExecIncomingDocument = model.ExecIncomingDocument,
                IsActive = model.IsActive
            });
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Добавяне на присъда към лице
        /// </summary>
        /// <param name="casePersonId"></param>
        /// <returns></returns>
        public IActionResult Add(int casePersonId)
        {
            if (!CheckAccess(service, SourceTypeSelectVM.CasePersonSentence, null, AuditConstants.Operations.Append, casePersonId))
            {
                return(Redirect_Denied());
            }
            var casePerson = casePersonService.GetById <CasePerson>(casePersonId);

            SetViewbag(casePerson.CaseId, casePerson.Id, 0);
            var model = new CasePersonSentenceEditVM()
            {
                CasePersonId   = casePerson.Id,
                CaseId         = casePerson.CaseId,
                CourtId        = userContext.CourtId,
                DecreedCourtId = userContext.CourtId,
                IsActive       = true,
                LawBases       = service.FillLawBase()
            };

            return(View(nameof(Edit), model));
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Запис на Присъда по лице в дело
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool CasePersonSentence_SaveData(CasePersonSentenceEditVM model)
        {
            try
            {
                var modelSave = FillCasePersonSentence(model);
                if (modelSave.Id > 0)
                {
                    //Update
                    var saved = repo.GetById <CasePersonSentence>(modelSave.Id);
                    saved.CaseSessionActId       = modelSave.CaseSessionActId;
                    saved.DecreedCourtId         = modelSave.DecreedCourtId;
                    saved.Description            = modelSave.Description != null ? modelSave.Description : string.Empty;
                    saved.ExecDescription        = modelSave.ExecDescription != null ? modelSave.ExecDescription : string.Empty;
                    saved.ForInforcementDate     = modelSave.ForInforcementDate;
                    saved.InforcedDate           = modelSave.InforcedDate;
                    saved.InforcerInstitutionId  = modelSave.InforcerInstitutionId;
                    saved.PunishmentActivityDate = modelSave.PunishmentActivityDate;
                    saved.PunishmentActivityId   = modelSave.PunishmentActivityId;
                    saved.SentDate                    = modelSave.SentDate;
                    saved.SentenceExecPeriodId        = modelSave.SentenceExecPeriodId;
                    saved.SentenceResultTypeId        = modelSave.SentenceResultTypeId;
                    saved.AmnestyDocumentNumber       = modelSave.AmnestyDocumentNumber != null ? modelSave.AmnestyDocumentNumber : string.Empty;
                    saved.EffectiveDateFrom           = modelSave.EffectiveDateFrom;
                    saved.ExecDate                    = modelSave.ExecDate;
                    saved.ExecInstitutionId           = modelSave.ExecInstitutionId;
                    saved.ExecRemark                  = modelSave.ExecRemark != null ? modelSave.ExecRemark : string.Empty;
                    saved.InforcerDocumentNumber      = modelSave.InforcerDocumentNumber != null ? modelSave.InforcerDocumentNumber : string.Empty;
                    saved.NotificationDate            = modelSave.NotificationDate;
                    saved.ChangeCaseSessionActId      = modelSave.ChangeCaseSessionActId;
                    saved.ChangedCasePersonSentenceId = modelSave.ChangedCasePersonSentenceId;
                    saved.EnforceIncomingDocument     = modelSave.EnforceIncomingDocument;
                    saved.ExecIncomingDocument        = modelSave.ExecIncomingDocument;
                    saved.IsActive                    = model.IsActive;
                    saved.UserId  = userContext.UserId;
                    saved.DateWrt = DateTime.Now;
                    repo.Update(saved);
                    var casePersonSentenceLawbasesDelete = GetCasePersonSentenceLawbases(modelSave.Id);
                    if (casePersonSentenceLawbasesDelete.Count > 0)
                    {
                        repo.DeleteRange(casePersonSentenceLawbasesDelete);
                    }
                }
                else
                {
                    var casePersonSentencesUpdate = repo.AllReadonly <CasePersonSentence>().Where(x => x.CaseId == model.CaseId && x.CasePersonId == model.CasePersonId && x.IsActive == true).ToList();
                    foreach (var personSentence in casePersonSentencesUpdate)
                    {
                        personSentence.IsActive = false;
                        repo.Update(personSentence);
                    }

                    modelSave.UserId  = userContext.UserId;
                    modelSave.DateWrt = DateTime.Now;
                    repo.Add <CasePersonSentence>(modelSave);
                }

                var casePersonSentencesSave = FillCasePersonSentences(model.LawBases, modelSave.Id, modelSave.CaseId);
                if (casePersonSentencesSave.Count > 0)
                {
                    repo.AddRange <CasePersonSentenceLawbase>(casePersonSentencesSave);
                }

                repo.SaveChanges();

                if (model.Id < 1)
                {
                    model.Id = modelSave.Id;
                }

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