Exemplo n.º 1
0
        /// <summary>
        /// Сумма по казне за текущей месяц
        /// </summary>
        /// <param name="monthPaymentOperations">месячные клубные взносы</param>
        /// <param name="baseCashBoxSum">базовая сумма по клубной казне</param>
        /// <returns>сумма по казне за текущей месяц</returns>
        public int CurrentMonthCashBoxSum(BerserkMembersMonthPaymentOperations monthPaymentOperations, int baseCashBoxSum)
        {
            var currentSumInCashBox = 0;

            using (var db = new CashBoxDatabase())
            {
                var otherIncomesSum = db.CashBoxOperations
                                      .Where(n => n.CurrentDate.Year == DateTime.Now.Year)
                                      .Where(n => n.CurrentDate.Day == DateTime.Now.Day)
                                      .Sum(s => s.OtherIncomes);
                var otherExpencesSum = db.CashBoxOperations
                                       .Where(n => n.CurrentDate.Year == DateTime.Now.Year)
                                       .Where(n => n.CurrentDate.Day == DateTime.Now.Day)
                                       .Sum(s => s.OtherExpenses);
                var workshopRentalSum = db.CashBoxOperations
                                        .Where(n => n.CurrentDate.Year == DateTime.Now.Year)
                                        .Where(n => n.CurrentDate.Day == DateTime.Now.Day)
                                        .Sum(s => s.WorkshopRental);
                var communityHouseRentalSum = db.CashBoxOperations
                                              .Where(n => n.CurrentDate.Year == DateTime.Now.Year)
                                              .Where(n => n.CurrentDate.Day == DateTime.Now.Day)
                                              .Sum(s => s.CommunityHouseRental);
                var monthPaymentSum = monthPaymentOperations.MonthPaymentsSum();

                currentSumInCashBox = baseCashBoxSum + otherIncomesSum + monthPaymentSum
                                      - otherExpencesSum - workshopRentalSum - communityHouseRentalSum;

                Console.WriteLine($"Баланс по кассе за {(MonthName)(DateTime.Now.Month)}: {currentSumInCashBox} грн.");
                Console.WriteLine($"\tКасса на начало месяца: {baseCashBoxSum} грн.  \tРасходы на мастерскую: {workshopRentalSum} грн.");
                Console.WriteLine($"\tОбщая сумма взносов: {monthPaymentSum} грн. \t\tРасходы на общинный дом: {communityHouseRentalSum} грн.");
                Console.WriteLine($"\tСумма доходов: {otherIncomesSum} грн. \t\tСумма расходов: {otherExpencesSum} грн.");
                Console.WriteLine();
            }
            return(currentSumInCashBox);
        }
Exemplo n.º 2
0
 /// <summary>
 /// общая текущая сумма в казне
 /// </summary>
 /// <param name="monthPaymentOperations">месячные клубные взносы</param>
 /// <param name="cashBox">операции по кассе</param>
 /// <param name="cashBoxPaymentsOperation">операции с БД по кассе</param>
 public void TotalSumInCashBox(BerserkMembersMonthPaymentOperations monthPaymentOperations, CashBox cashBox, CashBoxPaymentsOperation cashBoxPaymentsOperation)
 {
     using (var db = new CashBoxDatabase())
     {
         var monthDifference = cashBoxPaymentsOperation.MonthDifference(DateTime.Now);
         if (monthDifference > 0)
         {
             var previousMonthCashBoxSum = PreviousMonthCashBoxSum(monthPaymentOperations, cashBox.BaseCashBoxSum);
             CurrentMonthCashBoxSum(monthPaymentOperations, previousMonthCashBoxSum);
         }
         else
         {
             CurrentMonthCashBoxSum(monthPaymentOperations, cashBox.BaseCashBoxSum);
         }
     }
 }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            Console.OutputEncoding = System.Text.Encoding.UTF8;

            var cashBox = new CashBox()
            {
                BaseCashBoxSum = 2500
            };
            var cashBoxReport             = new CashBoxReport();
            var cashBoxPaymentsOperation  = new CashBoxPaymentsOperation();
            var berserkMembersMonthReport = new BerserkMembersMonthReport();
            var berserkMembers            = new List <BerserkMembers>();

            var monthPaymentOperations   = new BerserkMembersMonthPaymentOperations();
            var add_RemoveBerserksMember = new Add_RemoveBerserkMembers();

            #region Инициализация объектами
            berserkMembers.Add(new BerserkMembers {
                BerserksName = "Ragnar", StartDebt = 250, CurrentDate = DateTime.Now, StartDate = DateTime.Now
            });
            berserkMembers.Add(new BerserkMembers {
                BerserksName = "Ottar", StartDebt = 250, CurrentDate = DateTime.Now, StartDate = DateTime.Now
            });
            berserkMembers.Add(new BerserkMembers {
                BerserksName = "Torbiorn", StartDebt = 250, CurrentDate = DateTime.Now, StartDate = DateTime.Now
            });
            berserkMembers.Add(new BerserkMembers {
                BerserksName = "Eivar", StartDebt = 150, CurrentDate = DateTime.Now, StartDate = DateTime.Now
            });
            using (var db = new BerserkMembersDatabase())
            {
                if (db.BerserkMembers.Count() == 0)
                {
                    db.BerserkMembers.AddRange(berserkMembers);
                    db.SaveChanges();
                }
            }
            #endregion

            bool flag = true;
            while (flag)
            {
                ConsoleColor color = Console.ForegroundColor;
                Console.ForegroundColor = ConsoleColor.DarkGreen;
                Console.WriteLine("1.Ежемесячный взнос  \t 2. Оплата мастерской  \t 3. Оплата общинного дома");
                Console.WriteLine("4. Другие расходы \t 5. Другие доходы \t 6. Баланс по людям");
                Console.WriteLine("7. Баланс по кассе \t 8. Добавить/удалить члена клуба \t 9. Выйти из программы");
                Console.WriteLine("--------------------------------");
                Console.WriteLine("Введите номер пункта:");
                Console.ForegroundColor = color;
                try
                {
                    int number = Convert.ToInt32(Console.ReadLine());

                    switch (number)
                    {
                    case 1:
                        monthPaymentOperations.GetMonthPayment(berserkMembers);
                        berserkMembersMonthReport.MembersPaymentsMonthReport(berserkMembers);
                        break;

                    case 2:
                        cashBoxPaymentsOperation.WorkshopRentalPayment(cashBox);
                        break;

                    case 3:
                        cashBoxPaymentsOperation.CommunityHouseRentalPayment(cashBox);
                        break;

                    case 4:
                        cashBoxPaymentsOperation.GetOtherExpenses(cashBox);
                        break;

                    case 5:
                        cashBoxPaymentsOperation.GetOtherIncomes(cashBox);
                        break;

                    case 6:
                        berserkMembersMonthReport.MembersPaymentsMonthReport(berserkMembers);
                        break;

                    case 7:
                        cashBoxReport.TotalSumInCashBox(monthPaymentOperations, cashBox, cashBoxPaymentsOperation);
                        break;

                    case 8:
                        add_RemoveBerserksMember.AddAndRemoveMembers(berserkMembers);
                        break;

                    case 9:
                        flag = false;
                        continue;
                    }
                }
                catch (Exception ex)
                {
                    color = Console.ForegroundColor;
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine(ex.Message);
                    Console.ForegroundColor = color;
                }
            }
        }