Example #1
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            // Get Controls
            lvwEmployess = FindViewById <ListView>(Resource.Id.lvwEmployees);

            try
            {
                Employee[] employees = service.GetEmployees(20);
                //ArrayAdapter<Employee> adapter = new ArrayAdapter<Employee>(this, Android.Resource.Layout.SimpleListItem1, employees); //Generic Adapter
                EmployeeAdapter adapter = new EmployeeAdapter(employees);
                lvwEmployess.Adapter = adapter;
            }
            catch (System.Exception ex)
            {
                Toast.MakeText(this, ex.Message, ToastLength.Short);
            }
        }
Example #2
0
        public void TransformDTOToEmployee()
        {
            var adapter = new EmployeeAdapter();

            var employee = new EmployeeDTO()
            {
                EmployeeID             = 1,
                LoginID                = "petter"
                , ContactID            = 12
                , EmployeePayHistories = new List <EmployeePayHistoryDTO>()
                {
                    new EmployeePayHistoryDTO()
                    {
                        EmployeeID   = 1,
                        ModifiedDate = DateTime.Now
                    }
                }
            };
            var dto = adapter.Transform <EmployeeDTO, Employee>(employee);

            Assert.Equal(employee.EmployeeID, dto.EmployeeID);
            Assert.Equal(employee.LoginID, dto.LoginID);
        }
 public void SetUp()
 {
     adapter        = new EmployeeAdapter();
     employeeModels = new List <EmployeeModels>();
     locker         = new object();
 }
        public void TransformEmployeeToDTO()
        {
            var adapter = new EmployeeAdapter();
            var employee = new Employee()
            {
                EmployeeID = 1,
                LoginID = "petter",
                ContactID = 12,
                Contact = new Contact() { FirstName = "Peter" },
                EmployeePayHistories = new List<EmployeePayHistory>()
                 {
                    new EmployeePayHistory()
                    {
                        EmployeeID = 1,
                        ModifiedDate = DateTime.Now
                    }
                 }
            };
            var dto = adapter.Transform<Employee, EmployeeDTO>(employee);

            Assert.Equal(employee.EmployeeID, dto.EmployeeID);
            Assert.Equal(employee.LoginID, dto.LoginID);
        }
        public void TransformDTOToEmployee()
        {
            var adapter = new EmployeeAdapter();

            var employee = new EmployeeDTO()
            {
                EmployeeID = 1,
                LoginID = "petter"
                ,ContactID = 12
                ,EmployeePayHistories = new List<EmployeePayHistoryDTO>()
                 {
                    new EmployeePayHistoryDTO()
                    {
                        EmployeeID = 1,
                        ModifiedDate = DateTime.Now
                    }
                 }
            };
            var dto = adapter.Transform<EmployeeDTO, Employee>(employee);

            Assert.Equal(employee.EmployeeID, dto.EmployeeID);
            Assert.Equal(employee.LoginID, dto.LoginID);
        }
