public void MustValidateFinnishPhone()
        {
            OfflineOrder t = new OfflineOrder(new Cart(),
                                              new Klarna.Offline.Entities.MerchantConfig(CultureInfo.CreateSpecificCulture("fi-fi"), "EUR", "FI",
                                                                                         "testid", "testid", MerchantConfig.Server.Test),
                                              "test",
                                              "+358401234567",
                                              "ref");

            t = new OfflineOrder(new Cart(),
                                 new Klarna.Offline.Entities.MerchantConfig(CultureInfo.CreateSpecificCulture("fi-fi"), "EUR", "FI",
                                                                            "testid", "testid", MerchantConfig.Server.Test),
                                 "test",
                                 "+358501234",
                                 "ref");
            t = new OfflineOrder(new Cart(),
                                 new Klarna.Offline.Entities.MerchantConfig(CultureInfo.CreateSpecificCulture("fi-fi"), "EUR", "FI",
                                                                            "testid", "testid", MerchantConfig.Server.Test),
                                 "test",
                                 "+35845733654578",
                                 "ref");
            t = new OfflineOrder(new Cart(),
                                 new Klarna.Offline.Entities.MerchantConfig(CultureInfo.CreateSpecificCulture("fi-fi"), "EUR", "FI",
                                                                            "testid", "testid", MerchantConfig.Server.Test),
                                 "test",
                                 "+35850457894",
                                 "ref");
        }
        public void MustValidateNorwegianPhone()
        {
            OfflineOrder t = new OfflineOrder(new List <OrderLine>(),
                                              new MerchantConfig(CultureInfo.CreateSpecificCulture("nb-no"), "NOK", "NO",
                                                                 "testid", "testid", Server.Playground),
                                              "test",
                                              "+4790000000",
                                              "ref");

            Assert.IsNotNull(t);
            t = new OfflineOrder(new List <OrderLine>(),
                                 new MerchantConfig(CultureInfo.CreateSpecificCulture("nb-no"), "NOK", "NO",
                                                    "testid", "testid", Server.Playground),
                                 "test",
                                 "+4740000000",
                                 "ref");
            Assert.IsNotNull(t);
            t = new OfflineOrder(new List <OrderLine>(),
                                 new MerchantConfig(CultureInfo.CreateSpecificCulture("nb-no"), "NOK", "NO",
                                                    "testid", "testid", Server.Playground),
                                 "test",
                                 "+4759000000",
                                 "ref");
            Assert.IsNotNull(t);
        }
        public void MustValidateFinnishPhone()
        {
            OfflineOrder t = new OfflineOrder(new List <OrderLine>(),
                                              new MerchantConfig(CultureInfo.CreateSpecificCulture("fi-fi"), "EUR", "FI",
                                                                 "testid", "testid", Server.Playground),
                                              "test",
                                              "+358401234567",
                                              "ref");

            Assert.IsNotNull(t);
            t = new OfflineOrder(new List <OrderLine>(),
                                 new MerchantConfig(CultureInfo.CreateSpecificCulture("fi-fi"), "EUR", "FI",
                                                    "testid", "testid", Server.Playground),
                                 "test",
                                 "+358501234",
                                 "ref");
            Assert.IsNotNull(t);
            t = new OfflineOrder(new List <OrderLine>(),
                                 new MerchantConfig(CultureInfo.CreateSpecificCulture("fi-fi"), "EUR", "FI",
                                                    "testid", "testid", Server.Playground),
                                 "test",
                                 "+358457336545",
                                 "ref");
            Assert.IsNotNull(t);
            t = new OfflineOrder(new List <OrderLine>(),
                                 new MerchantConfig(CultureInfo.CreateSpecificCulture("fi-fi"), "EUR", "FI",
                                                    "testid", "testid", Server.Playground),
                                 "test",
                                 "+35850457894",
                                 "ref");
            Assert.IsNotNull(t);
        }
 public void MustThrowErrorOnToShortFIPhone()
 {
     OfflineOrder t = new OfflineOrder(new Cart(),
                                       new Klarna.Offline.Entities.MerchantConfig(CultureInfo.CreateSpecificCulture("fi-fi"), "EUR", "FI",
                                                                                  "testid", "testid", MerchantConfig.Server.Test),
                                       "test",
                                       "+35840123",
                                       "ref");
 }
 public void MustThrowErrorOnWrongNOPhone()
 {
     OfflineOrder t = new OfflineOrder(new Cart(),
                                       new Klarna.Offline.Entities.MerchantConfig(CultureInfo.CreateSpecificCulture("nb-no"), "NOK", "NO",
                                                                                  "testid", "testid", MerchantConfig.Server.Test),
                                       "test",
                                       "+47900000000",
                                       "ref");
 }
 public void MustValidateSwedishPhone()
 {
     OfflineOrder t = new OfflineOrder(new Cart(),
                                       new Klarna.Offline.Entities.MerchantConfig(CultureInfo.CreateSpecificCulture("sv-se"), "SEK", "SE",
                                                                                  "testid", "testid", MerchantConfig.Server.Test),
                                       "test",
                                       "+46700024576",
                                       "ref");
 }
        public void MustValidateSwedishPhone()
        {
            OfflineOrder t = new OfflineOrder(new List <OrderLine>(),
                                              new MerchantConfig(CultureInfo.CreateSpecificCulture("sv-se"), "SEK", "SE",
                                                                 "testid", "testid", Server.Playground),
                                              "test",
                                              "+46700024576",
                                              "ref");

            Assert.IsNotNull(t);
        }
        public void PostBackUrlHasToBeHttps()
        {
            OfflineOrder t = new OfflineOrder(new List <OrderLine>(),
                                              new MerchantConfig(CultureInfo.CreateSpecificCulture("sv-se"), "SEK", "SE",
                                                                 "testid", "testid", Server.Playground),
                                              "test",
                                              "+46729922222",
                                              "ref", new Uri("https://www.test.com"));

            Assert.IsNotNull(t);
        }
        public void CorrectingWrongPlaceholder()
        {
            OfflineOrder t = new OfflineOrder(new List <OrderLine>(),
                                              new MerchantConfig(CultureInfo.CreateSpecificCulture("sv-se"), "SEK", "SE",
                                                                 "testid", "testid", Server.Playground),
                                              "test",
                                              "+46729922222",
                                              "ref", new Uri("https://www.test.com"));
            var smsText = "This is my own text{uRl}";

            t.SetTextMessage(smsText);
            Assert.AreEqual("This is my own text{url}", t.sms_text);
        }
        public void CanSetOwnText()
        {
            OfflineOrder t = new OfflineOrder(new List <OrderLine>(),
                                              new MerchantConfig(CultureInfo.CreateSpecificCulture("sv-se"), "SEK", "SE",
                                                                 "testid", "testid", Server.Playground),
                                              "test",
                                              "+46729922222",
                                              "ref", new Uri("https://www.test.com"));
            var smsText = "THis is my own URL with a {url} inside of it";

            t.SetTextMessage(smsText);
            Assert.AreEqual(smsText, t.sms_text);
        }
