public IActionResult IncomeReport(DateTime datepicker) { if (datepicker != null) { IncomeReport incomeReport = reportRepo.IncomeReports .FirstOrDefault(r => r.CreateDate.Year == datepicker.Year && r.CreateDate.Month == datepicker.Month); if (incomeReport == null) { DateTime reportDate = datepicker; incomeReport = new IncomeReport(); incomeReport.CreateDate = reportDate; incomeReport.ImportCost = importRepo.ImportOrders .Where(o => o.PlacedDate.Year == reportDate.Year && o.PlacedDate.Month == reportDate.Month) .Sum(o => o.Sum); incomeReport.SaleIncome = orderRepo.Orders .Where(o => o.PlacedDate.Year == reportDate.Year && o.PlacedDate.Month == reportDate.Month) .Sum(o => o.Sum); incomeReport.EmployeeSalaries = employeeRepo.Employees .Sum(e => e.Salary); incomeReport.CalculateProfit(); reportRepo.SaveReport(incomeReport); return(View(incomeReport)); } else { return(View(incomeReport)); } } else { return(View(null)); } }
public IncomeReport ProcessIncome(BattleReport battleReport, int deaths) { var gang = _gangFactory.GetGang(battleReport.GangId); var territories = _territoryFactory.GetTerritoriesByGangId(battleReport.GangId).ToList(); territories.Sort(); var gangers = GetGangers(battleReport.GangId).ToList(); var gross = new List <TerritoryIncomeReport>(); for (int i = 0; i < gangers.Count(); i++) { var status = new TerritoryWorkStatus() { Deaths = deaths, Ganger = gangers[i], GangId = battleReport.GangId, Objectives = battleReport.GangBattleStats.Select(stats => stats.Objectives).Sum(), PreviousBattleType = battleReport.GameType, Roll = DiceRoller.ParseDiceString(territories[i].Territory.Income) }; gross.Add(territories[i].Territory.WorkTerritory(status)); } int territoryGross = gross.Select(territoryReport => territoryReport.Income).Sum(); int giantKillerBonus = GetGiantKillerBonus(gang.GangRating, battleReport.OpponentGangRating); int incomeAfterUpkeep = GetGangUpkeep(GetNumberOfGangMembers(battleReport.GangId), territoryGross + giantKillerBonus); var report = new IncomeReport() { Gross = gross, GiantKillerBonus = giantKillerBonus, Income = incomeAfterUpkeep }; gang.Credits += report.Income; _gangFactory.UpdateGang(gang); return(report); }
public IActionResult IncomeReport() { DateTime reportDate = DateTime.Now; IncomeReport incomeReport = new IncomeReport(); incomeReport.CreateDate = reportDate; incomeReport.ImportCost = importRepo.ImportOrders .Where(o => o.PlacedDate.Year == reportDate.Year && o.PlacedDate.Month == reportDate.Month) .Sum(o => o.Sum); incomeReport.SaleIncome = orderRepo.Orders .Where(o => o.PlacedDate.Year == reportDate.Year && o.PlacedDate.Month == reportDate.Month) .Sum(o => o.Sum); incomeReport.EmployeeSalaries = employeeRepo.Employees .Sum(e => e.Salary); incomeReport.CalculateProfit(); reportRepo.SaveReport(incomeReport); return(View(incomeReport)); }
private void BtnReport_Click(object sender, RoutedEventArgs e) { try { SqlParameter from, to, id; DataTable dt = null; from = new SqlParameter { ParameterName = "@fromDate", Value = txtFromDate.SelectedDate }; to = new SqlParameter { ParameterName = "@toDate", Value = txtToDate.SelectedDate }; id = new SqlParameter { ParameterName = "@sourceId", Value = cmbSourceName.SelectedValue }; String Path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); if (txtFromDate.SelectedDate == null && txtToDate.SelectedDate == null) { from = new SqlParameter { ParameterName = "@fromDate", Value = DBNull.Value }; to = new SqlParameter { ParameterName = "@toDate", Value = DBNull.Value }; } //income if (cmbreportType.SelectedIndex == 0 && GroupBy.IsChecked == false) { var list = new TruckDbContext(DbSettingHelper.BuildConnectionString()).Database.SqlQuery <SpGetIncomeModel>("exec dbo.SpGetIncome @sourceId,@fromDate,@toDate", id, from, to).ToList <SpGetIncomeModel>(); dt = ApplicationState.ToDataTable(list); IncomeReport incomeReport = new IncomeReport(); // Path = System.IO.Path.Combine(Path, @"Reports\IncomeReport.rpt"); var fi = System.AppDomain.CurrentDomain.BaseDirectory; incomeReport.Load("~/Reports/IncomeReport.rpt"); incomeReport.SetDataSource(dt); incomeReport.Refresh(); reportViewer.ViewerCore.ReportSource = incomeReport; } //income Group By if (cmbreportType.SelectedIndex == 0 && GroupBy.IsChecked == true) { var list = new TruckDbContext(DbSettingHelper.BuildConnectionString()).Database.SqlQuery <SpGetIncomeModel>("exec dbo.SpGetIncome @sourceId,@fromDate,@toDate", id, from, to).ToList <SpGetIncomeModel>(); dt = ApplicationState.ToDataTable(list); IncomeReportByGroup incomeReport = new IncomeReportByGroup(); Path = System.IO.Path.Combine(Path, @"Reports\IncomeReportByGroup.rpt"); incomeReport.Load(Path); incomeReport.SetDataSource(dt); incomeReport.Refresh(); reportViewer.ViewerCore.ReportSource = incomeReport; } //spend Group By if (cmbreportType.SelectedIndex == 1 && GroupBy.IsChecked == true) { var list = new TruckDbContext(DbSettingHelper.BuildConnectionString()).Database.SqlQuery <SpGetSpendModel>("exec SpGetSpend @sourceId,@fromDate,@toDate", id, from, to).ToList <SpGetSpendModel>(); dt = ApplicationState.ToDataTable(list); SpendReportByGroup spendReport = new SpendReportByGroup(); Path = System.IO.Path.Combine(Path, @"Reports\SpendReportByGroup.rpt"); spendReport.Load(Path); spendReport.SetDataSource(dt); spendReport.Refresh(); reportViewer.ViewerCore.ReportSource = spendReport; } //spend if (cmbreportType.SelectedIndex == 1 && GroupBy.IsChecked == false) { var list = new TruckDbContext(DbSettingHelper.BuildConnectionString()).Database.SqlQuery <SpGetSpendModel>("exec SpGetSpend @sourceId,@fromDate,@toDate", id, from, to).ToList <SpGetSpendModel>(); dt = ApplicationState.ToDataTable(list); SpendReport spendReport = new SpendReport(); Path = System.IO.Path.Combine(Path, @"Reports\SpendReport.rpt"); spendReport.Load(Path); spendReport.SetDataSource(dt); spendReport.Refresh(); reportViewer.ViewerCore.ReportSource = spendReport; } } catch (Exception ex) { status.Text = $"প্রোগ্রাম সম্পর্কিত সমস্যা: {ex.Message}"; Dialog.IsOpen = true; _unitOfWork.Log.Add(new Log { Date = DateTime.Now, Exception = ex.Message, Level = "Test", Logger = "Test", Thread = "Test", Message = ex.Message }); _unitOfWork.Complete(); } }
public async Task <ActionResult <IEnumerable <IncomeReport> > > GetIncomeReportForCompany(int id) { List <IncomeReport> listIncomeReport = new List <IncomeReport>(); IncomeReport ir = new IncomeReport(); DateTimeFormatInfo mfi = new DateTimeFormatInfo(); var rez = context.ReservationCar.ToList(); var varRezKomp = rez.FindAll(x => x.IdCompany == id.ToString()); var today = DateTime.Today; var godina = CultureInfo.InvariantCulture.Calendar.GetYear(DateTime.Now); var mesec = new DateTime(today.Year, today.Month, 1); var nazivMeseca3start = mfi.GetMonthName(mesec.AddMonths(-3).Month).ToString(); var nazivMeseca3end = mfi.GetMonthName(mesec.AddMonths(-1).Month).ToString(); float godisnjiPrihod = 0; float TriMesecaPrihod = 0; float tekuciMesec = 0; float SestMesecaPrihod = 0; var month = new DateTime(today.Year, today.Month, 1); var previous = month.AddMonths(-1); var previous2 = month.AddMonths(-10); var n = previous.Month; foreach (var pom in varRezKomp) { if (godina == pom.Day1.Year) { if (godina == pom.Day2.Year) { godisnjiPrihod += pom.Price; } } if (pom.Day1.Month == month.AddMonths(-1).Month || pom.Day1.Month == month.AddMonths(-2).Month || pom.Day1.Month == month.AddMonths(-3).Month) { if (pom.Day2.Month == month.AddMonths(-1).Month || pom.Day2.Month == month.AddMonths(-2).Month || pom.Day2.Month == month.AddMonths(-3).Month) { TriMesecaPrihod += pom.Price; } } if (pom.Day1.Month == month.AddMonths(-1).Month || pom.Day1.Month == month.AddMonths(-2).Month || pom.Day1.Month == month.AddMonths(-3).Month || pom.Day1.Month == month.AddMonths(-4).Month || pom.Day1.Month == month.AddMonths(-5).Month || pom.Day1.Month == month.AddMonths(-6).Month) { if (pom.Day2.Month == month.AddMonths(-1).Month || pom.Day2.Month == month.AddMonths(-1).Month || pom.Day2.Month == month.AddMonths(-1).Month || pom.Day2.Month == month.AddMonths(-4).Month || pom.Day2.Month == month.AddMonths(-5).Month || pom.Day2.Month == month.AddMonths(-6).Month) { SestMesecaPrihod += pom.Price; } } if (pom.Day1.Month == month.Month && pom.Day2.Month == month.Month) { tekuciMesec += pom.Price; } } ir.IncomePerYear = godisnjiPrihod.ToString(); ir.Year = godina.ToString(); ir.IncomePer3Month = TriMesecaPrihod.ToString(); ir.start3 = nazivMeseca3start; ir.end3 = nazivMeseca3end; ir.IncomePerMonth = tekuciMesec.ToString(); ir.Month = mfi.GetMonthName(month.Month).ToString(); ir.start6 = mfi.GetMonthName(mesec.AddMonths(-6).Month).ToString(); ir.end6 = mfi.GetMonthName(mesec.AddMonths(-1).Month).ToString(); ir.IncomePer6Month = SestMesecaPrihod.ToString(); listIncomeReport.Add(ir); return(listIncomeReport); }
public async Task <ActionResult <IEnumerable <IncomeReport> > > GetIncomeReportForCompany(int id) { List <IncomeReport> listIncomeReport = new List <IncomeReport>(); IncomeReport ir = new IncomeReport(); DateTimeFormatInfo mfi = new DateTimeFormatInfo(); List <Flight> flightsForCompany = context.Aircompanies.Include(x => x.Flights).SingleOrDefault(x => x.Id == id).Flights; var rez = context.FlightReservations.ToList(); rez.RemoveAll(x => !flightsForCompany.Any(p => p.Id == x.FlightId)); var today = DateTime.Today; var godina = CultureInfo.InvariantCulture.Calendar.GetYear(DateTime.Now); var mesec = new DateTime(today.Year, today.Month, 1); var nazivMeseca3start = mfi.GetMonthName(mesec.AddMonths(-3).Month).ToString(); var nazivMeseca3end = mfi.GetMonthName(mesec.AddMonths(-1).Month).ToString(); double godisnjiPrihod = 0; double TriMesecaPrihod = 0; double tekuciMesec = 0; double SestMesecaPrihod = 0; var month = new DateTime(today.Year, today.Month, 1); var previous = month.AddMonths(-1); var previous2 = month.AddMonths(-10); var n = previous.Month; foreach (var pom in rez) { Flight f = context.Flights.SingleOrDefault(x => x.Id == pom.FlightId); FlightSeat seat = context.FlightSeats.SingleOrDefault(x => x.Id == pom.SeatId); if (godina == f.TakeOff.Year) { if (godina == f.TouchDown.Year) { godisnjiPrihod += seat.Price; } } if (f.TakeOff.Month == month.AddMonths(-1).Month || f.TakeOff.Month == month.AddMonths(-2).Month || f.TakeOff.Month == month.AddMonths(-3).Month) { if (f.TouchDown.Month == month.AddMonths(-1).Month || f.TouchDown.Month == month.AddMonths(-2).Month || f.TouchDown.Month == month.AddMonths(-3).Month) { TriMesecaPrihod += seat.Price; } } if (f.TakeOff.Month == month.AddMonths(-1).Month || f.TakeOff.Month == month.AddMonths(-2).Month || f.TakeOff.Month == month.AddMonths(-3).Month || f.TakeOff.Month == month.AddMonths(-4).Month || f.TakeOff.Month == month.AddMonths(-5).Month || f.TakeOff.Month == month.AddMonths(-6).Month) { if (f.TouchDown.Month == month.AddMonths(-1).Month || f.TouchDown.Month == month.AddMonths(-1).Month || f.TouchDown.Month == month.AddMonths(-1).Month || f.TouchDown.Month == month.AddMonths(-4).Month || f.TouchDown.Month == month.AddMonths(-5).Month || f.TouchDown.Month == month.AddMonths(-6).Month) { SestMesecaPrihod += seat.Price; } } if (f.TakeOff.Month == month.Month && f.TouchDown.Month == month.Month) { tekuciMesec += seat.Price; } } ir.IncomePerYear = godisnjiPrihod.ToString(); ir.Year = godina.ToString(); ir.IncomePer3Month = TriMesecaPrihod.ToString(); ir.start3 = nazivMeseca3start; ir.end3 = nazivMeseca3end; ir.IncomePerMonth = tekuciMesec.ToString(); ir.Month = mfi.GetMonthName(month.Month).ToString(); ir.start6 = mfi.GetMonthName(mesec.AddMonths(-6).Month).ToString(); ir.end6 = mfi.GetMonthName(mesec.AddMonths(-1).Month).ToString(); ir.IncomePer6Month = SestMesecaPrihod.ToString(); listIncomeReport.Add(ir); return(listIncomeReport); }