Exemple #1
0
        private void CreateCart(params Route[] routes)
        {
            // compute the transitive closure of the routes
            routes =
                routes.SelectMany(
                    route =>
                    Closure(route.Robot1, robot => { return(routes.Where(r => r.Robot1 == robot).Select(r => r.Robot2)); })
                    .Select(target => new Route(route.Robot1, target))).ToArray();

            // make sure we don't have duplicate routes
            routes = routes.Distinct(new RouteComparer()).ToArray();

            // for efficiency (less faults), remove reflexive routes
            routes = routes.Where(route => route.Robot1 != route.Robot2).ToArray();

            var cart  = new Cart(routes[0].Robot1, routes);
            var agent = new CartAgent(cart);

            Carts.Add(cart);
            CartAgents.Add(agent);

            cart.SetNames(Carts.Count - 1);
            agent.Name = $"C{Carts.Count - 1}";
            agent.ConfigurationUpdateFailed.Name = agent.Name + ".ConfigUpdateFailed";

            foreach (var route in routes)
            {
                Agent.Connect(from: RobotAgents.Single(a => route.Robot1 == a.Robot), to: agent);
                Agent.Connect(from: agent, to: RobotAgents.Single(a => route.Robot2 == a.Robot));
#if !ENABLE_F2 // error F2: routes are bidirectional
                Agent.Connect(from: RobotAgents.Single(a => route.Robot2 == a.Robot), to: agent);
                Agent.Connect(from: agent, to: RobotAgents.Single(a => route.Robot1 == a.Robot));
#endif
            }
        }
Exemple #2
0
        //private void _findCustomers()
        //{
        //    Customers = new ObservableCollection<CustomerViewModel>();
        //    if (String.IsNullOrWhiteSpace(FindName))
        //        return;
        //    foreach(var item in db.GetAllCustomers())
        //    {
        //        if(item.Name.Contains(FindName))
        //        {
        //            Customers.Add(new CustomerViewModel(item.ID));
        //        }
        //    }
        //}

        private void _createNewPizza()
        {
            if (string.IsNullOrWhiteSpace(NewPizzaUserCreated.UserCreatedPizzaName))
            {
                MessageBox.Show("Please fill the pizza name field");
                return;
            }
            if (NewPizzaUserCreated.Ingres.Count == 0)
            {
                MessageBox.Show("Please add some ingredients");
                return;
            }
            NewPizzaUserCreated.Pizza.Name  = NewPizzaUserCreated.UserCreatedPizzaName;
            NewPizzaUserCreated.Pizza.Price = NewPizzaUserCreated.TotalPricePizza;

            var buff_pizza = NewPizzaUserCreated.Pizza;

            db.MakeNewPizza(ref buff_pizza, new List <BLL.IngredientModel>(NewPizzaUserCreated.Ingres));
            NewPizzaUserCreated.Pizza = buff_pizza;

            var newPizza = new PizzaDetailViewModel_(NewPizzaUserCreated.Pizza.ID, NewPizzaUserCreated.SelectedSizeID, Quantity.Один);

            newPizza.PizzaImage = "/Images/Pizza/UserCreatedPizza.png";
            Carts.Add(newPizza);
            MessageBox.Show("Successful!");
        }
Exemple #3
0
 public void SpawnNewCarts()
 {
     Warehouses.ToList().ForEach(e =>
     {
         var cart = e.Value.NewCart();
         if (cart != null)
         {
             cart.Track = e.Value.FirstTrack;
             e.Value.FirstTrack.Cart = cart;
             Carts.Add(cart);
         }
     });
 }
Exemple #4
0
        public List <Cart> Add(Cart cart)
        {
            var obj = Carts.FirstOrDefault(x => x.ProductID == cart.ProductID);

            if (obj != null)
            {
                obj.Quantity = obj.Quantity + cart.Quantity;
            }
            else
            {
                Carts.Add(cart);
            }
            return(Carts);
        }
        private async Task OnAddProductToCartCompleted(CartItemModel cartItem)
        {
            var cart = Carts.FirstOrDefault(x => x.ProductId == cartItem.ProductId);

            if (cart == null)
            {
                Carts.Add(cartItem);
            }
            else
            {
                cart.Quantity = cartItem.Quantity;
            }
            UpdateCart();
        }
