public async Task <IActionResult> UpdateFacility(Guid facilitykey, [FromBody] UpdateFacilityRequest request) { if (ModelState.IsValid) { _logger.LogDebug("Update Facility Request called with {@UpdateRequest}", request); var facilityUpdate = await _facilityManager.Update(facilitykey, request); if (facilityUpdate.OperationResult == CreateUpdateResultEnum.Success) { _logger.LogInformation("Facility successfully saved updated result : {UpdateResult}", facilityUpdate); return(Ok(facilityUpdate.Object)); } if (facilityUpdate.OperationResult == CreateUpdateResultEnum.NotFound) { _logger.LogError("No Result Found for facility {FacilityKey}.", facilitykey); ModelState.AddModelError("facilitykey", "Error Processing Request"); } if (facilityUpdate.OperationResult == CreateUpdateResultEnum.ValidationFailed) { _logger.LogError("Error updating facility {FacilityKey} as validation failed from database.", facilitykey); ModelState.AddModelError("facilitykey", "Error Processing Request"); } } _logger.LogDebug("ModelState validation failed :{@Data}", request); return(BadRequest(new ModelStateRequestValidationAdaptor(ModelState))); }
public UpdateFacilityResponse UpdateFacility(UpdateFacilityRequest request) { var facility = PersistenceContext.Load <Facility>(request.FacilityDetail.FacilityRef, EntityLoadFlags.CheckVersion); var assembler = new FacilityAssembler(); assembler.UpdateFacility(request.FacilityDetail, facility, this.PersistenceContext); CheckMultipleInformationAuthoritiesUsed(); return(new UpdateFacilityResponse(assembler.CreateFacilitySummary(facility))); }
/// <summary> /// Send Updates to Facility Repository. /// </summary> /// <param name="facilityKey">Facility Identifier.</param> /// <param name="updateFacilityRequest">The update Facility Request.</param> /// <returns>Task<FacilityEntity>.</returns> public async Task <BusinessResult <Model.Facility> > Update(Guid facilityKey, UpdateFacilityRequest updateFacilityRequest) { var facilityEntity = await _facilityRepository.GetAsync(facilityKey); if (facilityEntity == null) { return(new BusinessResult <Model.Facility>(null, CreateUpdateResultEnum.NotFound)); } var updatedFacility = _mapper.Map(updateFacilityRequest, facilityEntity); var updateResult = await _facilityRepository.UpdateFacility(updatedFacility); if (updateResult) { return(new BusinessResult <Model.Facility>( _mapper.Map <FacilityEntity, Model.Facility>(updatedFacility), CreateUpdateResultEnum.Success)); } return(new BusinessResult <Model.Facility>(null, CreateUpdateResultEnum.ValidationFailed)); }