Пример #1
0
        public virtual void BuyGame(Game game)
        {
            if (game.Price > MoneyInWallet)
            {
                throw new InvalidOperationException($"You don't have enough money");
            }

            if (game.Price > 24)
            {
                QualifyingPurchases++;
            }

            var purchase = Purchase.Create(game);

            //Buying a game increases the number of points on your card
            Points += game.Points;

            UpgradeToClassic();

            //UpgradeToStar();

            //UpgradeToPremium();

            PointsToDiscount = 2000 - Points;

            MoneyInWallet -= game.Price;

            Purchases.Add(purchase);
        }
Пример #2
0
        public PurchasePart CreatePurchase(IDemandToProvider demand, decimal amount)
        {
            var articleToPurchase = ArticleToBusinessPartners.Single(a => a.ArticleId == demand.ArticleId);
            var purchase          = new Purchase()
            {
                BusinessPartnerId = articleToPurchase.BusinessPartnerId,
                DueTime           = articleToPurchase.DueTime,
            };

            //amount to be purchased has to be raised to fit the packsize
            amount = Math.Ceiling(amount / articleToPurchase.PackSize) * articleToPurchase.PackSize;
            var purchasePart = new PurchasePart()
            {
                ArticleId = demand.ArticleId,
                Quantity  = (int)amount,
                DemandProviderPurchaseParts = new List <DemandProviderPurchasePart>(),
                PurchaseId = purchase.Id,
            };

            purchase.PurchaseParts = new List <PurchasePart>()
            {
                purchasePart
            };
            Purchases.Add(purchase);
            PurchaseParts.Add(purchasePart);
            SaveChanges();
            return(purchasePart);
        }
        public IActionResult OnGet(int?Id = null)
        {
            if (Id.HasValue)
            {
                Editing  = true;
                Material = _db.SearchRawMaterialItems(Id.Value);
                if (Material == default)
                {
                    Editing      = false;
                    ErrorMessage = "Purchase not found. Please return to the previous page and try again.";
                    Material     = new RawMaterialItem();
                    return(Page());
                }

                foreach (var item in Material.Purchases)
                {
                    if (item.CurrentInventory > 0)
                    {
                        Purchases.Add(item);
                    }
                    TotalValue     += item.CurrentInventory * item.LandedCostPerUnit;
                    TotalInventory += item.CurrentInventory;
                    ScrapValue     += item.ScrapValue.GetValueOrDefault(0);
                }
            }
            else
            {
                Editing  = false;
                Material = new RawMaterialItem();
            }

            return(Page());
        }
Пример #4
0
        public virtual void BuyGame(Game game)
        {
            if (CanBuyGame(game) != string.Empty)
            {
                throw new InvalidOperationException();
            }

            if (game.Price > MoneyInWallet)
            {
                throw new InvalidOperationException();
            }

            if (game.Price > 24)
            {
                QualifyingPurchases++;
            }

            var purchase = Purchase.Create(game);

            //Buying a game increases the number of points on your card
            Points += game.Points;

            UpgradeToClassic();

            UpgradeToStar();

            UpgradeToPremium();

            MoneyInWallet -= game.Price;

            Purchases.Add(purchase);

            while (Points >= 2000 && Points < 8000)
            {
                if (Bonus == 0)
                {
                    Bonus += 10;
                }
                if (Bonus == 10)
                {
                    return;
                }
            }

            while (Points >= 8000)
            {
                if (Bonus == 10)
                {
                    Bonus += 10;
                }
                if (Bonus == 20)
                {
                    return;
                }
            }
        }
        private void SaveGroupItem(object obj)
        {
            Group = ListVM.ActiveGroup.Group;
            GroupItemViewModel groupItem = obj as GroupItemViewModel;

            if (groupItem != null && groupItem.isValid)
            {
                if (string.IsNullOrEmpty(groupItem.VaiableName))
                {
                    if (Group.PurchasesList == null)
                    {
                        Group.PurchasesList = new List <Purchase>();
                        Purchases           = new List <GroupItemViewModel>();
                    }
                    if (Group.PurchasesList.Any(p => p.Name.ToLower() == groupItem.Name.ToLower()))
                    {
                        ListVM.Main.DisplayAlert("Внимание!", "Такой элемент уже имеется в списке.", "Ok");
                        return;
                    }
                    var purch = new Purchase
                    {
                        Id        = groupItem.Purchase.Id,
                        Name      = groupItem.Purchase.Name,
                        Count     = groupItem.Purchase.Count,
                        Units     = groupItem.Purchase.Units,
                        Completed = groupItem.Purchase.Completed
                    };
                    Group.PurchasesList.Add(purch);                        //добавляет покупку в группу
                    Purchases.Add(ListVM.PurchasesToGIVMConverter(purch)); //Добавляет IVM в текущий список GVM
                }
                else
                {
                    if (groupItem.Name.Length < 1)
                    {
                        ListVM.Main.DisplayAlert("Внимание!", "Название не может быть пустым", "Ok");
                        return;
                    }
                    var purch = Group.PurchasesList.FirstOrDefault(p => p.Name == groupItem.VaiableName);
                    Group.PurchasesList[Group.PurchasesList.IndexOf(purch)] = groupItem.Purchase;
                }

                App.Database.SaveGroupItem(Group);//сохраняет эту группу в БД
                if (needToSave)
                {
                    ListVM.Back();
                    ListVM.ActiveGroup           = ListVM.GroupsList[ListVM.GroupsList.Count - 1];
                    ListVM.ActiveGroup.Purchases = new List <GroupItemViewModel>();
                    foreach (var groupIVM in ListVM.ActiveGroup.Group.PurchasesList)
                    {
                        ListVM.ActiveGroup.Purchases.Add(ListVM.PurchasesToGIVMConverter(groupIVM));
                    }
                }
            }
            ListVM.BackToList();
        }
