public DTOs.Order CreateOrder(DTOs.Order order) { order.DateCreated ??= DateTime.Now; order.DateLastModified ??= DateTime.Now; var mappedEntityOrder = Mapper.Map <Entities.Order>(order); var orderAdded = InventoryDbContext.Orders.Add(mappedEntityOrder).Entity; InventoryDbContext.SaveChanges(); return(Mapper.Map <DTOs.Order>(orderAdded)); }
public DTOs.Order UpdateOrder(DTOs.Order order) { var entityOrder = InventoryDbContext.Orders.SingleOrDefault(existingOrder => existingOrder.Id == order.Id); if (entityOrder == null) { return(null); } entityOrder.Name = order.Name; entityOrder.DateLastModified = DateTime.Now; var updatedOrder = InventoryDbContext.Update(entityOrder).Entity; InventoryDbContext.SaveChanges(); return(Mapper.Map <DTOs.Order>(updatedOrder)); }
public void InventoryAccessor_UpdateOrder_ForExistingOrder_ShouldSucceed() { // Arrange using var inventoryDbContext = InventoryDbContext; try { // Insert seed data into the database using one instance of the context AddCustomers(inventoryDbContext); AddOrders(inventoryDbContext); var order = new DTOs.Order { Id = 1, Name = "Hashbrowns", DateCreated = DateTime.Now, DateLastModified = DateTime.Now, CustomerId = 1 }; var inventoryAccessor = new InventoryAccessor(inventoryDbContext, Mapper); // Act var orderUpdated = inventoryAccessor.UpdateOrder(order); // Assert Assert.NotNull(orderUpdated); Assert.Equal(order.Name, orderUpdated.Name); } finally { inventoryDbContext.ChangeTracker .Entries() .ToList() .ForEach(e => e.State = EntityState.Detached); inventoryDbContext.Database.EnsureDeleted(); } }