Esempio n. 1
0
        /// <summary>
        /// views retailers profile
        /// </summary>
        /// <returns></returns>
        public static async Task ViewRetailersProfile()
        {
            RetailerBL      retailerBL = new RetailerBL();
            List <Retailer> retailers  = await retailerBL.GetAllRetailersBL();

            WriteLine("#\tRetailer Name\t Retialer Email\tRetailer Phone no.");
            int serial = 0;

            foreach (var retailer in retailers)
            {
                serial++;
                WriteLine($"{serial}\t{retailer.RetailerName}\t{retailer.Email}\t{retailer.RetailerMobile}");
            }
        }
Esempio n. 2
0
        /// <summary>
        /// views retailer reports.
        /// </summary>
        /// <returns></returns>
        public static async Task ViewRetailerReports()
        {
            RetailerBL      retailerBL = new RetailerBL();
            List <Retailer> retailers  = await retailerBL.GetAllRetailersBL();

            List <RetailerReport> retailerreports = new List <RetailerReport>();
            RetailerReport        item;

            foreach (var retailer in retailers)
            {
                item = await retailerBL.GetRetailerReportByRetailIDBL(retailer.RetailerID);

                retailerreports.Add(item);
            }
            WriteLine("#\tRetailer Name\t no.of orders placed\t Total amount spent on orders");
            int serial = 0;

            foreach (var report in retailerreports)
            {
                serial++;
                WriteLine($"{serial}\t{report.RetailerName}\t{report.RetailerSalesCount}\t{report.RetailerSalesAmount}");
            }
        }
        public static async Task UploadOfflineOrder()
        {
            try
            {
                //Read inputs
                OfflineOrder   offlineOrder    = new OfflineOrder();
                OfflineOrderBL offlineOrderBL1 = new OfflineOrderBL();
                offlineOrder.TotalOrderAmount = 10;
                offlineOrder.TotalQuantity    = 10;

                using (IRetailerBL retailerBL = new RetailerBL())
                {
                    int serial = 0;


                    //Get and display list of Retailer.
                    List <Retailer> retailers = await retailerBL.GetAllRetailersBL();

                    WriteLine("Retailers:");
                    if (retailers != null && retailers?.Count > 0)
                    {
                        WriteLine("#\tName\tEmail\tRetailerID\t");

                        foreach (var retailer in retailers)
                        {
                            serial++;
                            WriteLine($"{serial}\t{retailer.RetailerName}\t{retailer.Email}\t{retailer.RetailerID}");
                        }
                    }

                    Write("Select Retailer #: ");
                    bool isNumberValid = int.TryParse(ReadLine(), out serial);
                    if (isNumberValid)
                    {
                        serial--;
                        if (serial <= retailers.Count - 1)
                        {
                            Retailer retailer1 = retailers[serial];

                            offlineOrder.RetailerID = retailer1.RetailerID;
                        }
                        else
                        {
                            WriteLine("INVALID ENTRY");
                        }
                    }
                    SalesPersonBL salespersonBL = new SalesPersonBL();
                    SalesPerson   salesPerson   = await salespersonBL.GetSalesPersonByEmailBL(CommonData.CurrentUser.Email);

                    offlineOrder.SalesPersonID = salesPerson.SalesPersonID;
                }


                using (IProductBL productBL = new ProductBL())
                {
                    int serial1 = 0;

                    //Get and display list of Product.
                    List <Product> products = await productBL.GetAllProductsBL();

                    WriteLine("Select Products from following List");
                    WriteLine("Products:");
                    if (products != null && products?.Count > 0)
                    {
                        WriteLine("#\tProductName\tPrice\t\tDescription\t");

                        foreach (var product in products)
                        {
                            serial1++;
                            WriteLine($"{serial1}\t{product.ProductName}\t{product.ProductPrice}\t{product.ProductColor}\t{product.ProductSize}\t{product.ProductMaterial}");
                        }
                    }
                    //Add Product Details
                    char c;
                    WriteLine("Add product(Y/N):");
                    c = Char.Parse(ReadLine());

                    while ((c == 'Y') || (c == 'y'))
                    {
                        OfflineOrderDetail offlineOrderDetail = new OfflineOrderDetail();
                        offlineOrderDetail.OfflineOrderID = offlineOrder.OfflineOrderID;

                        Write("Select Product #: ");
                        bool isNumberValid1 = int.TryParse(ReadLine(), out serial1);
                        if (isNumberValid1)
                        {
                            serial1--;
                            if (serial1 <= products.Count - 1)
                            {
                                Product product1 = products[serial1];

                                offlineOrderDetail.ProductID   = product1.ProductID;
                                offlineOrderDetail.UnitPrice   = product1.ProductPrice;
                                offlineOrderDetail.ProductName = product1.ProductName;
                                WriteLine("Enter Quantity:");

                                double quantity = Double.Parse(ReadLine());
                                offlineOrderDetail.Quantity   = quantity;
                                offlineOrderDetail.TotalPrice = offlineOrderDetail.UnitPrice * quantity;
                                using (IOfflineOrderDetailBL offlineOrderDetailBL = new OfflineOrderDetailBL())
                                {
                                    bool isAdded = await offlineOrderDetailBL.AddOfflineOrderDetailBL(offlineOrderDetail);

                                    if (isAdded)
                                    {
                                        WriteLine("Offline Order Detail Added");
                                    }
                                }
                            }
                            else
                            {
                                WriteLine("Invalid Serial Number");
                            }
                        }
                        else
                        {
                            WriteLine("Invalid choice");
                        }

                        WriteLine("Add product(Y/N)");
                        c = Char.Parse(ReadLine());
                    }
                    if (!(c == 'y') || (c == 'Y') || (c == 'n') || (c == 'N'))
                    {
                        WriteLine("Invalid Choice");
                    }
                }

                using (IOfflineOrderBL offlineOrderBL = new OfflineOrderBL())
                {
                    bool isAdded;

                    isAdded = await offlineOrderBL.AddOfflineOrderBL(offlineOrder);

                    if (isAdded)
                    {
                        // WriteLine("Offline Order Added");
                    }

                    using (IOfflineOrderDetailBL offlineOrderDetailBL = new OfflineOrderDetailBL())
                    {
                        //Get and display list of offline order details using order ID .
                        List <OfflineOrderDetail> offlineOrderDetails = await offlineOrderDetailBL.GetAllOfflineOrderDetailBL();

                        WriteLine("OfflineOrderDetails:");
                        if (offlineOrderDetails != null && offlineOrderDetails?.Count > 0)
                        {
                            WriteLine("#\tProductName\tUnitPrice\tQuantity\tTotal Price");
                            int serial2 = 0;
                            foreach (var offlineOrderDetail in offlineOrderDetails)
                            {
                                serial2++;
                                WriteLine($"{serial2}\t{offlineOrderDetail.ProductName}\t\t {offlineOrderDetail.UnitPrice}\t\t {offlineOrderDetail.Quantity}\t\t {offlineOrderDetail.TotalPrice}");
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }