public static void CreateInvoice(Order order) { Invoice invoice = new Invoice(); invoice.Number = GenerateInvoiceNumber(); invoice.Date = DateTime.Now; invoice.InvoiceStatus = SalesService.GetInvoiceStatusByNumber((int)InvoiceStatusEnum.Niezaplacona); invoice.IsPaid = false; invoice.Order = order; BasicService<Invoice, Guid>.SaveOrUpdate(invoice); }
public static void ApproveOrder(Order order) { if (order != null) { if (order.OrderStatus.DictionaryNumber == (int)OrderStatusEnum.Nowe) { order.OrderStatus = SalesService.GetOrderStatusByNumber((int)OrderStatusEnum.WRealizacji); BasicService<Order, Guid>.SaveOrUpdate(order); } } }
public static void CancelOrder(Order order) { if (order != null) { order.OrderStatus = SalesService.GetOrderStatusByNumber((int)OrderStatusEnum.Anulowane); BasicService<Order, Guid>.SaveOrUpdate(order); if (HasOrderInvoice(order)) { Invoice invoice = GetInvoices(null).Where(i => i.Order == order).SingleOrDefault(); if (invoice != null) BasicService<Invoice, Guid>.Delete(invoice); } } }
private static string GenerateOrderIdentifier(Order order) { StringBuilder builder = new StringBuilder(); builder.Append(order.OrderDate.Day + "/" + order.OrderDate.Month + "/" + order.OrderDate.Year); builder.Append("_" + order.Territory.Name.Substring(0, 2)); if (order.Employee.Contact != null) { builder.Append("_" + order.Employee.Contact.FirstName.Substring(0, 1) + order.Employee.Contact.LastName.Substring(0, 1)); } Repository<Order, Guid> repOrder = new Repository<Order,Guid>(); Order newestOrder = repOrder.GetQueryable().Where(o => o.Identifier.Contains(builder.ToString())).OrderByDescending(o => o.Identifier).FirstOrDefault(); int idx = 1; if (newestOrder != null) { idx = Int32.Parse(newestOrder.Identifier.Replace(builder.ToString() + "_", "")); idx++; } builder.Append("_" + idx); return builder.ToString(); }
public static void SetOrderAsShipped(Order order) { if (order != null) { if (order.OrderStatus.DictionaryNumber == (int)OrderStatusEnum.WRealizacji) { order.OrderStatus = SalesService.GetOrderStatusByNumber((int)OrderStatusEnum.Wyslano); BasicService<Order, Guid>.SaveOrUpdate(order); } } }
public static Order InsertOrder(Order order) { order.OrderDate = DateTime.Now; order.Identifier = GenerateOrderIdentifier(order); order.OrderStatus = GetOrderStatusByNumber((int)OrderStatusEnum.Nowe); BasicService<Order, Guid>.SaveOrUpdate(order); foreach (OrderLine line in order.OrderLines) { BasicService<OrderLine, Guid>.SaveOrUpdate(line); } return order; }
public static bool HasOrderInvoice(Order order) { Repository<Invoice, Guid> rep = new Repository<Invoice, Guid>(); var result = from i in rep.GetQueryable() where i.Order == order select i; if (result.Count() > 0) return true; else return false; }
public OrderLineId(Order order, Product prod) { this.Order = order; this.Product = prod; }