Example #6
0
        public IEnumerable <ScheduleOwnerViewModel> GetScheduleOwners()
        {
            List <ScheduleOwnerViewModel> ScheduleViewModels = (List <ScheduleOwnerViewModel>)EmployeeAdapter.ToScheduleViewModel(_employeeService.GetAll());

            ScheduleViewModels.Add(new ScheduleOwnerViewModel {
                Id = -1, Name = "Select All"
            });

            return(ScheduleViewModels);
        }
        private static void Main(string[] args)
        {
            #region AbstactFactoryDesignPattern

            /* Factory factory = new Factory();
             * IVehicleFactory bike = factory.GetVehicle(EVehicleType.Bike);
             * bike.Drive();
             * IVehicleFactory scooter = factory.GetVehicle(EVehicleType.Scooter);
             * scooter.Drive();
             * IVehicleFactory car = factory.GetVehicle(EVehicleType.Car);
             * car.Drive();
             * IVehicleFactory bus = factory.GetVehicle(EVehicleType.Bus);
             * bus.Drive();
             * IVehicleFactory lorry = factory.GetVehicle(EVehicleType.Lorry);
             * lorry.Drive();
             * IVehicleFactory train = factory.GetVehicle(EVehicleType.Train);
             * train.Drive();
             * IVehicleFactory ship = factory.GetVehicle(EVehicleType.Ship);
             * ship.Drive();
             * IVehicleFactory helicopter = factory.GetVehicle(EVehicleType.Helicopter);
             * helicopter.Drive();
             */

            #endregion AbstactFactoryDesignPattern

            #region Adapter

            ITarget Itarget = new EmployeeAdapter();
            ThirdPartyBillingSystem client = new ThirdPartyBillingSystem(Itarget);
            client.ShowEmployeeList();

            #endregion Adapter

            #region Bridge

            IMessageSender email = new EmailSender();
            IMessageSender queue = new MSMQSender();
            IMessageSender web   = new WebServiceSender();

            Message message = new SystemMessage();
            message.Subject = "Test Message";
            message.Body    = "Hi, This is a Test Message";

            message.MessageSender = email;
            message.Send();

            message.MessageSender = queue;
            message.Send();

            message.MessageSender = web;
            message.Send();

            UserMessage usermsg = new UserMessage();
            usermsg.Subject      = "Test Message";
            usermsg.Body         = "Hi, This is a Test Message";
            usermsg.UserComments = "I hope you are well";

            usermsg.MessageSender = email;
            usermsg.Send();

            #endregion Bridge

            #region Builder

            var vehicleCreator = new VehicleCreator(new HeroBuilder());
            vehicleCreator.CreateVehicle();
            var vehicle = vehicleCreator.GetVehicle();
            vehicle.ShowInfo();

            Console.WriteLine("---------------------------------------------");

            vehicleCreator = new VehicleCreator(new HondaBuilder());
            vehicleCreator.CreateVehicle();
            vehicle = vehicleCreator.GetVehicle();
            vehicle.ShowInfo();

            #endregion Builder

            #region ChainOfResponsiblity

            Approver rohit = new Clerk();
            Approver rahul = new AssistantManager();
            Approver manoj = new Manager();

            rohit.Successor = rahul;
            rahul.Successor = manoj;

            // Generate and process loan requests
            var loan = new Loan {
                Number = 2034, Amount = 24000.00, Purpose = "Laptop Loan"
            };
            rohit.ProcessRequest(loan);

            loan = new Loan {
                Number = 2035, Amount = 42000.10, Purpose = "Bike Loan"
            };
            rohit.ProcessRequest(loan);

            loan = new Loan {
                Number = 2036, Amount = 156200.00, Purpose = "House Loan"
            };
            rohit.ProcessRequest(loan);

            #endregion ChainOfResponsiblity

            #region Command

            Console.WriteLine("Enter Commands (ON/OFF) : ");
            string   cmd        = Console.ReadLine();
            Light    lamp       = new Light();
            ICommand switchUp   = new FlipUpCommand(lamp);
            ICommand switchDown = new FlipDownCommand(lamp);

            Switch s = new Switch();

            if (cmd == "ON")
            {
                s.StoreAndExecute(switchUp);
            }
            else if (cmd == "OFF")
            {
                s.StoreAndExecute(switchDown);
            }
            else
            {
                Console.WriteLine("Command \"ON\" or \"OFF\" is required.");
            }

            #endregion Command

            #region Composite

            Employee Rahul = new Employee {
                EmpID = 1, Name = "Rahul"
            };

            Employee Amit = new Employee {
                EmpID = 2, Name = "Amit"
            };
            Employee Mohan = new Employee {
                EmpID = 3, Name = "Mohan"
            };

            Rahul.AddSubordinate(Amit);
            Rahul.AddSubordinate(Mohan);

            Employee Rita = new Employee {
                EmpID = 4, Name = "Rita"
            };
            Employee Hari = new Employee {
                EmpID = 5, Name = "Hari"
            };

            Amit.AddSubordinate(Rita);
            Amit.AddSubordinate(Hari);

            Employee Kamal = new Employee {
                EmpID = 6, Name = "Kamal"
            };
            Employee Raj = new Employee {
                EmpID = 7, Name = "Raj"
            };

            Contractor Sam = new Contractor {
                EmpID = 8, Name = "Sam"
            };
            Contractor tim = new Contractor {
                EmpID = 9, Name = "Tim"
            };

            Mohan.AddSubordinate(Kamal);
            Mohan.AddSubordinate(Raj);
            Mohan.AddSubordinate(Sam);
            Mohan.AddSubordinate(tim);

            Console.WriteLine("EmpID={0}, Name={1}", Rahul.EmpID, Rahul.Name);

            foreach (Employee manager in Rahul)
            {
                Console.WriteLine("\n EmpID={0}, Name={1}", manager.EmpID, manager.Name);

                foreach (var employee in manager)
                {
                    Console.WriteLine(" \t EmpID={0}, Name={1}", employee.EmpID, employee.Name);
                }
            }

            #endregion Composite

            #region Decorator

            HondaCity car = new HondaCity();
            Console.WriteLine("Honda City base price are : {0}", car.Price);
            SpecialOffer offer = new SpecialOffer(car);
            offer.DiscountPercentage = 25;
            offer.Offer = "25 % discount";

            Console.WriteLine("{1} @ Diwali Special Offer and price are : {0} ", offer.Price, offer.Offer);

            #endregion Decorator

            #region Facade

            CarFacade facade = new CarFacade();
            facade.CreateCompleteCar();

            #endregion Facade

            #region Flyweight

            ShapeObjectFactory sof = new ShapeObjectFactory();

            IShape shape = sof.GetShape("Rectangle");
            shape.Print();
            shape = sof.GetShape("Rectangle");
            shape.Print();
            shape = sof.GetShape("Rectangle");
            shape.Print();

            shape = sof.GetShape("Circle");
            shape.Print();
            shape = sof.GetShape("Circle");
            shape.Print();
            shape = sof.GetShape("Circle");
            shape.Print();

            int NumObjs = sof.TotalObjectsCreated;
            Console.WriteLine("\nTotal No of Objects created = {0}", NumObjs);

            #endregion Flyweight

            #region FactoryDesignPattern

            Factory factory = new Factory();
            FactoryDesignPattern.IVehicleFactory bike = factory.GetVehicle(EVehicleType.Bike);
            bike.Drive();
            FactoryDesignPattern.IVehicleFactory scooter = factory.GetVehicle(EVehicleType.Scooter);
            scooter.Drive();
            FactoryDesignPattern.IVehicleFactory fcar = factory.GetVehicle(EVehicleType.Car);
            fcar.Drive();
            FactoryDesignPattern.IVehicleFactory bus = factory.GetVehicle(EVehicleType.Bus);
            bus.Drive();
            FactoryDesignPattern.IVehicleFactory lorry = factory.GetVehicle(EVehicleType.Lorry);
            lorry.Drive();
            FactoryDesignPattern.IVehicleFactory train = factory.GetVehicle(EVehicleType.Train);
            train.Drive();
            FactoryDesignPattern.IVehicleFactory ship = factory.GetVehicle(EVehicleType.Ship);
            ship.Drive();
            FactoryDesignPattern.IVehicleFactory helicopter = factory.GetVehicle(EVehicleType.Helicopter);
            helicopter.Drive();

            #endregion FactoryDesignPattern

            #region Prototype

            Developer dev = new Developer();
            dev.Name = "Rahul";
            dev.Role = "Team Leader";
            dev.PreferredLanguage = "C#";

            Developer devCopy = (Developer)dev.Clone();
            devCopy.Name = "Arif"; //Not mention Role and PreferredLanguage, it will copy above

            Console.WriteLine(dev.GetDetails());
            Console.WriteLine(devCopy.GetDetails());

            Typist typist = new Typist();
            typist.Name           = "Monu";
            typist.Role           = "Typist";
            typist.WordsPerMinute = 120;

            Typist typistCopy = (Typist)typist.Clone();
            typistCopy.Name           = "Sahil";
            typistCopy.WordsPerMinute = 115;//Not mention Role, it will copy above

            Console.WriteLine(typist.GetDetails());
            Console.WriteLine(typistCopy.GetDetails());

            #endregion Prototype

            #region Proxy

            ProxyClient proxy = new ProxyClient();
            Console.WriteLine("Data from Proxy Client = {0}", proxy.GetData());

            #endregion Proxy

            #region Singleton

            EagerSingleton.Instance.Show();
            LazySingleton.Instance.Show();
            Singleton.Instance.Show();

            #endregion Singleton

            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            #region Factory Method
            /////Factory Method
            //EmployeeFactory EmployeeFactory = new ConcreteEmployeeFactory();

            //IFactory permanentEmployee = EmployeeFactory.Factory("PermanentEmployee");
            //permanentEmployee.Details();

            //IFactory TemporaryEmployee = EmployeeFactory.Factory("TemporaryEmployee");
            //TemporaryEmployee.Details();
            #endregion

            #region Abstract Factory
            //IComputerFactory lenovoFactory = new LenovoFactory();
            //IComputerFactory dellFactory = new DellFactory();
            //Console.WriteLine("--------- Lenovo Products --------------------------");
            //ComputerClient lenovoClient = new ComputerClient(lenovoFactory, "gaming");
            //Console.WriteLine(lenovoClient.GetLaptopName());
            //Console.WriteLine(lenovoClient.GetDesktopName());
            //lenovoClient = new ComputerClient(lenovoFactory, "normal");
            //Console.WriteLine(lenovoClient.GetLaptopName());
            //Console.WriteLine(lenovoClient.GetDesktopName());


            //Console.WriteLine("--------- Dell Products --------------------------");
            //ComputerClient dellClient = new ComputerClient(lenovoFactory, "gaming");
            //Console.WriteLine(dellClient.GetLaptopName());
            //Console.WriteLine(dellClient.GetDesktopName());
            //dellClient = new ComputerClient(lenovoFactory, "normal");
            //Console.WriteLine(dellClient.GetLaptopName());
            //Console.WriteLine(dellClient.GetDesktopName());

            #endregion

            #region Prototype pattern

            //ParmenantEmployee permanentEmployee = new ParmenantEmployee();
            //permanentEmployee.Name = "Sam";
            //permanentEmployee.Age = 25;
            //permanentEmployee.EmployeeType = "Permanent";

            //// clone permanent employee object with Clone method
            //// If you will not set the new value for any field the it will take the default value from original object
            //ParmenantEmployee permanentEmployeeClone = (ParmenantEmployee)permanentEmployee.Clone();
            //permanentEmployeeClone.Name = "Tom";
            //permanentEmployeeClone.Age = 30;

            //Console.WriteLine("Permanent Employee Details");
            //Console.WriteLine("Name: {0}; Age: {1}; Employment Type: {2}", permanentEmployee.Name, permanentEmployee.Age, permanentEmployee.EmployeeType);

            //Console.WriteLine("Cloned Permanent Employee Details");
            //Console.WriteLine("Name: {0}; Age: {1}; Employment Type: {2}", permanentEmployeeClone.Name, permanentEmployeeClone.Age, permanentEmployeeClone.EmployeeType);
            #endregion

            #region Shallow and Deep cloning
            //// Create an instance of Person and assign values to its fields.
            //Person p1 = new Person();
            //p1.Age = 42;
            //p1.Name = "Sam";
            //p1.IdInfo = new IdInfo(6565);

            //// Perform a shallow copy of p1 and assign it to p2.
            //Person p2 = p1.ShallowCopy();

            //// Display values of p1, p2
            //Console.WriteLine("Original values of p1 and p2:");
            //Console.WriteLine("   p1 instance values: ");
            //DisplayValues(p1);
            //Console.WriteLine("   p2 instance values:");
            //DisplayValues(p2);

            //// Change the value of p1 properties and display the values of p1 and p2.
            //p1.Age = 32;
            //p1.Name = "Frank";
            //p1.IdInfo.IdNumber = 7878;
            //Console.WriteLine("\nValues of p1 and p2 after changes to p1:");
            //Console.WriteLine("   p1 instance values: ");
            //DisplayValues(p1);
            //Console.WriteLine("   p2 instance values:");
            //DisplayValues(p2);


            // void DisplayValues(Person p)
            //{
            //    Console.WriteLine("      Name: {0:s}, Age: {1:d}", p.Name, p.Age);
            //    Console.WriteLine("      Value: {0:d}", p.IdInfo.IdNumber);
            //}
            #endregion

            #region Builder design pattern
            //LaptopManufacturer laptopManufaturer = new LaptopManufacturer();
            //ILaptopBuilder laptopBuilder = new GamingLaptopBuilder();
            //laptopManufaturer.BuildLaptop(laptopBuilder);
            //Laptop GamingLaptop = laptopBuilder.GetLaptop();
            //// print details
            //Console.WriteLine("Gaming Laptop Object:");
            //GamingLaptop.PrintDetails();

            //// build normal laptop
            //ILaptopBuilder normalLaptopBuilder = new NormalLaptiopBuilder();
            //laptopManufaturer.BuildLaptop(normalLaptopBuilder);
            //Laptop NormalLaptop = normalLaptopBuilder.GetLaptop();
            //// print details
            //Console.WriteLine("\nNormal Laptop Object:");
            //NormalLaptop.PrintDetails();

            #endregion

            #region Adapter desing pattern

            Console.WriteLine("Employee List from ThridPartyEmployee class");
            // client will use ITarget interface to call functionality of Adaptee class i.e. ThirdPartyEmployee
            ITarget adapter = new EmployeeAdapter();;
            foreach (string employee in adapter.GetEmployee())
            {
                Console.WriteLine(employee);
            }
            Console.ReadLine();
            #endregion



            Console.ReadLine();
        }
