Пример #1
0
        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);
            }
        }