Пример #1
0
 public IActionResult MadeCase(CreateNewCaseViewModel model)
 {
     if (ModelState.IsValid)
     {
         try
         {
             CaseDTO _case = new CaseDTO
             {
                 InstanceId        = model.PartNewCase.InstanceId,
                 VerdictOrDecision = model.PartNewCase.VerdictOrDecision,
                 ArticleOrCategory = model.PartNewCase.ArticleOrCategory,
                 Date         = model.PartNewCase.Date,
                 KindOfCaseId = model.PartNewCase.KindOfCaseId,
                 UserId       = model.PartNewCase.UserId
             };
             CaseUserDTO client = CreateCaseUser(model.Client);
             _caseService.StartCase(_case, client);
             return(RedirectToAction("MyCases", "Case", new { id = model.PartNewCase.UserId, kind_case = model.PartNewCase.KindOfCase }));;
         }
         catch (ValidationException ex)
         {
             ModelState.AddModelError(ex.Property, ex.Message);
         }
     }
     return(PartialView(model));
 }
Пример #2
0
 public IActionResult AddParticipantInCase(ParticipantViewModel model)
 {
     if (ModelState.IsValid)
     {
         CaseUserDTO _newCaseUser = CreateCaseUser(model);
         _caseService.AddParticipant(model.CaseId, _newCaseUser);
         return(RedirectToAction("AboutCase", "Case", new { id = model.CaseId }));
     }
     return(PartialView(model));
 }
Пример #3
0
 private CaseUser CreateCaseUser(CaseUserDTO caseUser, Case _case, RoleInTheCase role)
 {
     return(new CaseUser
     {
         Name = caseUser.Name,
         Surname = caseUser.Surname,
         Patronymic = caseUser.Patronymic,
         DateOfBirth = caseUser.DateOfBirth,
         Phone = caseUser.Phone,
         HomePhone = caseUser.HomePhone,
         Email = caseUser.Email,
         Address = caseUser.Address,
         Case = _case,
         RoleInTheCase = role
     });
 }
Пример #4
0
        public void AddParticipant(int caseId, CaseUserDTO caseUserDTO)
        {
            Case _case = _database.Cases.Get(caseId);

            if (_case == null)
            {
                throw new ValidationException("Дело не найдено", "");
            }
            CaseUser caseUser = _database.CaseUsers.Get(caseUserDTO.Id);

            if (caseUser == null)
            {
                RoleInTheCase role = _database.CaseRoles.Get(caseUserDTO.RoleInTheCaseId);
                caseUser = CreateCaseUser(caseUserDTO, _case, role);
                _database.CaseUsers.Create(caseUser);
                _database.Save();
            }
            _case.Participants.Add(caseUser);
            _database.Save();
        }
Пример #5
0
        public void StartCase(CaseDTO caseDto, CaseUserDTO caseUser)
        {
            KindOfCase kindOfCase = _database.KindOfCases.Find(k => k.Id == caseDto.KindOfCaseId).FirstOrDefault();

            if (kindOfCase == null)
            {
                throw new ValidationException(caseDto.KindOfCase + "- не найден", "");
            }
            Instance instance = _database.Instances.Find(i => i.Id == caseDto.InstanceId).FirstOrDefault();

            if (instance == null)
            {
                throw new ValidationException(caseDto.Instance + "- не найден", "");
            }
            User user = _database.Users.Get(caseDto.UserId);

            if (user == null)
            {
                throw new ValidationException("Пользователь не найден", "");
            }
            //Case _case = _database.Cases.Find(c => c.Title == caseDto.Title).FirstOrDefault();
            //if (_case != null)
            //    throw new ValidationException("Дело с таким названием уже существует", "");
            Case _case = new Case
            {
                Title             = "Дело " + caseUser.Surname + " " + caseUser.Name[0] + ". " + caseUser.Patronymic[0],
                KindOfCase        = kindOfCase,
                Instance          = instance,
                User              = user,
                Date              = caseDto.Date,
                ArticleOrCategory = caseDto.ArticleOrCategory,
                VerdictOrDecision = caseDto.VerdictOrDecision,
            };

            _database.Cases.Create(_case);
            _database.Save();
            CaseUser _caseUser = _database.CaseUsers.Find(c => c.Name == caseUser.Name &&
                                                          c.Patronymic == caseUser.Patronymic &&
                                                          c.Surname == caseUser.Surname &&
                                                          c.DateOfBirth == caseUser.DateOfBirth &&
                                                          c.Address == caseUser.Address).FirstOrDefault();

            if (_caseUser == null)
            {
                RoleInTheCase role = _database.CaseRoles.Get(caseUser.RoleInTheCaseId);
                _caseUser = CreateCaseUser(caseUser, _case, role);
                _database.CaseUsers.Create(_caseUser);
                _database.Save();
            }
            Client client = _database.Clients.Find(c => c.CaseUserId == _caseUser.Id).FirstOrDefault();

            if (client == null)
            {
                client = new Client()
                {
                    CaseUser = _caseUser,
                    Case     = _case,
                    Money    = 0
                };
                _database.Clients.Create(client);
                _database.Save();
            }
            else
            {
                client.Case = _case;
                _database.Save();
            }
        }