//Lorsque l'utilisateur valide sa commande, la livraison est crée. Recherche le deliveryman adapté (même ville que restaurant) et
        //pas plus de 5 livraisons avec status "A livrer" (Tranche de 30 minutes pas réussi)
        public ActionResult CreateDelivery()
        {
            int idOrder        = HttpContext.Session.GetInt32("IdOrder").GetValueOrDefault();
            int idRestaurant   = HttpContext.Session.GetInt32("IdRestaurant").GetValueOrDefault();
            int idDeliveryTime = HttpContext.Session.GetInt32("Id_Delivery_time").GetValueOrDefault();
            int idCity         = HttpContext.Session.GetInt32("IdCity").GetValueOrDefault();

            Delivery newDelivery = new Delivery {
                FK_idOrder = idOrder, FK_idRestaurant = idRestaurant, FK_idDelivery_Time = idDeliveryTime, Status = "A livrer"
            };

            DeliveryManager.AddDelivery(newDelivery);

            int idRightDeliveryman = DeliverymanManager.GetRightDeliveryman(idCity);

            //Si la méthode ne trouve aucun livreur disponible, renvoie sur la page NoDeliverymanAvailable
            if (idRightDeliveryman == 0)
            {
                return(RedirectToAction("NoDeliverymanAvailable", "Delivery"));
            }
            else
            {
                //Si la méthode trôuve un livreur, insertion dans la livraison de son ID
                //Redirige vers la page de confirmation de la livraison
                DeliveryManager.UpdateDelivery(newDelivery.IdDelivery, idRightDeliveryman);
                return(RedirectToAction("DeliveryConfirmed", "Delivery"));
            }
        }
        public void GetHierarchy_Employyes_OrderedListByPosition()
        {
            var strategy = new PositionalHierarchyStrategy();

            var d  = new Director("Director", 20000);
            var wy = new WorkerY("WorkerY", 5500);
            var sm = new SaleManager("SaleManager", 10400);
            var dm = new DeliveryManager("DeliveryManager", 10400);


            d.AddSubordinate(sm);
            d.AddSubordinate(dm);
            sm.AddSubordinate(wy);

            var employees = new List <Employee> {
                d, wy, sm
            };

            var actual = strategy.GetHierarchy(employees).ToList();

            actual[0].Position.Should().Be(Position.Director);
            actual[1].Position.Should().Be(Position.SaleManager);
            actual[2].Position.Should().Be(Position.SaleWorkerY);
            actual[3].Position.Should().Be(Position.DeliveryManager);
        }
Beispiel #3
0
        private void ApplyDeliveryCost()
        {
            var deliveryManager = new DeliveryManager(_shoppingCartRepository);
            var deliveryCost    = deliveryManager.GetDeliveryCost();

            _shoppingCartRepository.SetDeliveryCost(deliveryCost);
        }
Beispiel #4
0
        private static void ChainOfResponsibilityPattern()
        {
            #region ProjectDelivery

            Requirment r1 = new Requirment
            {
                Name           = "Projet 1",
                IsDesingNeeded = true
            };

            Requirment r2 = new Requirment
            {
                Name = "Project 2",
                areUIChangesNeeded = true
            };

            IHandler architect    = new Architect();
            IHandler uiDeveloper  = new UIDeveloper();
            IHandler dba          = new DBA();
            IHandler appDeveloper = new AppDeveloper();
            IHandler qa           = new QA();

            architect.SetNextHandler(uiDeveloper);
            uiDeveloper.SetNextHandler(dba);
            dba.SetNextHandler(appDeveloper);
            appDeveloper.SetNextHandler(qa);

            architect.Handle(r1);

            architect.Handle(r2);

            #endregion ProjectDelivery

            #region Leave Aprroval

            ILeaveHandler teamLead       = new TeamLead();
            ILeaveHandler projectManager = new ProjectManager();
            ILeaveHandler hr             = new DeliveryManager();

            teamLead.SetNextHandler(projectManager);
            projectManager.SetNextHandler(hr);

            teamLead.LeaveApproval("Chandra", 8);

            #endregion Leave Aprroval

            #region Logger

            LoggerHandler info    = new Info();
            LoggerHandler warning = new Warning();
            LoggerHandler error   = new Error();

            info.SetNextLoggerHandler(warning);
            warning.SetNextLoggerHandler(error);

            info.Log("Error");

            #endregion Logger
        }
        //Lorsqu'un livreur a effectué une livraison, le statut de la livraison passe de "A livrer" à "Effectué" et le statut de l'ordre correspondant passe de "En cours" à "Livré"
        //Redirige vers la liste des livraisons du livreur
        public ActionResult DeliveryDone(int id, int idOrder)
        {
            string status = "Effectué";

            DeliveryManager.UpdateDeliveryStatus(id, status);
            OrderManager.UpdateOrder(idOrder, "Livré");
            return(RedirectToAction("ListeDeliverys", "Delivery"));
        }
