public async Task <Result <Courier> > ChangeStatus(CourierStatusChangeContext context) { var courier = await _db.Couriers.FindAsync(context.CourierId); if (courier == null) { _logger.LogInformation($"Courier {context.CourierId} could not be found."); return(new Result <Courier> { Reason = ReasonType.CourierNotFound, IsSuccessful = false }); } courier.Status = (int)context.Status; courier.StatusTimestamp = DateTime.Now; _db.Update(courier); int changes = await _db.SaveChangesAsync(); if (changes <= 0) { _logger.LogInformation($"Courier {context.CourierId} status was not updated."); return(new Result <Courier> { Reason = ReasonType.DatabaseError, ChangeCount = changes, IsSuccessful = false }); } var address = await _db.Addresses.FindAsync(courier.AddressId); _logger.LogInformation($"Courier {context.CourierId} status was updated."); return(new Result <Courier> { ChangeCount = changes, Value = MapEntity(courier, address), IsSuccessful = true }); }
public async Task <Result <Courier> > ChangeStatus(CourierStatusChangeContext context) => new Result <Courier> { IsSuccessful = true };