public async Task <IActionResult> CreateIncidenceTypeDepartment([FromBody] IncidenceTypeDepartmentDto incidenceTypeDeptResource) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = await _userRepo.GetUser(_userRepo.GetLoggedInUserId()); //if organizationId passed in is null, then it was passed by the organization's Admin. Hence use the organization admin's organizationId in this case if (incidenceTypeDeptResource.OrganizationId == null && user.OrganizationId != null) { incidenceTypeDeptResource.OrganizationId = user.OrganizationId; } if (_itdRepo.CheckIncidenceTypeDepartment(incidenceTypeDeptResource.IncidenceTypeId, incidenceTypeDeptResource.OrganizationId)) { ModelState.AddModelError("Error", "This Incident Type is already mapped to a department."); return(BadRequest(ModelState)); } var incidenceTypeDept = _mapper.Map <IncidenceTypeDepartmentDto, IncidenceTypeDepartmentMapping>(incidenceTypeDeptResource); _itdRepo.Add(incidenceTypeDept); await _unitOfWork.CompleteAsync(); incidenceTypeDept = await _itdRepo.GetIncidenceTypeDepartment(incidenceTypeDept.Id); var result = _mapper.Map <IncidenceTypeDepartmentMapping, IncidenceTypeDepartmentDto>(incidenceTypeDept); return(Ok(result)); } catch (Exception ex) { ModelState.AddModelError("Error", "An error occured while performing this operation."); return(BadRequest(ModelState)); } }
public async Task <IActionResult> EditIncidenceTypeDepartment([FromRoute] Guid id, [FromBody] IncidenceTypeDepartmentDto incidenceTypeDeptResource) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var incidenceTypeDept = await _itdRepo.GetIncidenceTypeDepartment(id); if (incidenceTypeDept == null) { return(NotFound()); } //organizationId can only change when Global admin passed it in. If not passed in, use same saved user's organizationId if (incidenceTypeDeptResource.OrganizationId == null) { incidenceTypeDeptResource.OrganizationId = incidenceTypeDept.OrganizationId; } _mapper.Map <IncidenceTypeDepartmentDto, IncidenceTypeDepartmentMapping>(incidenceTypeDeptResource, incidenceTypeDept); await _unitOfWork.CompleteAsync(); incidenceTypeDept = await _itdRepo.GetIncidenceTypeDepartment(id); var result = _mapper.Map <IncidenceTypeDepartmentMapping, IncidenceTypeDepartmentDto>(incidenceTypeDept); return(Ok(result)); } catch (Exception ex) { ModelState.AddModelError("Error", "An error occured while performing this operation."); return(BadRequest(ModelState)); } }