Пример #6
0
        public virtual void BuyGame(Game game)
        {
            var purchase = Purchase.Create(game);

            //Buying a game increases the number of points on your card
            Points += game.Points;

            PointsToDiscount = 2000 - Points;

            Purchases.Add(purchase);
        }
Пример #7
0
        private void RefreshItems()
        {
            Purchases.Clear();

            foreach (var item in SelectedClient.Purchases)
            {
                if (SelectedClient.Purchases == null)
                {
                    NotifyClient("Veuillez vous connecter");
                }

                Purchases.Add(item);
            }
        }
Пример #8
0
        public void AddPurchase(int price, IBonusCalcStrategy bonusCalculator)
        {
            if (price < 0)
            {
                throw new ArgumentException("Should not be negative", nameof(price));
            }

            var purchase = new Purchase
            {
                CardId = Id,
                Price  = price,
                Bonus  = bonusCalculator.Calc(price)
            };

            Purchases.Add(purchase);
        }
        public void AddItem(Item item)
        {
            PurchaseDetails purchaseDetails = null;

            try
            {
                purchaseDetails = Purchases.Find(x => x.Item.Id == item.Id);
            }
            catch (Exception ex)
            {
                Console.WriteLine("error looking for the same item\n");
                Logging.log.Error(ex);
            }

            if (purchaseDetails != null)
            {
                purchaseDetails.PurchaseItem.Quantity += 1;
                purchaseDetails.PurchaseItem.SubTotal  = purchaseDetails.PurchaseItem.Quantity * item.Price;

                if (PurchaseItemManager.Update(purchaseDetails.PurchaseItem))
                {
                    Console.WriteLine("Item Successfully added.");
                }
                else
                {
                    Console.WriteLine("Item not added! Please try again.");
                }
            }
            else
            {
                PurchaseItem purchaseItem = new PurchaseItem(GenerateID.GetGeneratedID(), PurchaseId, item.Id, 1, item.Price);

                if (PurchaseItemManager.Add(purchaseItem))
                {
                    Purchases.Add(new PurchaseDetails(purchaseItem, item));
                    Console.WriteLine("Item successfully added.");
                }
                else
                {
                    Console.WriteLine("Item not added! Please try again.");
                }
            }
        }
Пример #10
0
        public void Purchase(string desiredLocation)
        {
            InventoryItem tempItem = Inventory[desiredLocation];
            string        logPath  = @"C:\Workspace\Team(git)\(4)team6-c-week4-pair-exercises(Dan)\c#-capstone\etc\Log.txt";

            tempItem.Qty--;
            Money -= tempItem.Item.Price;
            Purchases.Add(tempItem);
            //Noise = Inventory[desiredLocation].Item.Noise;
            //Noises.Add(Noise);
            //itemsBought.Add(Inventory[desiredLocation].Item.ItemName, Inventory[desiredLocation].Item.Price);
            //itemsPurchased[Inventory[desiredLocation].Item.ItemName] = (5 - (Inventory[desiredLocation].Qty)).ToString();
            //itemsPurchased.Add((5 - (Inventory[desiredLocation].Qty)).ToString());
            using (StreamWriter sw = new StreamWriter(logPath, true))
            {
                sw.WriteLine("{0, -25}{1, -15}{2, -20}{3, -10}", DateTime.Now, "Purchased:", Inventory[desiredLocation].Item.ItemName,
                             Inventory[desiredLocation].Item.Price, Money.ToString("c"));
            }
        }
Пример #11
0
        private void populatePurchases()
        {
            if (Purchases != null)
            {
                Purchases.Clear();
            }
            else
            {
                Purchases = new ObservableCollection <Purchase>();
            }

            IEnumerable <Purchase> purchases = _context.Purchases.getPurchasesOf(minDate, maxDate, selectedProduct != NullProduct ? selectedProduct : null, selectedStore != NullStore ? selectedStore : null);

            foreach (Purchase purchase in purchases)
            {
                purchase.PropertyChanged += (s, e) => saveChangesCommand.RaiseCanExecuteChanged();
                Purchases.Add(purchase);
            }
            RaisePropertyChanged("TotalSum");
            RaisePropertyChanged("TotalAmount");
        }
Пример #12
0
        public Purchases GetPurchases(int Id)
        {
            Purchases purchases = new Purchases();

            try
            {
                string query = $"select * from dsto_Purchase where configuration_Id ='{Id}' and Deleted=0";
                var    table = DbInfo.ExecuteSelectQuery(query);
                if (table.Rows.Count > 0)
                {
                    System.Data.DataRow row      = table.Rows[0];
                    Purchase            purchase = purchases.Add();
                    InitPurchases(purchase, row);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(purchases);
        }
Пример #13
0
 public bool RegisterPurchase(Purchase purchase)
 {
     Purchases.Add(purchase);
     return(true);
 }