/// <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); }
/// <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); } } }
/// <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); }
/// <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); }
/// <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); }