static void Main()
        {
            Payment phone = new Payment("Samsung S6", 3500m);
            Payment monitor = new Payment("Monitor Sony", 149.99m);

            Customer ivan = new Customer("Ivan", "Petrov", "Ivanov", 9305054476, "Borisova 34", "0883-43-43-12",
                "*****@*****.**", new List<Payment>() { phone, monitor }, CustomerType.Regular);

            // correct copy
            Customer ivanCopy = (Customer)ivan.Clone();
            ivanCopy.FirstName = "Ivancho";
            ivanCopy.Payments.Add(new Payment("Car audi A4", 5000m));
            Console.WriteLine(ivan);
            Console.WriteLine(ivanCopy);
            Console.WriteLine("ivanCopy == ivan : {0}", ivanCopy == ivan);
            Console.WriteLine("ivan.Equals(ivanCopy) : {0}", ivan.Equals(ivanCopy));
            Console.WriteLine("Object.ReferenceEquals(ivan, ivanCopy) : {0}", Object.ReferenceEquals(ivan, ivanCopy));
            Console.WriteLine("\n\n");

            // incorrect copy
            ivanCopy = ivan;
            ivan.FirstName = "Ivancho";
            ivanCopy.Payments.Add(new Payment("Car audi A4", 5000m));
            Console.WriteLine(ivan);
            Console.WriteLine(ivanCopy);
            Console.WriteLine("ivanCopy == ivan : {0}", ivanCopy == ivan);
            Console.WriteLine("ivan.Equals(ivanCopy) : {0}", ivan.Equals(ivanCopy));
            Console.WriteLine("Object.ReferenceEquals(ivan, ivanCopy) : {0}", Object.ReferenceEquals(ivan, ivanCopy));

        }
Beispiel #2
0
        static void Main()
        {
            var customer1 = new Customer(
                "Gosho", "Ivanov", "Peshov",
                9302238338,
                "Tsarigradsko Shose 5",
                0886333333,
                "*****@*****.**",
                new List<Payment>
                {
                    new Payment("Beans", 2.50m),
                    new Payment("Toothpaste", 1.20m)
                },
                CustomerType.Regular);

            var customer2 = customer1.Clone();

            customer2.Payments.Add(new Payment("Chewing gum", 0.90m)); // he's unequal to customer1 now

            customer2.FirstName = "Angel"; // he'll come first if you sort the list he's part of
            //customer2.Id = 1111111111; // he'll also come first if his ID comes first

            var customers = new List<Customer> {customer1, customer2};
            customers.Sort(); // when we sort the list, Angel goes first because his name is earlier in the alphabet

            Console.WriteLine(string.Join("\n\n", customers));
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            Customer one = new Customer("Gosho", "Peshev", "Meshev", 1111111111,"address","0000000000","email",CustomerType.Diamond);

            var two = one.Clone() as Customer;

            Console.WriteLine(two);
            Console.WriteLine(one == two);
            Console.WriteLine(one.CompareTo(two));
        }
Beispiel #4
0
        public static void Main(string[] args)
        {
            var customer = new Customer("ma", "re", "mi", "1",
                "asdas", "12321", "adsd", new List<Payment>() { new Payment("asds", 12)},
                CustomerType.OneTime);

            var copy = (Customer) customer.Clone();

            Console.WriteLine(customer == copy);
            Console.WriteLine(customer);
            copy.FirstName = "Changes!";
            Console.WriteLine(customer);
            Console.WriteLine(copy);
        }
Beispiel #5
0
        public static void Main(string[] args)
        {
            var customer = new Customer("ma", "re", "mi", "1",
                                        "asdas", "12321", "adsd", new List <Payment>()
            {
                new Payment("asds", 12)
            },
                                        CustomerType.OneTime);

            var copy = (Customer)customer.Clone();

            Console.WriteLine(customer == copy);
            Console.WriteLine(customer);
            copy.FirstName = "Changes!";
            Console.WriteLine(customer);
            Console.WriteLine(copy);
        }
Beispiel #6
0
        public static void Main(string[] args)
        {
            var customer = new Customer("penka", "dragan", "petkan", "1",
                                        "lyubo", "sdfsdf", "*****@*****.**", new List <Payment>()
            {
                new Payment("tergdfb", 20)
            },
                                        CustomerType.OneTime);

            var copy = (Customer)customer.Clone();

            Console.WriteLine(customer == copy);
            Console.WriteLine(customer);
            copy.FirstName = "Changes!";
            Console.WriteLine(customer);
            Console.WriteLine(copy);
        }
