public async Task <IActionResult> AddCase(Cases casesForAddDto) { if (await _repo.CaseExists(casesForAddDto.Name.ToLower(), casesForAddDto.City.ToLower(), casesForAddDto.Country.ToLower())) { return(BadRequest("Case is registered Already")); } var caseCreated = await _repo.AddCase(casesForAddDto); return(Ok(caseCreated)); }
public async Task <ResponseDto <int> > AddCase(ClaimsPrincipal user, AddCaseDto caseToAdd) { var userFromDb = await _usersRepository.GetUserByLogin(user.Identity.Name); var departmentFromDb = await _departmentsRepository.GetDepartmentById(caseToAdd.DepartmentId); var response = CasesValidator.ValidateAddCase(caseToAdd, departmentFromDb, userFromDb); if (response.HasErrors) { return(response); } var caseToDb = Mapper.Map <Case>(caseToAdd); caseToDb.Status = "Sent"; caseToDb.IsDeleted = false; caseToDb.Department = departmentFromDb; caseToDb.SendDate = DateTime.Now; caseToDb.Sender = userFromDb; response.Value = await _casesRepository.AddCase(caseToDb); return(response); }