Example #9
0
        static void Main(string[] args)
        {
            //Behavioral Patterns
            Console.WriteLine("Behavioral");
            // Wait for user
            Console.ReadKey();

            //1 - Command
            Console.WriteLine("Command");
            Console.WriteLine("Enter Commands (ON/OFF) : ");
            string   cmd        = Console.ReadLine();
            Light    lamp       = new Light();
            ICommand switchUp   = new FlipUpCommand(lamp);
            ICommand switchDown = new FlipDownCommand(lamp);
            Switch   s          = new Switch();

            if (cmd == "ON")
            {
                s.StoreAndExecute(switchUp);
            }
            else if (cmd == "OFF")
            {
                s.StoreAndExecute(switchDown);
            }
            else
            {
                Console.WriteLine("Command \"ON\" or \"OFF\" is required");
            }
            // Wait for user
            Console.ReadKey();

            //2 - Chain of responsability
            Console.WriteLine("Chain of responsability");
            Approver rohit = new Clerk();
            Approver rahul = new AssistantManager();
            Approver manoj = new Manager();

            rohit.Successor = rahul;
            rahul.Successor = manoj;
            var loan = new Loan {
                Number = 2034, Amount = 24000.00, Purpose = "Laptop Loan"
            };

            rohit.ProcessRequest(loan);
            loan = new Loan {
                Number = 2035, Amount = 42000.10, Purpose = "Bike Loan"
            };
            rohit.ProcessRequest(loan);
            loan = new Loan {
                Number = 2036, Amount = 156200.00, Purpose = "House Loan"
            };
            rohit.ProcessRequest(loan);
            // Wait for user
            Console.ReadKey();

            //3 - Memento
            Console.WriteLine("Memento");
            SalesProspect sp = new SalesProspect();

            sp.Name   = "Noel van Halen";
            sp.Phone  = "(412) 256-0990";
            sp.Budget = 25000.0;
            // Store internal state
            ProspectMemory m = new ProspectMemory();

            m.Memento = sp.SaveMemento();
            // Continue changing originator
            sp.Name   = "Leo Welch";
            sp.Phone  = "(310) 209-7111";
            sp.Budget = 1000000.0;
            // Restore saved state
            sp.RestoreMemento(m.Memento);
            // Wait for user
            Console.ReadKey();


            //Creational Patterns
            Console.WriteLine("Creational");
            // Wait for user
            Console.ReadKey();

            //1-Singleton
            Console.WriteLine("Singleton");
            Singleton.Instance.Show();
            // Wait for user
            Console.ReadKey();

            //2-Prototype
            Console.WriteLine("Prototype");
            Developper dev = new Developper {
                Name = "Antoine", Role = "Team Leader", PrefferedLanguage = "C#", WordsPerMinute = 42
            };
            Typist typ = new Typist {
                Name = "Casper", Role = "Typist", WordsPerMinute = 175
            };

            Console.WriteLine(typ.GetDetails());
            Console.WriteLine(dev.GetDetails());
            // Wait for user
            Console.ReadKey();

            //3-AbstractFactory
            Console.WriteLine("Abstract Factory");
            DesignPatterns.Creational.AbstractFactory.Sample.VehiculeFactory honda = new HondaFactory();
            VehiculeClient hondaclient = new VehiculeClient(honda, "Regular");

            Console.WriteLine("****** Honda ******");
            Console.WriteLine(hondaclient.GetBikeName());
            Console.WriteLine(hondaclient.GetScooterName());
            VehiculeClient hondaclient2 = new VehiculeClient(honda, "Sports");

            Console.WriteLine(hondaclient.GetBikeName());
            Console.WriteLine(hondaclient.GetScooterName());
            DesignPatterns.Creational.AbstractFactory.Sample.VehiculeFactory hero = new HondaFactory();
            VehiculeClient heroclient = new VehiculeClient(hero, "Regular");

            Console.WriteLine("****** Hero ******");
            Console.WriteLine(heroclient.GetBikeName());
            Console.WriteLine(heroclient.GetScooterName());
            VehiculeClient heroclient2 = new VehiculeClient(hero, "Sports");

            Console.WriteLine(heroclient.GetBikeName());
            Console.WriteLine(heroclient.GetScooterName());
            // Wait for user
            Console.ReadKey();

            //4- Factory Method
            Console.WriteLine("Factory Method");
            DesignPatterns.Creational.FactoryMethod.Sample.VehiculeFactory factory = new ConcreteVehiculeFactory();
            IFactory scooter = factory.GetVehicule("Scooter");

            scooter.Drive(10);
            IFactory bike = factory.GetVehicule("Bike");

            bike.Drive(20);
            // Wait for user
            Console.ReadKey();

            //5- Builder
            Console.WriteLine("Builder");
            var vehicleCreator = new VehicleCreator(new HeroBuilder());

            vehicleCreator.CreateVehicle();
            var vehicle = vehicleCreator.GetVehicle();

            vehicle.ShowInfo();
            Console.WriteLine("---------------------------------------------");
            vehicleCreator = new VehicleCreator(new HondaBuilder());
            vehicleCreator.CreateVehicle();
            vehicle = vehicleCreator.GetVehicle();
            vehicle.ShowInfo();
            // Wait for user
            Console.ReadKey();

            //Structural
            Console.WriteLine("Structural");
            // Wait for user
            Console.ReadKey();

            //1 - Proxy
            Console.WriteLine("Proxy");
            ProxyClient proxy = new ProxyClient();

            Console.WriteLine("Data from Proxy Client = {0}", proxy.GetData());
            // Wait for user
            Console.ReadKey();

            //2 - Flyweight
            Console.WriteLine("Flyweight");
            ShapeObjectFactory sof   = new ShapeObjectFactory();
            IShape             shape = sof.GetShape("Rectangle");

            shape.Print();
            shape = sof.GetShape("Rectangle");
            shape.Print();
            shape = sof.GetShape("Rectangle");
            shape.Print();
            shape = sof.GetShape("Circle");
            shape.Print();
            shape = sof.GetShape("Circle");
            shape.Print();
            shape = sof.GetShape("Circle");
            shape.Print();
            int NumObjs = sof.TotalObjectsCreated;

            Console.WriteLine("\nTotal No of Objects created = {0}", NumObjs);
            // Wait for user
            Console.ReadKey();

            //3 - Facade
            Console.WriteLine("Facade");
            CarFacade facade = new CarFacade();

            facade.CreateCompleteCar();
            // Wait for user
            Console.ReadKey();

            //4 - Bridge
            Console.WriteLine("Bridge");
            IMessageSender email   = new EmailSender();
            IMessageSender queue   = new MSMQSender();
            IMessageSender web     = new WebServiceSender();
            Message        message = new SystemMessage();

            message.Subject       = "Test Message";
            message.Body          = "Hi, This is a Test Message";
            message.MessageSender = email;
            message.Send();
            message.MessageSender = queue;
            message.Send();
            message.MessageSender = web;
            message.Send();
            UserMessage usermsg = new UserMessage();

            usermsg.Subject       = "Test Message";
            usermsg.Body          = "Hi, This is a Test Message";
            usermsg.UserComments  = "I hope you are well";
            usermsg.MessageSender = email;
            usermsg.Send();
            // Wait for user
            Console.ReadKey();

            //5 - Adapter
            Console.WriteLine("Adapter");
            ITarget Itarget = new EmployeeAdapter();
            ThirdPartyBillingSystem client = new ThirdPartyBillingSystem(Itarget);

            client.ShowEmployeeList();
            // Wait for user
            Console.ReadKey();

            //6 - Decorator
            Console.WriteLine("Decorator");
            HondaCity car = new HondaCity();

            Console.WriteLine("Honda City base price are : {0}", car.Price);
            SpecialOffer offer = new SpecialOffer(car);

            offer.DiscountPercentage = 25;
            offer.Offer = "25 % discount";
            Console.WriteLine("{1} @ Diwali Special Offer and price are : {0} ", offer.Price, offer.Offer);
            // Wait for user
            Console.ReadKey();
        }
 public EmployeeService(IUnitOfWork unitOfWork, EmployeeBuilder employeeBuilder, EmployeeAdapter employeeAdapter)
 {
     this.unitOfWork      = unitOfWork;
     this.employeeBuilder = employeeBuilder;
     this.employeeAdapter = employeeAdapter;
 }
 public EmployeeListRequestHandler(EmployeeAdapter adapter)
 {
     _adapter = adapter;
 }