Exemple #11
0
        /// <summary>
        /// Gets Offline Order based on OfflineOrderID.
        /// </summary>
        /// <param name="searchOfflineOrderID">Represents OfflineOrderID to search.</param>
        /// <returns>Returns SystemUser object.</returns>
        public OfflineOrder GetOfflineOrderByOfflineOrderIDDAL(Guid searchOfflineOrderID)
        {
            OfflineOrder matchingOfflineOrder = null;

            try
            {
                //Find SystemUser based on searchSystemUserID
                matchingOfflineOrder = OfflineOrderList1.Find(
                    (item) => { return(item.OfflineOrderID == searchOfflineOrderID); }
                    );
            }
            catch (Exception)
            {
                throw;
            }
            return(matchingOfflineOrder);
        }
Exemple #12
0
        /// <summary>
        /// Adds new Offline Order to OfflineOrder collection.
        /// </summary>
        /// <param name="newOfflineOrder">Contains the Offline Orders details to be added.</param>
        /// <returns>Determinates whether the new Offline Order is added.</returns>
        public bool AddOfflineOrderDAL(OfflineOrder newOfflineOrder)
        {
            bool OfflineOrderAdded = false;

            try
            {
                newOfflineOrder.OfflineOrderID           = Guid.NewGuid();
                newOfflineOrder.CreationDateTime         = DateTime.Now;
                newOfflineOrder.LastModifiedOfflineOrder = DateTime.Now;
                OfflineOrderList1.Add(newOfflineOrder);
                OfflineOrderAdded = true;
            }
            catch (SystemException ex)
            {
                throw new OfflineOrderException(ex.Message);
            }
            return(OfflineOrderAdded);
        }
        public void MustValidateNorwegianPhone()
        {
            OfflineOrder t = new OfflineOrder(new Cart(),
                                              new Klarna.Offline.Entities.MerchantConfig(CultureInfo.CreateSpecificCulture("nb-no"), "NOK", "NO",
                                                                                         "testid", "testid", MerchantConfig.Server.Test),
                                              "test",
                                              "+4790000000",
                                              "ref");

            t = new OfflineOrder(new Cart(),
                                 new Klarna.Offline.Entities.MerchantConfig(CultureInfo.CreateSpecificCulture("nb-no"), "NOK", "NO",
                                                                            "testid", "testid", MerchantConfig.Server.Test),
                                 "test",
                                 "+4740000000",
                                 "ref");
            t = new OfflineOrder(new Cart(),
                                 new Klarna.Offline.Entities.MerchantConfig(CultureInfo.CreateSpecificCulture("nb-no"), "NOK", "NO",
                                                                            "testid", "testid", MerchantConfig.Server.Test),
                                 "test",
                                 "+4759000000",
                                 "ref");
        }
