public Result CreateTheOrder(OETLib.BusinessObjects.Model.ProductList productlist) { Result webRes = new Result(false); try { foreach (OETLib.BusinessObjects.Model.Product product in productlist) { if (product.ProductQuantity != 0) { var order = new OETLib.BusinessObjects.Model.Order(); order.UserID = Singular.Settings.CurrentUserID; order.OrderDate = DateTime.Now; order.ProcessStatusID = 1; order.RequiredDate = order.OrderDate = DateTime.Now; //Save the order var savedToOrder = order.TrySave(typeof(OETLib.BusinessObjects.Model.OrderList)); //Return the just saved OrderID var newOrder = new OETLib.BusinessObjects.Model.Order(); newOrder = GetOrder(Singular.Settings.CurrentUserID); //Create orderDetail var orderDetail = new OETLib.BusinessObjects.Model.OrderDetail(); orderDetail.OrderID = newOrder.OrderID; orderDetail.ProductID = product.ProductID; orderDetail.ProductQuantity = product.ProductQuantity; orderDetail.UnitPrice = (decimal)product.LinePrice; //Save newly created OrderDetail var saveToOrderDetail = orderDetail.TrySave(typeof(OETLib.BusinessObjects.Model.OrderDetailList)); // Get the productId to be able to update the correct inventory var Inventory_product = OETLib.BusinessObjects.Model.InventoryList.GetInventoryList().LastOrDefault(d => d.ProductID == product.ProductID); var Inventory_record = new OETLib.BusinessObjects.Model.Inventory(); //Set inventory elements Inventory_record.ProductID = product.ProductID; Inventory_record.InventoryQuantity = -product.ProductQuantity; Inventory_record.CurrentInventoryQuantity = Inventory_product.CurrentInventoryQuantity - product.ProductQuantity; Inventory_record.InventoryItemCost = Inventory_product.InventoryItemCost; Inventory_record.InventoryTypeID = 2; Inventory_record.OrderID = newOrder.OrderID; //Try and safe the new inventory record Inventory_record.TrySave(typeof(OETLib.BusinessObjects.Model.InventoryList)); OETLib.BusinessObjects.Model.myCartList mycartlist = OETLib.BusinessObjects.Model.myCartList.GetmyCartList(Singular.Settings.CurrentUserID); } } webRes.Success = true; OETLib.BusinessObjects.Model.EditInventoryList inventorylist = OETLib.BusinessObjects.Model.EditInventoryList.GetEditInventoryList(); webRes.Data = inventorylist; } catch { webRes.ErrorText = "There was an error adding your orderr"; } return(webRes); }
public void ExportToExcel(OETLib.BusinessObjects.Model.myCartList userCart, ExcelWorksheet ws, OETLib.BusinessObjects.Model.ROUser user) { try { int itemNumber = 0; decimal invoiceTotal = 0; List <invoiceDetail> detail = new List <invoiceDetail>(); foreach (var item in userCart) { itemNumber++; invoiceTotal += item.UnitPrice; var entry = new invoiceDetail() { ItemNumber = itemNumber, ItemName = item.ProductName, ItemQuantity = item.ProductQuantity, ItemPrice = item.ProductPrice, ItemUnitPrice = item.UnitPrice }; detail.Add(entry); } string invoiceNumber = GenerateInvoice(user.UserID, invoiceTotal, user.DeductID); // Bill to ws.Cells[12, 3].Value = (user.FirstName).Substring(0, 1) + user.LastName; // Email ws.Cells[14, 3].Value = user.EmailAddress; // Invoice Number ws.Cells[12, 7].Value = invoiceNumber; // Invoice Date ws.Cells[14, 7].Value = DateTime.Now; ws.Cells[14, 7].Style.Numberformat.Format = "mmm-dd-yyyy"; // Print invoice details ws.Cells[21, 2].LoadFromCollection(detail); // Total ws.Cells[21 + itemNumber + 1, 5].Value = "Total"; ws.Cells[21 + itemNumber + 1, 5].Style.Font.Bold = true; ws.Cells[21 + itemNumber + 1, 6].Value = "R" + invoiceTotal; // Print deductable from salary if (user.DeductID == 1) { ws.Cells[17, 6].Value = "Deduct from salary"; } else { ws.Cells[17, 6].Value = "Cash"; }; } catch (Exception e) { // Do nothing } }
public Result ExportData() { Result webRes = new Result(false); try { OETLib.BusinessObjects.Model.myCartList userCartList = OETLib.BusinessObjects.Model.myCartList.GetmyCartList(); List <OETLib.BusinessObjects.Model.ROUser> clientList; //List of current userID's List <OETLib.BusinessObjects.Model.myCart> userCart = new List <OETLib.BusinessObjects.Model.myCart>(); var activeCarts = userCartList.Where(x => x.UserID != null).GroupBy(x => x.UserID).Select(p => p.FirstOrDefault()).ToList(); var activeClients = activeCarts.Select(x => x.UserID).ToList(); clientList = retrieveUserList(activeClients); var file = new FileInfo(System.Web.HttpContext.Current.Server.MapPath("~/Data/Invoice_template.xlsx")); ExcelPackage package = new ExcelPackage(file); foreach (var client in clientList) { userCartList = OETLib.BusinessObjects.Model.myCartList.GetmyCartList(client.UserID); var ws = package.Workbook.Worksheets.Copy("Template", client.FirstName.Substring(0, 1) + " " + client.LastName + " " + client.UserID); ExportToExcel(userCartList, ws, client); } // Add code to download the file //byte[] results = package.GetAsByteArray(); var fileName = "Result_" + $"{DateTime.Now:dddd, d MMM, yyyy}" + ".xlsx"; //Stream str = package.Stream; // byte[] b = System.IO.File.ReadAllBytes(f.ToString()); //using (BinaryReader br = new BinaryReader(str)) //{ // b = br.ReadBytes((int)str.Length); // //} //SendFile(fileName, results, true); // DownloadFile(package,fileName); package.SaveAs(new FileInfo(@"C:\Users\JVanzyl\Documents\" + fileName)); //Result_" + $"{DateTime.Now:dddd, d MMM, yyyy}" + ".xlsx")); webRes.Success = true; } catch (Exception e) { webRes.ErrorText = e.Message; } return(webRes); }
public Result CancelOrder(OETLib.BusinessObjects.Model.myCart order) { Result webRes = new Result(false); try { // Delete Order from OrderDetail table OETLib.BusinessObjects.Model.OrderDetailList orderdetailList = OETLib.BusinessObjects.Model.OrderDetailList.GetOrderDetailList(); var OrderDetailToDelete = OETLib.BusinessObjects.Model.OrderDetailList.GetOrderDetailList().LastOrDefault(d => d.OrderID == order.OrderID); orderdetailList.Remove(OrderDetailToDelete); orderdetailList.Save(); // Delete canceled order from Order table OETLib.BusinessObjects.Model.OrderList orderlist = OETLib.BusinessObjects.Model.OrderList.GetOrderList(); var OrderToDelete = OETLib.BusinessObjects.Model.OrderList.GetOrderList().LastOrDefault(d => d.OrderID == order.OrderID); //orderlist.Remove(OrderToDelete); OrderToDelete.ProcessStatusID = 3; OrderToDelete.TrySave(typeof(OETLib.BusinessObjects.Model.OrderList)); //orderlist.Save(); // Update the inventory stock levels. Stock needs to be added back to the inventory amounts // Get the latest inventory item to update in inventory var inventoryToUpdate = OETLib.BusinessObjects.Model.InventoryList.GetInventoryList().LastOrDefault(d => d.ProductID == order.ProductID); // new inventory record is created with the updated values var inventoryToCancel = new OETLib.BusinessObjects.Model.Inventory(); inventoryToCancel.ProductID = order.ProductID; inventoryToCancel.InventoryQuantity = order.ProductQuantity; inventoryToCancel.CurrentInventoryQuantity = inventoryToUpdate.CurrentInventoryQuantity + order.ProductQuantity; inventoryToCancel.InventoryItemCost = inventoryToUpdate.InventoryItemCost; inventoryToCancel.InventoryTypeID = 4; inventoryToCancel.OrderID = order.OrderID; inventoryToCancel.TrySave(typeof(OETLib.BusinessObjects.Model.InventoryList)); var userid = Singular.Settings.CurrentUserID; OETLib.BusinessObjects.Model.myCartList mycartlist = OETLib.BusinessObjects.Model.myCartList.GetmyCartList(userid); webRes.Data = mycartlist; webRes.Success = true; } catch { webRes.ErrorText = "There was a problem cancelling order"; } return(webRes); }
public List <OETLib.BusinessObjects.Model.ROUser> retrieveUserList(List <int> activeUsers) { OETLib.BusinessObjects.Model.ROUserList userList = OETLib.BusinessObjects.Model.ROUserList.GetROUserList(); OETLib.BusinessObjects.Model.myCartList usersWithCarts = OETLib.BusinessObjects.Model.myCartList.GetmyCartList(); List <OETLib.BusinessObjects.Model.ROUser> clientList = new List <OETLib.BusinessObjects.Model.ROUser>(); foreach (var user in userList) { foreach (var activeUser in activeUsers) { if (user.UserID == activeUser) { clientList.Add(user); } } } return(clientList); }
public Result GetCart() { var webRes = new Result(false); try { var userid = Singular.Settings.CurrentUserID; var currentDate = new DateTime(); currentDate = DateTime.Now; OETLib.BusinessObjects.Model.myCartList mycartlist = OETLib.BusinessObjects.Model.myCartList.GetmyCartList(userid); webRes.Data = mycartlist; webRes.Success = true; } catch { webRes.ErrorText = "There was a problem viewing your order"; } return(webRes); }