Exemple #6
0
        public void SpawnCart()
        {
            Random    random = new Random();
            int       selectedWarehouseIndex = random.Next(0, WareHouses.Count);
            Warehouse SelectedWareHouse      = WareHouses[selectedWarehouseIndex];
            Track     nextWarehouseTrack     = SelectedWareHouse.NextTrack;

            if (nextWarehouseTrack.Cart != null)
            {
                return;
            }
            Cart cart = new Cart();

            cart.Track = nextWarehouseTrack;
            nextWarehouseTrack.Cart = cart;
            Carts.Add(cart);
        }
        public void AddItem(Guid productId, int quantity)
        {
            var cartItem = Carts.SingleOrDefault(o => o.ProductId == productId && o.ShoppingCartId == Id);

            if (cartItem == null)
            {
                cartItem = new Cart()
                {
                    ProductId = productId, ShoppingCartId = Id, Quantity = quantity
                }
            }
            ;
            else
            {
                cartItem.Quantity += quantity;
            }
            Carts.Add(cartItem);
        }
Exemple #8
0
        public void Play()
        {
            Carts.Add(Warehouses.ElementAt(0).SpawnCart());

            OutputView.StandardScreen();
            while (true)
            {
                Random r = new Random();

                if (Points == 0)
                {
                    Max = 10;
                }
                else
                {
                    double MaxDouble = (10 / Points) * 1.5;
                    Max = (Int32)MaxDouble;
                }

                double Seconds      = Max / 2;
                int    ExtraSeconds = (Int32)Seconds;
                InputView.ChangeSwitch(ExtraSeconds);
                OutputView.StandardScreen();

                foreach (var c in Carts.ToList())
                {
                    if (!c.Move())
                    {
                        EndGame();
                    }
                }
                Ship.Move();

                foreach (var w in Warehouses)
                {
                    if (r.Next(Max) == Max - 1)
                    {
                        Carts.Add(w.SpawnCart());
                    }
                }

                OutputView.StandardScreen();
            }
        }
Exemple #9
0
        // GET: Product
        public ActionResult Index(string ProdType, int ProdOnPage = 3, int Page = 1)
        {
            object UserId = Session["UId"];

            if (!Session.IsNewSession)
            {
                CurrentCart = Carts.FirstOrDefault(x => x.UId == Session.LCID);
            }
            else
            {
                CurrentCart = new Cart {
                    UId = Session.LCID
                };
                Carts.Add(CurrentCart);
                Session["UId"] = Session.LCID;
                UId++;
            }
            ViewBag.ProdType     = ProdType;
            ViewBag.ProdOnPage   = ProdOnPage;
            ViewBag.Page         = Page;
            ViewBag.UId          = CurrentCart.UId;
            ViewBag.ProductCount = CurrentCart.Check.Count;
            IEnumerable <FShop.DB.DB.Product> products;
            int count = 0;

            if (!string.IsNullOrEmpty(ProdType))
            {
                count    = repository.Prod.Where(x => x.Category == ProdType).Count();
                products = repository.Prod.Where(x => x.Category == ProdType).Skip((Page - 1) * ProdOnPage).Take(ProdOnPage);
            }
            else
            {
                count    = repository.Prod.Count();
                products = repository.Prod.Skip((Page - 1) * ProdOnPage).Take(ProdOnPage);
            }
            ViewBag.Count = Math.Ceiling((decimal)count / ProdOnPage);
            if (Math.Ceiling((decimal)count / ProdOnPage) < Page)
            {
                ViewBag.Page = Math.Ceiling((decimal)count / ProdOnPage) < Page;
            }

            return(View(products));
        }
        //public void SubmitCart() {
        //    if (Carts == null || !Carts.Any(c => c.Status == CartStatus.Active))
        //        throw new InvalidOperationException("No Active Cart Found");

        //}

        public Cart GetActiveCart()
        {
            if (Carts == null)
            {
                Carts = new List <Cart> {
                    new Cart(this, CartStatus.Active)
                };
                return(Carts.First());
            }

            Cart cart = Carts.SingleOrDefault(c => c.Status == CartStatus.Active && c.Order == null);

            if (cart != null)
            {
                return(cart);
            }
            cart = new Cart(this, CartStatus.Active);
            Carts.Add(cart);
            return(cart);
        }