Beispiel #6
0
        public IActionResult CreateEmployee(string firstname, string lastname, string positionname, Guid masterid)
        {
            EmployeeDTO employee = new EmployeeDTO();

            if (positionname == "Developer")
            {
                employee = new Developer();
            }

            if (positionname == "Marketer")
            {
                employee = new Marketer();
            }

            if (positionname == "Sales Manager")
            {
                employee = new SalesManager();
            }

            if (positionname == "Delivery Manager")
            {
                employee = new DeliveryManager();
            }

            var masterPosition = _employeeService.GetAll().First(x => x.Id == masterid).PositionName;

            if (employee.Master.PositionName != masterPosition)
            {
                throw new ArgumentException("aaaaa");
            }


            employee.FirstName    = firstname;
            employee.LastName     = lastname;
            employee.PositionName = positionname;
            employee.Master       = _employeeService.GetAll().First(x => x.Id == masterid);


            if (positionname.Contains("Manager"))
            {
                employee.PositionWeight = 2;
            }
            else
            {
                employee.PositionWeight = 3;
            }

            Random rnd = new Random();

            employee.Salary = rnd.Next(1000, 2000);

            employee.Id = Guid.NewGuid();


            _visitor.CreateNewEmployee(firstname, lastname, positionname, masterid);
            //_employeeService.Create(employee);
            return(RedirectToAction("Index", "Home"));
        }
Beispiel #7
0
        public void CreatingOrderTest()
        {
            DeliveryManager deliveryManager = new DeliveryManager();

            deliveryManager.CreateOrder(0, null, DateTime.Now, new List <DishDTG>(), true, null, DateTime.Now.AddHours(1));
            deliveryManager.CreateOrder(1, null, DateTime.Now, new List <DishDTG>(), true, null, DateTime.Now.AddHours(1));

            Assert.AreEqual(2, deliveryManager.DeliveryOrders.Count, "Wrong order number");
            Assert.AreNotEqual(deliveryManager.DeliveryOrders[0].Id, deliveryManager.DeliveryOrders[1].Id, "Orders ID are not unical");
        }
Beispiel #8
0
        public static bool Deliver(Message msg, bool wait)
        {
            DeliveryRule dr = Router.IsMatch(msg);

            if (dr == null)
            {
                return(false);
            }

            return(DeliveryManager.Deliver(msg, dr, wait).Result);
        }
Beispiel #9
0
        public void GetOrderByIdTest()
        {
            DeliveryManager deliveryManager = new DeliveryManager();

            deliveryManager.CreateOrder(0, null, DateTime.Now, new List <DishDTG>(), false, null, DateTime.Now.AddHours(1));
            deliveryManager.CreateOrder(1, null, DateTime.Now, new List <DishDTG>(), true, null, DateTime.Now.AddHours(1));

            deliveryManager.CompleteOrder(1);

            Assert.AreEqual(true, deliveryManager.DeliveryCompleted[0].Delivery, "Wrong delivery status");
        }
        public ViewDeliveries()
        {
            InitializeComponent();

            DeliveryManager dm = new DeliveryManager(new UnitOfWork());

            Deliveries = new DeliveryGrid(DeliveriesGrid, dm.GetAll());
            Deliveries.SetDeleteButton(Button_DeleteDeliveries);
            Deliveries.SetEditButton(Button_EditDelivery);

            new DeliveryAddForm(Input_DeliverySupplier, Input_DeliveryItem, Input_DeliveryItemQuantity, Input_DeliveryItems, Button_AddItem, Button_CreateDelivery);
        }
Beispiel #11
0
 public bool IsInvalidClearIngame()
 {
     if (clearIngameType == CLEAR_INGAME.VALID)
     {
         return(false);
     }
     if (clearIngameType == CLEAR_INGAME.INVALID)
     {
         return(true);
     }
     return(DeliveryManager.IsInvalidClearInGame(type, fieldMode));
 }
