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);
        }
Exemple #2
0
        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
            }
        }
Exemple #3
0
        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);
        }
Exemple #5
0
        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);
        }