Beispiel #7
0
        static void Main(string[] args)
        {
            var cm1 = new Customer("Pesho", "Atanosov", "Peshev", "8508156699", "Iztok", "+359895445566", "*****@*****.**", new List <Payment>(), CustomerType.OneTime);

            var cm2 = new Customer("Pesho", "Atanosov", "Peshev", "8508156699", "Iztok", "+359895445566", "*****@*****.**", new List <Payment>(), CustomerType.Diamond);

            var cm3 = (Customer)cm2.Clone();

            cm3.AddPayment(
                new Payment("Car", 5444),
                new Payment("House", 99999));

            Console.WriteLine(cm3);
            Console.WriteLine(cm2);

            Console.WriteLine("Equal: {0}", cm1 == cm2);

            Console.WriteLine(cm2.CompareTo(cm1));
        }
Beispiel #8
0
        public static void Main()
        {
            var cm1 = new Customer("Pesho", "Atanosov", "Peshev", 8508156699, "Street 1", "+359895445566", "*****@*****.**", CustomerType.OneTime);

            var cm2 = new Customer("Pesho", "Atanosov", "Peshev", 8508156699, "Iztok", "+359895445566", "*****@*****.**", CustomerType.Diamond);

            Console.WriteLine(cm1 == cm2);

            var cm3 = (Customer)cm2.Clone();

            cm3.AddPayment(
                new Payment("Kola", 5444),
                new Payment("Apartment", 99999));

            Console.WriteLine(cm3);
            Console.WriteLine(cm2);

            Console.WriteLine(cm2.CompareTo(cm1));
        }
Beispiel #9
0
        static void Main(string[] args)
        {
            Payment  videoCard = new Payment("Nvidia GTX 670", 250m);
            Payment  SSD       = new Payment("SSD", 150.32m);
            Customer pesho     = new Customer("Pesho", "Ivanov", 8712013812, CustomerType.OneTime, videoCard, SSD);

            Payment  vacation = new Payment("Vacation", 1250);
            Customer mariika  = new Customer("Mariika", "Petrova", "Ilieva", 3203631101, CustomerType.Diamond, "Plovdiv", null, null, vacation);

            Customer mariikaCopy = (Customer)mariika.Clone();

            Customer goshko = new Customer("Goshko", "Petrov", 9912121212, CustomerType.Golden, SSD, vacation, videoCard);

            Console.WriteLine(pesho == mariika);
            Console.WriteLine(mariika == mariikaCopy);
            Console.WriteLine();

            Customer[] customers = new[] { pesho, mariika, goshko };
            Array.Sort(customers);
            Console.WriteLine(string.Join("\n", customers.ToList()));
        }
Beispiel #10
0
        static void Main()
        {
            Customer pesho = new Customer("Petyr",
                                          "Antoniev",
                                          "Georgiev",
                                          "7289182732",
                                          "Sofia",
                                          "0921332",
                                          "*****@*****.**",
                                          CustomerType.Diamond);

            pesho.AddPayment(new Payment("Danyk", 200m));
            Customer pesho2 = (Customer)pesho.Clone();

            Console.WriteLine("pesho and pesho2 are equal: " + pesho.Equals(pesho2));
            pesho2.Email = "*****@*****.**";
            Console.WriteLine("pesho and pesho2 are equal: " + pesho.Equals(pesho2));
            Console.WriteLine(pesho.CompareTo(pesho2));
            pesho2.FirstName = "Ivan";
            Console.WriteLine(pesho.CompareTo(pesho2));
        }
        static void Main(string[] args)
        {
            Customer customer1 = new Customer(
                "Ivana",
                "Dragancheva",
                "Koeva",
                "6603347878",
                "Sofia",
                "088123456",
                "*****@*****.**",
                CustomerType.Regular);

            customer1.AddPayment(new Payment("Slanina", 4.12M));

            Customer customer2 = new Customer(
                "Pesho",
                "Tichev",
                "Savov",
                "3412541200",
                "Plovdiv",
                "0884554475",
                "*****@*****.**",
                CustomerType.Diamond
                );

            customer2.AddPayment(new Payment("Books", 16.00M));

            Console.WriteLine(customer1 == customer2);

            var customer3 = (Customer) customer1.Clone();
            customer3.AddPayment(new Payment("House", 50000M));

            Console.WriteLine(customer1);
            Console.WriteLine(customer2);
            Console.WriteLine(customer3);

            var compare = customer3.CompareTo(customer1);
            Console.WriteLine(compare);
        }
        static void Main()
        {
            Payment hdd = new Payment("WD HDD 2TB", 189.99m);
            Payment mouse = new Payment("Mouse", 9.90m);
            Customer geek = new Customer("Bill", "Gates", 8712013812, Enum.CustomerType.Diamond, hdd, mouse);

            Payment vacation = new Payment("Vacation", 1250);
            Customer smart = new Customer("Katya", "Georgieva", "Tomova", 9203131111, Enum.CustomerType.OneTime, "Sofia", null, null, vacation);

            Customer geekCopy = (Customer)geek.Clone();
            geek.AddNewPayment(vacation);
            Console.WriteLine(geek);
            Console.WriteLine(geekCopy);

            Console.WriteLine(geek == smart);
            Console.WriteLine(geek == geekCopy);
            Console.WriteLine(Customer.Equals(geek, geekCopy));
            Console.WriteLine();

            Customer[] customers = new[] { geek, geekCopy, smart };
            Array.Sort(customers);
            Console.WriteLine(string.Join("\n", customers.ToList()));
        }
        static void Main()
        {
            Payment  hdd   = new Payment("WD HDD 2TB", 189.99m);
            Payment  mouse = new Payment("Mouse", 9.90m);
            Customer geek  = new Customer("Bill", "Gates", 8712013812, Enum.CustomerType.Diamond, hdd, mouse);

            Payment  vacation = new Payment("Vacation", 1250);
            Customer smart    = new Customer("Katya", "Georgieva", "Tomova", 9203131111, Enum.CustomerType.OneTime, "Sofia", null, null, vacation);

            Customer geekCopy = (Customer)geek.Clone();

            geek.AddNewPayment(vacation);
            Console.WriteLine(geek);
            Console.WriteLine(geekCopy);

            Console.WriteLine(geek == smart);
            Console.WriteLine(geek == geekCopy);
            Console.WriteLine(Customer.Equals(geek, geekCopy));
            Console.WriteLine();

            Customer[] customers = new[] { geek, geekCopy, smart };
            Array.Sort(customers);
            Console.WriteLine(string.Join("\n", customers.ToList()));
        }
