public async Task <IActionResult> UpdateDeviceDateType(int id, [FromBody] DeviceDateTypeSaveResource deviceDateTypeSaveResource) { if (!_auth.IsAppAdmin(User)) { return(NoContent()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } /* Test for prexistence */ var filter = new MdaDeviceDateTypeQuery() { Name = deviceDateTypeSaveResource.Name, Active = 2 }; var deviceDateTypeFromRepoExisting = await _repo.GetDeviceDateTypes(filter, true); if (deviceDateTypeFromRepoExisting.Any()) { var existingDDT = deviceDateTypeFromRepoExisting.FirstOrDefault(); if (existingDDT.Id != id) { return(BadRequest($"DateType {deviceDateTypeSaveResource.Name} already exists")); } else { if (existingDDT.Name.ToLower() == deviceDateTypeSaveResource.Name.ToLower()) { if (existingDDT.Active == Convert.ToByte(deviceDateTypeSaveResource.Active == true ? 1 : 0)) { return(BadRequest("Nothing has changed")); } } } } var deviceDateTypeFromRepo = await _repo.GetDeviceDateType(id); if (deviceDateTypeFromRepo == null) { return(BadRequest($"DeviceDateTypeId {id} could not be found")); } _mapper.Map <DeviceDateTypeSaveResource, MdaDeviceDateType>(deviceDateTypeSaveResource, deviceDateTypeFromRepo); deviceDateTypeFromRepo.ModifiedBy = User.Identity.Name; deviceDateTypeFromRepo.ModifiedDate = DateTime.Now; if (await _repo.SaveAll()) { return(NoContent()); } return(BadRequest("Failed to update device date type")); }
public async Task <IActionResult> AddDeviceDateType([FromBody] DeviceDateTypeSaveResource deviceDateTypeSaveResource) { if (!_auth.IsAppAdmin(User)) { return(NoContent()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } /* Test for prexistence */ var deviceDateTypeFromRepo = await _repo.GetDeviceDateTypes(new MdaDeviceDateTypeQuery() { Name = deviceDateTypeSaveResource.Name }, true); if (deviceDateTypeFromRepo.Any()) { return(BadRequest($"DateType {deviceDateTypeSaveResource.Name} already exists")); } var deviceDateType = _mapper.Map <MdaDeviceDateType>(deviceDateTypeSaveResource); deviceDateType.CreatedBy = User.Identity.Name; _repo.Add(deviceDateType); if (await _repo.SaveAll()) { return(Ok(deviceDateType)); } return(BadRequest("Failed to add device date")); }