public async Task <Result <ExpectedOrderItem> > UpdateExpectedOrderItem(ExpectedOrderItemContext context) { var item = await _dbContext.ExpectedOrderItems.FindAsync(context.OrderItemId); if (item == null) { _logger.LogInformation($"Could not find order item {context.OrderItemId}."); return(new Result <ExpectedOrderItem> { Value = null, IsSuccessful = false }); } item.Status = (int)context.Status; _dbContext.ExpectedOrderItems.Update(item); int changes = await _dbContext.SaveChangesAsync(); if (changes <= 0) { _logger.LogInformation($"Order item {context.OrderItemId} could not be saved."); return(new Result <ExpectedOrderItem> { Reason = ReasonType.DatabaseError, ChangeCount = changes, IsSuccessful = false }); } _logger.LogInformation($"Order item {context.OrderItemId} was saved."); return(new Result <ExpectedOrderItem> { Value = MapToExpectedOrderItem(item), ChangeCount = changes, IsSuccessful = true }); }
public async Task <Result <ExpectedOrderItem> > AddExpectedOrderItem(ExpectedOrderItemContext context) { var item = await _dbContext.ExpectedOrderItems.FindAsync(context.OrderItemId); if (item != null) { _logger.LogInformation($"Order item {context.OrderItemId} already exists."); return(new Result <ExpectedOrderItem> { Value = null, IsSuccessful = false }); } var entity = MapAddExpectedOrderItemContext(context); await _dbContext.ExpectedOrderItems.AddAsync(entity); int changes = await _dbContext.SaveChangesAsync(); if (changes <= 0) { _logger.LogInformation($"Order item {context.OrderItemId} could not be saved."); return(new Result <ExpectedOrderItem> { Reason = ReasonType.DatabaseError, ChangeCount = changes, IsSuccessful = false }); } _logger.LogInformation($"Order item {context.OrderItemId} was saved."); return(new Result <ExpectedOrderItem> { Value = MapToExpectedOrderItem(entity), ChangeCount = changes, IsSuccessful = true }); }
public async Task <Result <IReadOnlyList <ExpectedOrderItem> > > GetExpectedOrderItems(ExpectedOrderItemContext context) { var items = _dbContext.ExpectedOrderItems .Where(x => x.OrderId == context.OrderId) .ToList(); _logger.LogInformation($"Returning the following order items associated with order {context.OrderId}."); var expectedOrderItems = MapToExpectedOrderItems(items).ToList(); foreach (var orderItem in expectedOrderItems) { _logger.LogInformation($"Order Item {orderItem.OrderItemId}"); } return(new Result <IReadOnlyList <ExpectedOrderItem> > { Value = expectedOrderItems, IsSuccessful = true }); }
ExpectedOrderItemEntity MapAddExpectedOrderItemContext(ExpectedOrderItemContext context) =>