예제 #1
0
        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));
            }
        }
예제 #2
0
        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));
            }
        }