/// <summary>
        /// Продать малый бизнес
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void sellSmall_Click(object sender, EventArgs e)
        {
            if (_smallBusiness != null)
            {
                _smallBusiness = null;

                Button_Text(buySmall, "Купить");
                Button_Enable(sellSmall, false);
            }
        }
        /// <summary>
        /// Купить малый бизнес
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buySmall_Click(object sender, EventArgs e)
        {
            if (_smallBusiness == null)
            {
                _smallBusiness = new SmallBusiness();

                Button_Text(buySmall, "Параметры");
                Button_Enable(sellSmall, true);
            }
            else
            {
                var demandProfessionsForm = new Demand_Business("small");
                demandProfessionsForm.ShowDialog();
            }
        }
Esempio n. 3
0
            public static void Main(string[] args)
            {
                {
                    const int  ARRAY_SIZE = 3;
                    Business[] businesses = new Business[ARRAY_SIZE];
                    businesses[0] = new BigCompany("Wallmart", "123 Street");
                    businesses[1] = new SmallBusiness("ABC", "1st Avenue");
                    businesses[2] = new BigCompany("Mega Buy", "Long Alley");

                    for (int index = 0; index < businesses.Length; index++)
                    {
                        Console.WriteLine("  Business Name: {0}, Business Adress: {1}", businesses[index].Name, businesses[index].Address);
                        businesses[index].CheckLine();
                    }
                    Console.ReadLine();
                }
            }
Esempio n. 4
0
        public void Create(SmallBusiness smallBusiness)
        {
            smallBusiness.InvolvedSavingAccounts = _context.SavingAccounts.Where(x => x.Status == MemberStatus.Live)
                                                   .ToList()
                                                   .Select(x => new SmallBusinessSavingAccount {
                SavingAccountId = x.Id
            })
                                                   .ToList();

            if (smallBusiness.InvolvedSavingAccounts.Count > 0)
            {
                smallBusiness.Installments = GlobalFunctions.CreateInstallments(smallBusiness.SellingPrice, smallBusiness.InstallmentStartDate)
                                             .Select(x => new SmallBusinessInstallment
                {
                    Amount  = x.Amount,
                    DueDate = x.DueDate
                })
                                             .ToList();

                if (smallBusiness.BuyingPrice > smallBusiness.InitialPayment)
                {
                    var totalCost      = smallBusiness.BuyingPrice - smallBusiness.InitialPayment;
                    var individualCost = totalCost / (decimal)smallBusiness.InvolvedSavingAccounts.Count();

                    smallBusiness.Transactions = smallBusiness.InvolvedSavingAccounts
                                                 .Select(x => new Transaction
                    {
                        SavingAccountId = x.SavingAccountId,
                        Amount          = individualCost,
                        Description     = string.Format("Small Business:- Product:{0}, Customer:{1}, Total Cost:{2} , Total accounts involved:{3} ", smallBusiness.Product, smallBusiness.CustomerName, totalCost.ToString("#,###.00"), smallBusiness.InvolvedSavingAccounts.Count),
                        TransactionDate = DateTime.Today,
                        Type            = TransactionType.Small_Business,
                        TransactionSide = TransactionSide.Debit
                    })
                                                 .ToList();
                }

                if (smallBusiness.InitialPayment > 0)
                {
                    var  tempPaymentAmount = smallBusiness.InitialPayment;
                    bool allPaid           = true;
                    foreach (var item in smallBusiness.Installments.OrderBy(x => x.DueDate))
                    {
                        if (tempPaymentAmount < item.Amount)
                        {
                            smallBusiness.PaymentDueDate = item.DueDate;
                            allPaid = false;
                            break;
                        }
                        tempPaymentAmount -= item.Amount;
                    }
                    if (allPaid)
                    {
                        smallBusiness.PaymentDueDate = null;
                    }
                }

                _context.SmallBusinesses.Add(smallBusiness);
            }
            _context.SaveChanges();
        }