Esempio 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);
        }
Esempio 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);
         }
     }
 }
Esempio n. 3
0
        /// <summary>
        /// Получаем сумму других доходов в казну
        /// </summary>
        /// <param name="cashBox">операции по казне</param>
        /// <returns>другие доходы в казну</returns>
        public int GetOtherIncomes(CashBox cashBox)
        {
            var otherIncomes = ParseInt("Введите сумму других доходов");

            Console.WriteLine($"Сумма других доходов {otherIncomes} грн");
            var newOperation = new CashBox {
                OtherIncomes = otherIncomes, CurrentDate = DateTime.Now
            };

            using (var db = new CashBoxDatabase())
            {
                db.CashBoxOperations.Add(newOperation);
                db.SaveChanges();
            }
            return(cashBox.OtherIncomes);
        }
Esempio n. 4
0
        /// <summary>
        /// Получаем проплату за мастерской
        /// </summary>
        /// <param name="cashBox">операции по казне</param>
        /// <returns>проплата за аренду мастерской</returns>
        public int WorkshopRentalPayment(CashBox cashBox)
        {
            int monthRentalSum     = 1000;
            int totalRentalDebtSum = monthRentalSum * (MonthDifference(DateTime.Now) + 1);

            int workshopRentalPayment = ParseInt("Введите суму оплаты за аренду мастерской");

            var newOperation = new CashBox {
                WorkshopRental = workshopRentalPayment, CurrentDate = DateTime.Now
            };

            using (var db = new CashBoxDatabase())
            {
                db.CashBoxOperations.Add(newOperation);
                db.SaveChanges();

                var workshopRentalPaymentSum = db.CashBoxOperations.Sum(p => p.WorkshopRental);
                RentalPaymentsReport(workshopRentalPaymentSum, totalRentalDebtSum, "мастерской");
            }
            return(cashBox.WorkshopRental);
        }
Esempio n. 5
0
        /// <summary>
        /// Получаем проплату за аренду общинного дома
        /// </summary>
        /// <param name="cashBox">операции по казне</param>
        /// <returns>проплата за аренду общинного дом</returns>
        public int CommunityHouseRentalPayment(CashBox cashBox)
        {
            int monthRentalSum     = 800;
            int totalRentalDebtSum = monthRentalSum * (MonthDifference(DateTime.Now) + 1);

            int communityHouseRentalPayment = ParseInt("Введите суму оплаты за аренду общинного дома");

            var newOperation = new CashBox {
                CommunityHouseRental = communityHouseRentalPayment, CurrentDate = DateTime.Now
            };

            using (var db = new CashBoxDatabase())
            {
                db.CashBoxOperations.Add(newOperation);
                db.SaveChanges();

                var communityHouseRentalPaymentSum = db.CashBoxOperations.Sum(p => p.CommunityHouseRental);
                RentalPaymentsReport(communityHouseRentalPaymentSum, totalRentalDebtSum, "общинного дома");
            }
            return(cashBox.CommunityHouseRental);
        }