Example #12
0
        static void Main(string[] args)
        {
            // Singleton Test
            Console.WriteLine("Singleton Test");

            var singleton = Singleton.CreateSingletonObj(1);

            var singleton2 = Singleton.CreateSingletonObj(2); // не создается новый экземпляр

            // Simple Factory test
            Console.WriteLine(Environment.NewLine + "Simple Factory test");

            SimpleFactory.IWorkerFactory workerFactory = new SimpleFactory.WorkerFactory();
            var simpleFactoryHR = workerFactory.HireWorker(SimpleFactory.WorkerType.HR);

            simpleFactoryHR.GoToWork();

            // Factory test
            Console.WriteLine(Environment.NewLine + "Factory test");

            Factory.IWorkerFactory qAFactory = new Factory.QAFactory();
            Factory.IWorker        factoryQA = qAFactory.HireWorker();
            factoryQA.GoToWork();

            // Abstract factory test
            Console.WriteLine(Environment.NewLine + "Abstract Factory test");

            AbstractFactory.ICompanyFactory companyOneFactory     = new AbstractFactory.CompanyOneFactory();
            AbstractFactory.IWorker         comopanyOneProgrammer = companyOneFactory.GetWorker();
            comopanyOneProgrammer.GoHome();
            AbstractFactory.IVisitor companyOneVisitor = companyOneFactory.GetVisitor();
            companyOneVisitor.Visit();

            // Builder test
            Console.WriteLine(Environment.NewLine + "Builder test");

            Director      director       = new Director();
            IPhoneBuilder androidBuilder = new AndroidPhoneBuilder();

            director.Construct(androidBuilder);
            Console.WriteLine(androidBuilder.Phone.ToString());

            // Decorator test
            Console.WriteLine(Environment.NewLine + "Decorator test");

            Employee programmer = new Programmer();

            programmer = new Junior(programmer);
            Console.WriteLine(programmer);

            Employee qA = new QA();

            qA = new Middle(qA);
            Console.WriteLine(qA);

            // Adapter test
            Console.WriteLine(Environment.NewLine + "Adapter test");

            Company company = new Company();

            CompanyOneEmployee companyOneEmployee = new CompanyOneEmployee();

            company.TransferEmployee(companyOneEmployee);

            CompanyTwoEmployee companyTwoEmployee = new CompanyTwoEmployee();
            ITransferable      employeeAdapter    = new EmployeeAdapter(companyTwoEmployee);

            company.TransferEmployee(employeeAdapter);

            // Composite test
            Console.WriteLine(Environment.NewLine + "Composite test");

            Component headOfDepartment = new Member(Position.HeadOfDepartment, "Vasiliy Michailovich");
            Component firstAssistant   = new Member(Position.Assistant, "Yuri Gagarin");
            Component secondAssistant  = new Member(Position.Assistant, "German Popov");
            Component firstWorker      = new Member(Position.Worker, "Layka");
            Component secondWorker     = new Member(Position.Worker, "Muha");

            headOfDepartment.Add(firstAssistant);
            headOfDepartment.Add(secondAssistant);

            firstAssistant.Add(firstWorker);
            secondAssistant.Add(secondWorker);

            headOfDepartment.Print();

            // Bridge test
            Console.WriteLine(Environment.NewLine + "Bridge test");

            MessageManager messageManager = new SimpleMessageManager(new WebService());

            messageManager.Send("Hellow World!");

            messageManager.Sender = new ThirdPartySender();
            messageManager.Send("Hello World!");

            // Flyweight test
            Console.WriteLine(Environment.NewLine + "Flyweight test");

            Flyweight.ProgrammerFactory programmerFactory = new Flyweight.ProgrammerFactory();

            for (var i = 0; i < 5; i++)
            {
                var fJuniorProgrammer = programmerFactory.GetProgrammer("Junior");
                fJuniorProgrammer.Pay(1.1f);
            }

            Console.WriteLine($"Number of objects in programmerFactory is {programmerFactory.Programmers.Count}");

            // Strategy test
            Console.WriteLine(Environment.NewLine + "Strategy test");

            Strategy.IEmployee       strategyProgrammer = new Strategy.Programmer();
            Strategy.EmployeeActions employeeActions    = new Strategy.EmployeeActions(strategyProgrammer);
            employeeActions.EmployeeGoHome();

            employeeActions.Employee = new Strategy.QA();
            employeeActions.EmployeeGoHome();
        }