Beispiel #12
0
        public void CompletingOrderTest()
        {
            DeliveryManager deliveryManager = new DeliveryManager();

            deliveryManager.CreateOrder(0, null, DateTime.Now, new List <DishDTG>(), true, null, DateTime.Now.AddHours(1));
            deliveryManager.CreateOrder(1, null, DateTime.Now, new List <DishDTG>(), true, null, DateTime.Now.AddHours(1));
            deliveryManager.CreateOrder(2, null, DateTime.Now, new List <DishDTG>(), true, null, DateTime.Now.AddHours(1));

            deliveryManager.CompleteOrder(1);

            Assert.AreEqual(2, deliveryManager.DeliveryOrders.Count, "Wrong order number");
            Assert.AreEqual(1, deliveryManager.DeliveryCompleted.Count, "Wrong order number");
        }
Beispiel #13
0
    public void DoDelivery(IntPoint2D startingTile, Stack <IntPoint2D> path, StoreManager storeMgr)
    {
        int amtToDeliver = Mathf.Min(kDeliveryCapacity, curCropAmt);

        curCropAmt = curCropAmt - amtToDeliver;
        GameObject delPerson = (GameObject)Instantiate(deliveryPrefab);
        Vector3    topLeft   = scenarioMgr.ComputeTopLeftPointOfTile(startingTile);

        delPerson.transform.position = topLeft + new Vector3(.5f, .2f, .5f);
        DeliveryManager delMgr = delPerson.GetComponent("DeliveryManager") as DeliveryManager;

        delMgr.SetUp(scenarioInfo, startingTile, path, storeMgr, amtToDeliver);
    }
Beispiel #14
0
 public DeliverysController(
     DeliveryManager deliveryManager,
     TenantManager tenantManager,
     HomeOwerUserManager homeOwerUserManager,
     DeliveryService deliveryService,
     HomeOwerManager homeOwerManager)
     : base(homeOwerUserManager)
 {
     _deliveryManager = deliveryManager;
     _tenantManager   = tenantManager;
     _deliveryService = deliveryService;
     _homeOwerManager = homeOwerManager;
 }
 private void Submit(object sender, RoutedEventArgs e)
 {
     try
     {
         DeliveryManager dm = new DeliveryManager(new UnitOfWork());
         dm.Add(new Delivery(this.SupplierInput.Text, DateTime.Now, this.items));
         MessageUtil.ShowAsyncMessage("Delivery has been added");
         Reset();
     }
     catch (Exception ex)
     {
         MessageUtil.ShowAsyncMessage(ex.Message);
     }
 }
        public void SendMailTest()
        {
            var server     = "smtp.yandex.ru";
            var port       = 25;
            var ssl        = true;
            var login      = "******";
            var password   = "******";
            var from       = new MailAddress("*****@*****.**");
            var to         = new MailAddress("*****@*****.**");
            var connection = DeliveryManager.Singleton(login, password, server, port, ssl);

            connection.SendMail(from, to, "This is testing message for our application",
                                "This is testing message for our application. If you get it, feel free to delete it. We must be doing something wrong. We are sorry for bothering you." +
                                " Have a nice day!");
        }
        public void SendMailWithAttachmentTest()
        {
            var server     = "smtp.yandex.ru";
            var port       = 25;
            var ssl        = true;
            var login      = "******";
            var password   = "******";
            var from       = new MailAddress("*****@*****.**");
            var to         = new MailAddress("*****@*****.**");
            var attachPath = @"D:\v\test.txt";
            var connection = DeliveryManager.Singleton(login, password, server, port, ssl);

            connection.SendMailWithAttachment(from, to, "test1",
                                              "test2", attachPath);
        }
Beispiel #18
0
        public void WhenGetDeliveryCost_SingleCategorySingleItem_GetSuccessfully()
        {
            var shoppingCartRepository = new ShoppingCartRepository();
            var shoppingCartService    = new ShoppingCartService(shoppingCartRepository, _campaignRepository, _couponRepository);

            shoppingCartService.AddItem(_productService.GetByID(0), 1);

            var deliveryManager = new DeliveryManager(shoppingCartRepository);
            var deliveryCost    = deliveryManager.GetDeliveryCost();
            var expectedResult  = 8.0M;

            var finalCart = shoppingCartService.GetCart();

            Assert.Equal(expectedResult, deliveryCost);
            Assert.Equal(deliveryCost, finalCart.DeliveryCost);
        }
Beispiel #19
0
        public static async Task <dynamic> DeliverAsync(Message msg)
        {
            DeliveryRule dr = Router.IsMatch(msg);

            try
            {
                await Router.Instance.deliverySemaphore.WaitAsync().ConfigureAwait(false);

                return(DeliveryManager.DeliverAsync(msg, dr).ContinueWith((result) =>
                {
                    Router.Instance.deliverySemaphore.Release();
                }).ConfigureAwait(false));
            }
            catch (Exception ex)
            {
                Router.Instance.deliverySemaphore.Release();
                throw ex;
            }
        }
        //Vue affichant la liste des livraisons affilié à un livreur avec modele DeliveryDetailsViewModel
        public ActionResult ListeDeliverys(int idDeliveryman)
        {
            List <DeliveryDetailsViewModel> listeDelivery = new List <DeliveryDetailsViewModel>();

            idDeliveryman = HttpContext.Session.GetInt32("IdDeliveryman").GetValueOrDefault();
            List <DTO.Delivery> listDeliverys = DeliveryManager.GetAllDelivery(idDeliveryman);

            foreach (DTO.Delivery d in listDeliverys)
            {
                DeliveryDetailsViewModel deliveryDetails = new DeliveryDetailsViewModel();
                deliveryDetails.Deliverys      = d;
                deliveryDetails.Orders         = OrderManager.GetOrder(d.FK_idOrder);
                deliveryDetails.Restaurants    = RestaurantManager.GetRestaurant(d.FK_idRestaurant);
                deliveryDetails.Delivery_Times = Delivery_TimeManager.GetDelivery_Time(d.FK_idDelivery_Time);

                listeDelivery.Add(deliveryDetails);
            }

            return(View(listeDelivery));
        }
Beispiel #21
0
        private void DeleteButtonEvent(object sender, RoutedEventArgs e)
        {
            List <Delivery> selected = this.GetSelected();

            if (MessageUtil.ShowYesNoMessage("Delete (" + selected.Count + ") " + ((selected.Count > 1) ? "Deliveries" : "Delivery"), "You won't be able to revert!"))
            {
                int             succeeded = 0;
                DeliveryManager dm        = new DeliveryManager(new UnitOfWork());
                foreach (Delivery d in selected)
                {
                    try
                    {
                        dm.Delete(d.ID);
                        int i = this.Deliveries.IndexOf(d);
                        this.Table.Rows.RemoveAt(i);
                        this.Deliveries.Remove(d);
                        succeeded++;
                    }
                    catch (Exception) { }
                }
                MessageUtil.ShowMessage("Deleted (" + succeeded + ") " + ((succeeded > 1) ? "Deliveries" : "Delivery") + " and (" + (selected.Count - succeeded) + ") failed!");
            }
        }
Beispiel #22
0
        public Scaffold()
        {
            InitializeComponent();

            // Services --------------------------------------------------------------------
            deliveryService = new DeliveryService();
            productService  = new ProductService();

            // Controls ----------------------------------------------------------------------

            DeliveriesListControl ctlDeliveries = new DeliveriesListControl();

            splitContainer1.Panel1.Controls.Add(ctlDeliveries);
            ctlDeliveries.Dock = DockStyle.Fill;

            ctlDeliveries.OnJobSelected      += Ctl_OnJobSelected;
            ctlDeliveries.OnDeliverySelected += Ctl_OnDeliverySelected;

            manager = new DeliveryManager();
            splitContainer1.Panel2.Controls.Add(manager);
            manager.Dock = DockStyle.Fill;

            // Controls ---------------------------------------------------------------------
        }
Beispiel #23
0
 public void AddSubordinateForDeliveryManager(DeliveryManager manager, DeliveryWorker worker)
 {
     manager.AddSubordinate(worker);
 }
Beispiel #24
0
 public void TestInitialize()
 {
     _deliveryManager = new DeliveryManager();
 }
 public DeliveryController(DeliveryManager manager)
 {
     this._manager = manager;
 }
Beispiel #26
0
        static void Main(string[] args)
        {
            RegisterServices();
            var scope = _serviceProvider.CreateScope();

            int selectedCommand = 1;

            while (true)
            {
                if (selectedCommand == 1)
                {
                    //Console.BackgroundColor = ConsoleColor.White;
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("All employees hierarchy");
                    Console.ResetColor();
                }
                else
                {
                    Console.WriteLine("All employees hierarchy");
                }

                if (selectedCommand == 2)
                {
                    //Console.BackgroundColor = ConsoleColor.White;
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("Search employee");
                    Console.ResetColor();
                }
                else
                {
                    Console.WriteLine("Search employee");
                }

                if (selectedCommand == 3)
                {
                    //Console.BackgroundColor = ConsoleColor.White;
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("Create employee");
                    Console.ResetColor();
                }
                else
                {
                    Console.WriteLine("Create employee");
                }



                var key = Console.ReadKey();
                Console.Clear();

                if (key.Key == ConsoleKey.DownArrow)
                {
                    if (selectedCommand < 3)
                    {
                        selectedCommand++;
                    }
                }
                else if (key.Key == ConsoleKey.UpArrow)
                {
                    if (selectedCommand > 1)
                    {
                        selectedCommand--;
                    }
                }
                else if (key.Key == ConsoleKey.Enter)
                {
                    if (selectedCommand == 1)
                    {
                        while (true)
                        {
                            if (selectedCommand == 1)
                            {
                                Console.ForegroundColor = ConsoleColor.Green;
                                //Console.BackgroundColor = ConsoleColor.White;
                                Console.WriteLine("Tree view");
                                Console.ResetColor();
                            }
                            else
                            {
                                Console.WriteLine("Tree view");
                            }

                            if (selectedCommand == 2)
                            {
                                Console.ForegroundColor = ConsoleColor.Green;
                                //Console.BackgroundColor = ConsoleColor.White;
                                Console.WriteLine("Position view");
                                Console.ResetColor();
                            }
                            else
                            {
                                Console.WriteLine("Position view");
                            }
                            var k = Console.ReadKey();
                            if (k.Key == ConsoleKey.DownArrow)
                            {
                                if (selectedCommand < 2)
                                {
                                    selectedCommand++;
                                }
                            }
                            if (k.Key == ConsoleKey.UpArrow)
                            {
                                if (selectedCommand > 1)
                                {
                                    selectedCommand--;
                                }
                            }
                            if (k.Key == ConsoleKey.Enter)
                            {
                                if (selectedCommand == 1)
                                {
                                    Console.Clear();
                                    var empString = _serviceProvider.GetService <IComposite>().GetAllInTreeView();
                                    Console.WriteLine(empString);
                                    //var employees = _serviceProvider.GetService<IEmployeeService>().GetAll().ToList().OrderBy(x => x.PositionWeight);
                                    //Console.WriteLine("CEO: " + employees.First().LastName + " " + employees.First().FirstName);
                                    //foreach (var manager in employees.Where(x => x.PositionWeight == 2))
                                    //{
                                    //    Console.WriteLine($"---{manager.PositionName}: {manager.LastName} {manager.FirstName}");
                                    //    foreach (var slave in manager.Subjects)
                                    //    {
                                    //        Console.WriteLine($"---------{slave.PositionName}: {slave.LastName} {slave.FirstName}");
                                    //    }

                                    //}
                                    Console.ReadKey();
                                }

                                if (selectedCommand == 2)
                                {
                                    Console.Clear();
                                    var employees = _serviceProvider.GetService <IEmployeeService>().GetAll().ToList().OrderBy(x => x.PositionWeight);
                                    foreach (var emp in employees)
                                    {
                                        if (emp.PositionWeight == 1)
                                        {
                                            Console.WriteLine($"{emp.PositionName}: {emp.LastName} {emp.FirstName}");
                                        }

                                        if (emp.PositionWeight == 2)
                                        {
                                            Console.WriteLine($"---{emp.PositionName}: {emp.LastName} {emp.FirstName}");
                                        }

                                        if (emp.PositionWeight == 3)
                                        {
                                            Console.WriteLine($"---------{emp.PositionName}: {emp.LastName} {emp.FirstName}");
                                        }
                                    }

                                    Console.ReadKey();
                                }

                                break;
                            }
                            Console.Clear();
                        }
                    }
                    else if (selectedCommand == 2)
                    {
                        selectedCommand = 1;
                        while (true)
                        {
                            Console.Clear();
                            if (selectedCommand == 1)
                            {
                                Console.ForegroundColor = ConsoleColor.Green;
                                //Console.BackgroundColor = ConsoleColor.White;
                                Console.WriteLine("By name");
                                Console.ResetColor();
                            }
                            else
                            {
                                Console.WriteLine("By name");
                            }

                            if (selectedCommand == 2)
                            {
                                Console.ForegroundColor = ConsoleColor.Green;
                                //Console.BackgroundColor = ConsoleColor.White;
                                Console.WriteLine("By salary");
                                Console.ResetColor();
                            }
                            else
                            {
                                Console.WriteLine("By salary");
                            }

                            if (selectedCommand == 3)
                            {
                                Console.ForegroundColor = ConsoleColor.Green;
                                //Console.BackgroundColor = ConsoleColor.White;
                                Console.WriteLine("By position");
                                Console.ResetColor();
                            }
                            else
                            {
                                Console.WriteLine("By position");
                            }

                            var k = Console.ReadKey();
                            if (k.Key == ConsoleKey.DownArrow)
                            {
                                if (selectedCommand < 3)
                                {
                                    selectedCommand++;
                                }
                            }
                            if (k.Key == ConsoleKey.UpArrow)
                            {
                                if (selectedCommand > 1)
                                {
                                    selectedCommand--;
                                }
                            }

                            if (k.Key == ConsoleKey.Enter)
                            {
                                Console.Clear();
                                if (selectedCommand == 1)
                                {
                                    Console.WriteLine("Enter employee's surname: ");
                                    var sname     = Console.ReadLine();
                                    var employees = _serviceProvider.GetService <IEmployeeService>().GetAll().ToList()
                                                    .Where(x => x.LastName.Contains(sname));

                                    foreach (var emp in employees)
                                    {
                                        Console.WriteLine($"{emp.PositionName}: {emp.LastName} {emp.FirstName}");
                                    }
                                }
                                if (selectedCommand == 2)
                                {
                                    Console.WriteLine("Enter employee's minimal salary: ");
                                    var sname     = Convert.ToInt32(Console.ReadLine());
                                    var employees = _serviceProvider.GetService <IEmployeeService>().GetAll().ToList()
                                                    .Where(x => x.Salary > sname);

                                    foreach (var emp in employees)
                                    {
                                        Console.WriteLine($"{emp.PositionName}: {emp.LastName} {emp.FirstName} {emp.Salary}");
                                    }
                                }
                                if (selectedCommand == 3)
                                {
                                    Console.WriteLine("Enter employee's position: ");
                                    var sname     = Console.ReadLine();
                                    var employees = _serviceProvider.GetService <IEmployeeService>().GetAll().ToList()
                                                    .Where(x => x.PositionName == sname);

                                    foreach (var emp in employees)
                                    {
                                        Console.WriteLine($"{emp.PositionName}: {emp.LastName} {emp.FirstName} {emp.Salary}");
                                    }
                                }

                                Console.ReadKey();
                                break;
                            }
                        }
                    }
                    else if (selectedCommand == 3)
                    {
                        var empTypeSelect = 1;
                        while (true)
                        {
                            Console.Clear();
                            if (empTypeSelect == 1)
                            {
                                Console.ForegroundColor = ConsoleColor.Green;
                                //Console.BackgroundColor = ConsoleColor.White;
                                Console.WriteLine("Delivery Manager");
                                Console.ResetColor();
                            }
                            else
                            {
                                Console.WriteLine("Delivery Manager");
                            }
                            if (empTypeSelect == 2)
                            {
                                Console.ForegroundColor = ConsoleColor.Green;
                                //Console.BackgroundColor = ConsoleColor.White;
                                Console.WriteLine("Sales Manager");
                                Console.ResetColor();
                            }
                            else
                            {
                                Console.WriteLine("Sales Manager");
                            }
                            if (empTypeSelect == 3)
                            {
                                Console.ForegroundColor = ConsoleColor.Green;
                                //Console.BackgroundColor = ConsoleColor.White;
                                Console.WriteLine("Developer");
                                Console.ResetColor();
                            }
                            else
                            {
                                Console.WriteLine("Developer");
                            }
                            if (empTypeSelect == 4)
                            {
                                Console.ForegroundColor = ConsoleColor.Green;
                                //Console.BackgroundColor = ConsoleColor.White;
                                Console.WriteLine("Marketer");
                                Console.ResetColor();
                            }
                            else
                            {
                                Console.WriteLine("Marketer");
                            }



                            var k = Console.ReadKey();
                            if (k.Key == ConsoleKey.DownArrow)
                            {
                                if (empTypeSelect < 4)
                                {
                                    empTypeSelect++;
                                }
                            }
                            if (k.Key == ConsoleKey.UpArrow)
                            {
                                if (empTypeSelect > 1)
                                {
                                    empTypeSelect--;
                                }
                            }

                            if (k.Key == ConsoleKey.Enter)
                            {
                                Console.WriteLine("Enter employee's firstname");
                                var fname = Console.ReadLine();
                                Console.WriteLine("Enter employee's lastname");
                                var         lname = Console.ReadLine();
                                EmployeeDTO emp   = new EmployeeDTO();
                                if (empTypeSelect == 1)
                                {
                                    emp           = new DeliveryManager();
                                    emp.LastName  = lname;
                                    emp.FirstName = fname;
                                    emp.Master    = _serviceProvider.GetService <IEmployeeService>().GetAll()
                                                    .First(x => x.PositionName == "CEO");
                                    Random rnd = new Random();
                                    emp.Salary = rnd.Next(1000, 3000);
                                    _serviceProvider.GetService <IEmployeeService>().Create(emp);
                                    break;
                                }

                                if (empTypeSelect == 2)
                                {
                                    emp           = new SalesManager();
                                    emp.LastName  = lname;
                                    emp.FirstName = fname;
                                    emp.Master    = _serviceProvider.GetService <IEmployeeService>().GetAll()
                                                    .First(x => x.PositionName == "CEO");
                                    Random rnd = new Random();
                                    emp.Salary = rnd.Next(1000, 3000);
                                    _serviceProvider.GetService <IEmployeeService>().Create(emp);
                                    break;
                                }
                                if (empTypeSelect == 3)
                                {
                                    emp           = new Developer();
                                    emp.LastName  = lname;
                                    emp.FirstName = fname;
                                    var managerSelect = 1;
                                    while (true)
                                    {
                                        Console.Clear();
                                        var dels = _serviceProvider.GetService <IEmployeeService>().GetAll()
                                                   .Where(x => x.PositionName == "Delivery Manager");
                                        for (int i = 0; i < dels.Count(); i++)
                                        {
                                            if (managerSelect == i + 1)
                                            {
                                                Console.ForegroundColor = ConsoleColor.Green;
                                                //Console.BackgroundColor = ConsoleColor.White;
                                                var a = dels.ToList()[i];
                                                Console.WriteLine($"{a.PositionName} {a.LastName} {a.FirstName}");
                                                Console.ResetColor();
                                            }
                                            else
                                            {
                                                var a = dels.ToList()[i];
                                                Console.WriteLine($"{a.PositionName} {a.LastName} {a.FirstName}");
                                            }
                                        }

                                        var kk = Console.ReadKey();
                                        if (kk.Key == ConsoleKey.DownArrow)
                                        {
                                            if (managerSelect < dels.Count())
                                            {
                                                managerSelect++;
                                            }
                                        }
                                        if (kk.Key == ConsoleKey.UpArrow)
                                        {
                                            if (managerSelect > 1)
                                            {
                                                managerSelect--;
                                            }
                                        }

                                        if (kk.Key == ConsoleKey.Enter)
                                        {
                                            emp.Master = dels.ToList()[managerSelect - 1];
                                            Random rnd = new Random();
                                            emp.Salary = rnd.Next(1000, 3000);
                                            _serviceProvider.GetService <IEmployeeService>().Create(emp);
                                            break;
                                        }
                                    }
                                    break;
                                }
                                if (empTypeSelect == 4)
                                {
                                    emp           = new Marketer();
                                    emp.LastName  = lname;
                                    emp.FirstName = fname;
                                    var managerSelect = 1;
                                    while (true)
                                    {
                                        Console.Clear();
                                        var dels = _serviceProvider.GetService <IEmployeeService>().GetAll()
                                                   .Where(x => x.PositionName == "Sales Manager");
                                        for (int i = 0; i < dels.Count(); i++)
                                        {
                                            if (managerSelect == i + 1)
                                            {
                                                Console.ForegroundColor = ConsoleColor.Green;
                                                //Console.BackgroundColor = ConsoleColor.White;
                                                var a = dels.ToList()[i];
                                                Console.WriteLine($"{a.PositionName} {a.LastName} {a.FirstName}");
                                                Console.ResetColor();
                                            }
                                            else
                                            {
                                                var a = dels.ToList()[i];
                                                Console.WriteLine($"{a.PositionName} {a.LastName} {a.FirstName}");
                                            }
                                        }

                                        var kk = Console.ReadKey();
                                        if (kk.Key == ConsoleKey.DownArrow)
                                        {
                                            if (managerSelect < dels.Count())
                                            {
                                                managerSelect++;
                                            }
                                        }
                                        if (kk.Key == ConsoleKey.UpArrow)
                                        {
                                            if (managerSelect > 1)
                                            {
                                                managerSelect--;
                                            }
                                        }

                                        if (kk.Key == ConsoleKey.Enter)
                                        {
                                            emp.Master = dels.ToList()[managerSelect - 1];
                                            Random rnd = new Random();
                                            emp.Salary = rnd.Next(1000, 3000);
                                            _serviceProvider.GetService <IEmployeeService>().Create(emp);
                                            break;
                                        }
                                    }

                                    break;
                                }
                            }
                        }
                    }
                }
            }
        }
 public ClickableBarChartController()
 {
     _deliveryManager = new DeliveryManager();
 }