Exemple #11
0
        public bool HasAddedACart()
        {
            if (amountOfCarts > Hangars.Count)
            {
                return(false);
            }
            Hangar ChosenHangar;
            Cart   AddedCart = null;

            for (int count = 0; count < amountOfCarts; count++)
            {
                while (AddedCart == null)
                {
                    ChosenHangar = Hangars[random.Next(0, 3)];
                    AddedCart    = ChosenHangar.AddCart();
                }
                Carts.Add(AddedCart);
            }
            return(true);
        }
 public void Parse(string input)
 {
     Map = input.Split(new[] { "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries).Select(s => s.ToCharArray()).ToList();
     for (int y = 0; y < Map.Count; y++)
     {
         for (int x = 0; x < Map[0].Length; x++)
         {
             char symbol = Map[y][x];
             if (new[] { '^', 'v', '<', '>' }.Contains(symbol))
             {
                 Map[y][x] = CartToLine(symbol);
                 Carts.Add(new Cart
                 {
                     X         = x,
                     Y         = y,
                     Direction = SymbolToDirection(symbol)
                 });
             }
         }
     }
 }
Exemple #13
0
            private void Initialize(string[] lines)
            {
                Fields = new Field[lines[0].Length, lines.Length];

                for (int row = 0; row < lines.Length; row++)
                {
                    var line = lines[row];
                    for (int col = 0; col < line.Length; col++)
                    {
                        char field;
                        Cart cart = null;
                        switch (line[col])
                        {
                        case '<':
                        case '>':
                            field = '-';
                            cart  = new Cart(col, row, line[col], Carts.Count);
                            break;

                        case '^':
                        case 'v':
                            field = '|';
                            cart  = new Cart(col, row, line[col], Carts.Count);
                            break;

                        default:
                            field = line[col];
                            break;
                        }

                        Fields[col, row] = new Field(col, row, field);

                        if (cart != null)
                        {
                            Carts.Add(cart);
                        }
                    }
                }
            }
        public Track(string[] track)
        {
            this.track = track;
            for (var y = 0; y < track.Length; y++)
            {
                for (var x = 0; x < track[0].Length; x++)
                {
                    var obj = this[x, y];
                    if (!"|-\\/+ ".Contains(obj))
                    {
                        Direction cartDir = Left;
                        switch (obj)
                        {
                        case '>':
                            cartDir    = Right;
                            this[x, y] = '-';
                            break;

                        case '<':
                            cartDir    = Left;
                            this[x, y] = '-';
                            break;

                        case '^':
                            cartDir    = Up;
                            this[x, y] = '|';
                            break;

                        case 'v':
                            cartDir    = Down;
                            this[x, y] = '|';
                            break;
                        }
                        Carts.Add(new Cart(x, y, cartDir));
                    }
                }
            }
        }
Exemple #15
0
 public void Save(Cart cart)
 {
     cart.Id = GetId();
     Carts.Add(cart);
 }
Exemple #16
0
        private void _addNewCart(object pizza_id)
        {
            foreach (var item in Carts)
            {
                if (item.Pizza.ID == (int)pizza_id)
                {
                    switch (item.SelectedQuant)
                    {
                    case Quantity.Один:
                        item.SelectedQuant = Quantity.Два;
                        OnPropertyChanged(nameof(Carts));
                        return;

                    case Quantity.Два:
                        item.SelectedQuant = Quantity.Три;
                        return;

                    case Quantity.Три:
                        item.SelectedQuant = Quantity.Четыре;
                        return;

                    case Quantity.Четыре:
                        item.SelectedQuant = Quantity.Пять;
                        return;

                    case Quantity.Пять:
                        item.SelectedQuant = Quantity.Пять;
                        return;

                    default:
                        item.SelectedQuant = Quantity.Пять;
                        return;
                    }
                }
            }
            var newPizza = new PizzaDetailViewModel_((int)pizza_id, 2, Quantity.Один);

            switch (pizza_id)
            {
            case 1:
                newPizza.PizzaImage = "/Images/Pizza/Pizza_1.png";
                break;

            case 2:
                newPizza.PizzaImage = "/Images/Pizza/Pizza_2.png";
                break;

            case 3:
                newPizza.PizzaImage = "/Images/Pizza/Pizza_3.png";
                break;

            case 4:
                newPizza.PizzaImage = "/Images/Pizza/Pizza_4.png";
                break;

            default:
                newPizza.PizzaImage = "/Images/Pizza/UserCreatedPizza.png";
                break;
            }
            newPizza.PropertyChanged += Item_PropertyChanged;
            Carts.Add(newPizza);
        }
 public void AddToCarts(Cart cartItem)
 {
     Carts.Add(cartItem);
 }
Exemple #18
0
 public void AddCarts(Cart c)
 {
     Carts.Add(c);
 }