Exemple #14
0
        public bool UpdateOfflineorderDAL(OfflineOrder updateOfflineOrder)
        {
            bool OfflineOrderUpdated = false;

            try
            {
                for (int i = 0; i < OfflineOrderList1.Count; i++)
                {
                    if (OfflineOrderList1[i].OfflineOrderID == updateOfflineOrder.OfflineOrderID)
                    {
                        OfflineOrderList1[i] = updateOfflineOrder;

                        OfflineOrderUpdated = true;
                    }
                }
            }
            catch (SystemException ex)
            {
                throw new OfflineOrderException(ex.Message);
            }
            return(OfflineOrderUpdated);
        }
Exemple #15
0
        /// <summary>
        /// Deletes OfflineOrder based on OfflineOrderID.
        /// </summary>
        /// <param name="deleteOfflineOrderID">Represents OfflineOrderID to delete.</param>
        /// <returns>Determinates whether the existing OfflineOrder is deleted.</returns>
        public bool DeleteOfflineOrderDAL(Guid deleteOfflineOrderID)
        {
            bool OfflineOrderDeleted = false;

            try
            {
                //Find SystemUser based on searchSystemUserID
                OfflineOrder matchingOfflineOrder = OfflineOrderList1.Find(
                    (item) => { return(item.OfflineOrderID == deleteOfflineOrderID); }
                    );

                if (matchingOfflineOrder != null)
                {
                    //Delete SystemUser from the collection
                    OfflineOrderList1.Remove(matchingOfflineOrder);
                    OfflineOrderDeleted = true;
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(OfflineOrderDeleted);
        }
Exemple #16
0
        static void Main(string[] args)
        {
            Console.WriteLine($"Employee work hour for a day is {readonly_workHours}");
            Console.WriteLine($"Employee work hour for a day is {const_workHours}");

            var days = new List <int>();

            days.AddRange(new List <int> {
                1, 2, 3, 4, 5, 6, 7
            });

            var daysThatAreOdd  = days.Where(x => x % 2 != 0);
            var daysThatAreEven = days.Where(x => x % 2 == 0);

            // Loose Coupling using Interfaces
            CustomerRepository cr;

            cr = new CustomerRepository(new SqlDatabase());
            cr.Add("Jagadish");

            cr = new CustomerRepository(new XMLDatabase());
            cr.Add("Palanivelu");

            IBank bank = new Chase();

            bank.Connect(); // Connect to bank BankOfAmerica

            Console.WriteLine("Single Responsibility Principle");
            Console.WriteLine("-------------------------------");

            // Single Responsibility Principle
            DataAccess.InsertData();
            Logger.WriteLog();
            Console.WriteLine("");

            Console.WriteLine("Open Closed Principle");
            Console.WriteLine("---------------------");

            Employee employee = new Employee(new Payroll());

            employee.GetEmployeeDetails(8);

            // Open CLosed Principle
            Rectangle rectangle = new Rectangle
            {
                Width  = 3,
                Height = 5
            };

            Console.WriteLine("Area of a rectangle " + rectangle.Area());

            OCP.Circle circle = new OCP.Circle
            {
                Radius = 3
            };
            Console.WriteLine("Area of a circle " + circle.Area());

            /* * OCP * */
            FinalInvoice finalInvoice = new FinalInvoice();

            Console.WriteLine($"Final invoice amount: {finalInvoice.GetInvoiceDiscount(50)}");

            Console.WriteLine("");

            Console.WriteLine("Liskov Substitution Principle");
            Console.WriteLine("---------------------");

            List <Customer> Customers = new List <Customer>();

            Customers.Add(new SilverCustomer());
            Customers.Add(new GoldCustomer());
            //Customers.Add(new Enquiry());//error

            Fruit fruit = new Orange();

            Console.WriteLine(fruit.GetColor());
            fruit = new Apple();
            Console.WriteLine(fruit.GetColor());

            Console.WriteLine("");

            Console.WriteLine("Interface Segregation Principle");
            Console.WriteLine("---------------------");

            ToyHouse toyHouse = new ToyHouse();

            toyHouse.Color();

            ToyTrain toyTrain = new ToyTrain();

            toyTrain.Run();
            toyTrain.Stop();

            ISP.Classes.Shape s = new Triangle();
            Console.WriteLine($"Shape : {s.GetShape()}");

            s = new ISP.Classes.Circle();
            Console.WriteLine($"Shape : {s.GetShape()}");

            OfflineOrder offlineOrder = new OfflineOrder();

            offlineOrder.AddToCart();


            OnlineOrder onlineOrder = new OnlineOrder();

            onlineOrder.AddToCart();
            onlineOrder.CCProcess();


            BMW b = new BMW();

            b.StartEngine();
            b.StopEngine();

            Console.ReadLine();
        }
        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;
            }
        }