Beispiel #28
0
 //查询排行前五
 public ActionResult paihang(int Day)
 {
     return(Json(DeliveryManager.PaiHang(Day), JsonRequestBehavior.AllowGet));
 }
Beispiel #29
0
 //查询出库表
 public ActionResult DeliveryAll(int PageIndex, int PageSize, int Day)
 {
     return(Json(DeliveryManager.DeliveryAll(PageIndex, PageSize, Day), JsonRequestBehavior.AllowGet));
 }
Beispiel #30
0
        public void Run()
        {
            Console.WriteLine("Choose action?");
            int answer = -1;

            while (answer != 0)
            {
                Console.WriteLine("What do you want to do?");
                Console.WriteLine(menu);

                answer = Answer();

                switch (answer)
                {
                    case 0:
                        Console.WriteLine("Goodbye!");
                        return;
                    case 1:
                        Console.WriteLine("Add director and subordinate!");
                        director = modelCreation.AddDirector;
                        modelCreation.AddSubordinateForDirector(director, saleManager);
                        modelCreation.AddSubordinateForDirector(director, deliveryManager);
                        director.AcceptVisitor(visitor);
                        Console.WriteLine(director.Name + " " + director.Position + " " + director.Wage);
                        break;
                    case 2:
                        Console.WriteLine("Add SaleManager and subordinate!");
                        saleManager = modelCreation.AddSaleManager;
                        modelCreation.AddSubordinateForSaleManager(saleManager, workerX);
                        modelCreation.AddSubordinateForSaleManager(saleManager, workerY);
                        Console.WriteLine(saleManager.Name + " " + saleManager.Position + " " + saleManager.Wage);
                        break;
                    case 3:
                        Console.WriteLine("Add DeliveryManager and subordinate!");
                        deliveryManager = modelCreation.AddDeliveryManager;
                        modelCreation.AddSubordinateForDeliveryManager(deliveryManager, workerA);
                        modelCreation.AddSubordinateForDeliveryManager(deliveryManager, workerB);
                        Console.WriteLine(deliveryManager.Name + " " + deliveryManager.Position + " " + deliveryManager.Wage);
                        break;
                    case 4:
                        Console.WriteLine("Add WorkerA!");
                        workerA = modelCreation.AddWorkerA;
                        Console.WriteLine(workerA.Name + " " + workerA.Position + " " + workerA.Wage);
                        break;
                    case 5:
                        Console.WriteLine("Add WorkerB!");
                        workerB = modelCreation.AddWorkerB;
                        Console.WriteLine(workerB.Name + " " + workerB.Position + " " + workerB.Wage);

                        break;
                    case 6:
                        Console.WriteLine("Add WorkerX!");
                        workerX = modelCreation.AddWorkerX;
                        Console.WriteLine(workerX.Name + " " + workerX.Position + " " + workerX.Wage);

                        break;
                    case 7:
                        Console.WriteLine("Add WorkerY!");
                        workerY = modelCreation.AddWorkerY;
                        Console.WriteLine(workerY.Name + " " + workerY.Position + " " + workerY.Wage);

                        break;
                    case 8:
                        Console.WriteLine("Add All Employee!");
                        company.SetHierarchyStrategy(new PositionalHierarchyStrategy());
                        company.AddEmployee(workerA);
                        company.AddEmployee(workerB);
                        company.AddEmployee(saleManager);
                        company.AddEmployee(workerX);
                        company.AddEmployee(deliveryManager);
                        company.AddEmployee(workerY);
                        company.AddEmployee(director);
                        company.GetByWage(120);
                        break;
                    case 9:
                        Console.WriteLine("GetStructure!");
                        var result = company.GetStructure();
                        foreach (var r in result)
                        {
                            Console.WriteLine($"{r.Position}\n");
                        }
                        Console.WriteLine("=======================");
                        break;
                    case 10:
                        Console.WriteLine("Change to DirectHierarchyStrategy!");
                        company.SetHierarchyStrategy(new DirectHierarchyStrategy());
                        break;
                    case 11:
                        Console.WriteLine("Change to PositionalHierarchyStrategy!");
                        company.SetHierarchyStrategy(new PositionalHierarchyStrategy());
                        break;
                    case 12:
                        Console.WriteLine("Get Delivery Workers");
                        modelCreation.GetDeliveryManager();
                        break;
                    case 13:
                        Console.WriteLine("Get Sale Workers");
                        modelCreation.GetSaleManager();
                        break;
                    case 14:
                        Console.WriteLine("Get Big Wage");
                        modelCreation.GetBigWage();
                        break;
                    case 15:
                        Console.WriteLine("Please wage need");
                        int wage;
                        string answerWage;
                        answerWage = Console.ReadLine();
                        int.TryParse(answerWage, out wage);
                        modelCreation.GetEmployeeByWage(wage);
                        break;
                    default:
                        Console.WriteLine("I don't understand you, Newt");
                        break;
                }
            }
        }