Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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();
            }
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }