/// <summary> /// /// </summary> /// <param name="orderInformation"></param> /// <returns></returns> public Response Insert(Order orderInformation) { try { if (orderInformation == null) { return(Response.InvalidArguments); } var bookInformation = LibrettoDatabase.BookIntegration.Lookup(orderInformation.BookId); if (bookInformation == null) { return(Response.NotFound); } orderInformation.Timestamp = DateTime.Now; if (orderInformation.Quantity > bookInformation.Stock) { orderInformation.Status = Status.Waiting; orderInformation.StatusTimestamp = orderInformation.Timestamp; } else { orderInformation.Status = Status.Dispatched; orderInformation.StatusTimestamp = DateTime.Now.AddDays(1); } _context.Orders.Add(orderInformation); _context.SaveChanges(); if (orderInformation.Status == Status.Waiting) { LibrettoHost.WarehouseService.InsertOrder(WarehouseOrder.FromOrder(orderInformation)); } else { LibrettoDatabase.BookIntegration.UpdateStock(orderInformation.BookId, -orderInformation.Quantity); } StoreService.NotifyRegisterTransaction(orderInformation); return(EmailClient.Instance.NotifyInsert(orderInformation)); } catch { return(Response.DatabaseError); } }
/// <summary> /// /// </summary> /// <param name="bookInformation"></param> /// <returns></returns> public Response Insert(Book bookInformation) { try { if (bookInformation == null) { return(Response.InvalidArguments); } _context.Books.Add(bookInformation); _context.SaveChanges(); } catch { return(Response.DatabaseError); } return(Response.Success); }
/// <summary> /// /// </summary> /// <param name="purchaseInformation"></param> /// <returns></returns> public Response Insert(Purchase purchaseInformation) { try { if (purchaseInformation == null) { return(Response.InvalidArguments); } purchaseInformation.Timestamp = DateTime.Now; _context.Purchases.Add(purchaseInformation); _context.SaveChanges(); StoreService.NotifyRegisterTransaction(purchaseInformation); LibrettoHost.InvoiceQueue.Send(Invoice.FromPurchase(purchaseInformation)); } catch { return(Response.DatabaseError); } return(LibrettoDatabase.BookIntegration.UpdateStock(purchaseInformation.BookId, -purchaseInformation.Quantity)); }
/// <summary> /// /// </summary> /// <param name="customerInformation"></param> /// <returns></returns> public Response Insert(Customer customerInformation) { try { if (customerInformation == null) { return(Response.InvalidArguments); } if (string.IsNullOrEmpty(customerInformation.Password) == false) { customerInformation.Password = PasswordUtilities.Hash(customerInformation.Password); } _context.Customers.Add(customerInformation); _context.SaveChanges(); } catch { return(Response.DatabaseError); } return(Response.Success); }