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)); }
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)); }
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 }); }
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(); }
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(); } }