Beispiel #14
0
        private static void Main()
        {
            var pizza   = new Payment("Pizza", 5);
            var coffee  = new Payment("Coffee", 2);
            var croason = new Payment("Croason", 1);

            var customerA = new Customer("Noumi", "Vi", "Chu", "8809023456",
                                         "str. Ivan Vazov", "0999998999", "*****@*****.**", CustomerType.OneTime);

            customerA.Payments.Add(pizza);

            var customerB = new Customer("Noumi", "Vi", "Chu", "8809023456",
                                         "str. Ivan Vazov", "0999998999", "*****@*****.**", CustomerType.OneTime);

            customerB.Payments.Add(pizza);

            var customerC = new Customer("Ivo", "Bi", "Rov", "8909023456",
                                         "str. Ivan Bujorv", "0999998988", "*****@*****.**", CustomerType.Diamond);

            var customerD = new Customer("Noumi", "Vi", "Chu", "8809023456",
                                         "str. Ivan Vazov", "0999998999", "*****@*****.**", CustomerType.OneTime);

            customerD.Payments.Add(coffee);
            customerD.Payments.Add(croason);

            var customerE = new Customer("Noumi", "Vi", "Chu", "9809023456",
                                         "str. Ivan Vazov", "0999998999", "*****@*****.**", CustomerType.OneTime);

            var customerF = new Customer("Galina", "Vi", "Chu", "8809023456",
                                         "str. Ivan Vazov", "0999998999", "*****@*****.**", CustomerType.OneTime);


            Console.WriteLine("customerA == customerB: " + customerA.Equals(customerB)); // True
            Console.WriteLine("customerA == customerC: " + customerA.Equals(customerC)); // False
            Console.WriteLine("customerA == customerD: " + customerA.Equals(customerD)); // False
            Console.WriteLine("customerA == customerB: {0}", customerA == customerB);    // True
            Console.WriteLine("customerA == customerC: {0}", customerA == customerC);    // False
            Console.WriteLine("customerA != customerC: {0}", customerA != customerC);    // True
            Console.WriteLine("customerA != customerD: {0}", customerA != customerD);    // True
            Console.WriteLine();

            var hashCustomers = new HashSet <Customer> {
                customerA, customerB, customerC, customerD
            };

            foreach (var customer in hashCustomers)
            {
                Console.WriteLine(customer); //customerA, customerC, customerD
            }

            var clone = customerA.Clone();

            Console.WriteLine("clone == customerA: {0}", clone == customerA); //True
            Console.WriteLine("clone == customerB: {0}", clone == customerB); //True
            Console.WriteLine("clone == customerC: {0}", clone == customerC); //False

            Console.WriteLine();

            var customers = new List <Customer>()
            {
                customerA, customerB, customerC, customerD, customerE, customerF
            };

            customers.Sort();
            foreach (var customer in customers)
            {
                Console.WriteLine(customer.FirstName + " => " + customer.Id);
            }
        }