public async Task <(ReturnStatusEnum status, Models.ServiceRequest serviceRequest, string errorMessage)> UpdateServiceRequestAsync(Models.ServiceRequest serviceRequest) { try { var dataModel = await _context.ServiceRequests.FirstOrDefaultAsync(x => x.Id == serviceRequest.Id); if (dataModel == null) { return(ReturnStatusEnum.NotFound, null, $"Service request with Id {serviceRequest.Id} was not found"); } //perform validation - skipping for now :( //Update data model - probably might use the mapper, but the was the quickest for now. dataModel.BuildingCode = serviceRequest.BuildingCode; dataModel.Description = serviceRequest.Description; dataModel.CurrentStatus = serviceRequest.CurrentStatus.TransformCurrentStatus(); dataModel.LastModifiedBy = serviceRequest.LastModifiedBy; dataModel.LastModifiedDate = serviceRequest.LastModifiedDate; _context.Entry(dataModel).State = EntityState.Modified; _context.Update(dataModel); await _context.SaveChangesAsync(); var viewModel = _mapper.Map <Data.ServiceRequest, Models.ServiceRequest>(dataModel); return(ReturnStatusEnum.Success, viewModel, null); } catch (Exception ex) { _logger?.LogError(ex.ToString()); return(ReturnStatusEnum.BadRequest, null, ex.Message); } }