Example #13
0
 public EmployeeAdapterTest()
 {
     this.e = new EmployeeAdapter(new Employee("Riccardo", "Golia"));;
 }
        public void test_employee()
        {
            string[,] employeesArray = new string[5, 5]
            {
                { "101", "John", "SE", "31.5", "10000" },
                { "102", "Smith", "SE", "12.7", "20000" },
                { "103", "Dev", "SSE", "21.6", "30000" },
                { "104", "Pam", "SE", "23.8", "40000" },
                { "105", "Sara", "SSE", "50.5", "50000" }
            };

            ITarget target = new EmployeeAdapter();

            target.ProcessCompanySalary(employeesArray);

            List <Employee> list = target.GetListEmployee();

            {
                Employee employee = EmloyeeServices.FindEmployeeByID(list, 101);

                Assert.That(employee.ID == 101);
                Assert.That(employee.Name == "John");
                Assert.That(employee.Designation == "SE");
                Assert.That(employee.WorkingHours == 31.5);
                Assert.That(employee.PaySalary == PaySalary.Paid);
                Assert.That(employee.Salary == 10000);
            }

            {
                Employee employee = EmloyeeServices.FindEmployeeByID(list, 102);

                Assert.That(employee.ID == 102);
                Assert.That(employee.Name == "Smith");
                Assert.That(employee.Designation == "SE");
                Assert.That(employee.WorkingHours == 12.7);
                Assert.That(employee.PaySalary == PaySalary.NotPaid);
                Assert.That(employee.Salary == 0);
            }

            {
                Employee employee = EmloyeeServices.FindEmployeeByID(list, 103);

                Assert.That(employee.ID == 103);
                Assert.That(employee.Name == "Dev");
                Assert.That(employee.Designation == "SSE");
                Assert.That(employee.WorkingHours == 21.6);
                Assert.That(employee.PaySalary == PaySalary.Paid);
                Assert.That(employee.Salary == 30000);
            }

            {
                Employee employee = EmloyeeServices.FindEmployeeByID(list, 104);

                Assert.That(employee.ID == 104);
                Assert.That(employee.Name == "Pam");
                Assert.That(employee.Designation == "SE");
                Assert.That(employee.WorkingHours == 23.8);
                Assert.That(employee.PaySalary == PaySalary.Paid);
                Assert.That(employee.Salary == 40000);
            }

            {
                Employee employee = EmloyeeServices.FindEmployeeByID(list, 105);

                Assert.That(employee.ID == 105);
                Assert.That(employee.Name == "Sara");
                Assert.That(employee.Designation == "SSE");
                Assert.That(employee.WorkingHours == 50.5);
                Assert.That(employee.PaySalary == PaySalary.Paid);
                Assert.That(employee.Salary == 50000);
            }

            {
                Employee employee = EmloyeeServices.FindEmployeeByID(list, 106);

                Assert.That(employee == null);
            }
        }