Пример #1
0
        public List <MTDReportObject> BuildMTDReport()
        {
            List <MTDReportObject> report = new List <MTDReportObject>();

            this.mFIs = GetMasterFIs();
            ProcessFilters();

            //var masterQuery = context.MasterFIs.Where(m => m.Dealerid == Dealership.DealerID && m.salescategory != "6"
            //                && ((m.salesdate >= StartDate && m.salesdate <= EndDate)
            //                || (m.unwinddate >= StartDate && m.unwinddate <= EndDate))
            //                ).ToList();

            var masterQuery = mFIs.ToList();

            List <OtherIncome> oiQuery = new List <OtherIncome>();

            if (Dealership == null || Dealership.DealerID == 0)
            {
                oiQuery = context.OtherIncomes.Where(o => DealerIDs.Contains((int)o.DealerId) &&
                                                     (o.AdjDate >= StartDate && o.AdjDate <= EndDate)).ToList();
            }
            else
            {
                oiQuery = context.OtherIncomes.Where(o => o.DealerId == Dealership.DealerID &&
                                                     (o.AdjDate >= StartDate && o.AdjDate <= EndDate)).ToList();
            }

            //if (MasterFilters != null)
            //{
            //    //var masterQuery2 = context.MasterFIs.Where(m => (
            //    //            (m.salesdate >= StartDate && m.salesdate <= EndDate) || (m.unwinddate >= StartDate && m.unwinddate <= EndDate)
            //    //            )).Where("VehicleType=@0","N").ToList();

            //    masterQuery = masterQuery.Where()
            //        //.Where("VehicleType=@0", "N").ToList();
            //}

            //if (vehicleType != null && vehicleType != "All")
            //{
            //    masterQuery = masterQuery.Where(m => m.vehicletype == this.vehicleType).ToList();
            //    //oiQuery.Where(o=>o.VehicleTypeId)
            //}


            //var oiQuery2 = context.OtherIncomes.Request(OIFilters).ToList();


            MTDReportObject mtdObj   = null;
            int             rowCount = 0;

            foreach (var record in masterQuery)
            {
                mtdObj = new MTDReportObject();
                var mRecord = record.Record;
                rowCount += 1;

                mtdObj.rownum   = rowCount;
                mtdObj.dealerID = mRecord.Dealerid;
                //mtdObj.deal_id = mRecord.dealnum;
                mtdObj.deal_status    = context.DealStatus.Where(s => s.StatusId == mRecord.status).Select(s => s.StatusName).FirstOrDefault();
                mtdObj.deal_delv_date = mRecord.salesdate.ToShortDateString();
                mtdObj.deal_stck_num  = mRecord.stocknum;
                mtdObj.deal_mileage   = mRecord.mileage;
                mtdObj.deal_customer  = mRecord.buyerlname;
                mtdObj.deal_year      = mRecord.year;
                mtdObj.deal_new_used  = mRecord.vehicletype;
                mtdObj.deal_FIMgr     = context.FinanceManagers.Where(f => f.FMId == mRecord.fimanager).Select(f => f.FMName).FirstOrDefault();
                mtdObj.deal_sp_1      = context.SalesPersons.Where(sp1 => sp1.ID == mRecord.salesperson1).Select(sp1 => sp1.SPName).FirstOrDefault();
                //mtdObj.deal_sp_2 = context.SalesPersons.Where(sp2 => sp2.SPtoMasterId.ToString() == mRecord.salesperson2).Select(sp2 => sp2.SPName).FirstOrDefault();
                mtdObj.deal_fin_type     = context.FinanceTypes.Where(f => f.FinanceTypeId.ToString() == mRecord.fitype).Select(f => f.FinanceType1).FirstOrDefault();
                mtdObj.deal_trade_year   = mRecord.trade1year;
                mtdObj.deal_trade_model  = mRecord.trade1model;
                mtdObj.deal_title_status = 1;
                mtdObj.deal_trade_value  = mRecord.trade1acv;
                mtdObj.deal_dent         = mRecord.dent;
                mtdObj.deal_windsh       = mRecord.Maint;
                mtdObj.deal_cl           = mRecord.cl;
                mtdObj.deal_ah           = mRecord.ah;
                mtdObj.deal_map          = (mRecord.vscoption == "Map"? mRecord.vsc : 0);
                mtdObj.deal_warr         = mRecord.Maint;
                mtdObj.deal_gap          = mRecord.gap;
                mtdObj.deal_etch         = mRecord.etch;
                mtdObj.deal_tw           = mRecord.tirewheel;
                mtdObj.deal_enviro       = mRecord.enviro;
                mtdObj.deal_fin          = mRecord.finresv;
                mtdObj.deal_frnt_end     = Math.Round((decimal)mRecord.payablegross, 0);
                mtdObj.deal_back_end     = Math.Round((decimal)mRecord.backend, 0);
                mtdObj.deal_tot_tot      = Math.Round((decimal)mRecord.totalgross, 0);

                report.Add(mtdObj);
            }
            int activeDealCount = rowCount;

            foreach (var oRecord in oiQuery)
            {
                mtdObj          = new MTDReportObject();
                rowCount       += 1;
                mtdObj.rownum   = rowCount;
                mtdObj.dealerID = (int)oRecord.DealerId;
                //mtdObj.deal_id = oRecord.DealNum.ToString();
                mtdObj.deal_status    = oRecord.OtherType == "OI" ? "Other Income" : "Adj.";
                mtdObj.deal_delv_date = oRecord.SaleDate.HasValue ? oRecord.SaleDate.Value.ToShortDateString() : "";
                mtdObj.deal_customer  = oRecord.lname1;
                mtdObj.deal_new_used  = context.VehicleTypes.Where(oi => oi.VehicleTypeId == oRecord.VehicleTypeId).Select(oi => oi.VehicleType1).First().ToString().Substring(0, 1);
                mtdObj.deal_FIMgr     = context.FinanceManagers.Where(f => f.FMId == oRecord.FinanceManagerId).Select(f => f.FMName).FirstOrDefault();
                mtdObj.deal_frnt_end  = Math.Round((decimal)oRecord.PAmount, 0);

                report.Add(mtdObj);
            }

            if (rowCount > 0)
            {
                var totals = report.Select(r => new
                {
                    ACV    = r.deal_trade_value,
                    Dent   = r.deal_dent,
                    Windsh = r.deal_windsh,
                    CL     = r.deal_cl,
                    AH     = r.deal_ah,
                    Map    = r.deal_map,
                    Warr   = r.deal_warr,
                    Gap    = r.deal_gap,
                    Etch   = r.deal_etch,
                    TW     = r.deal_tw,
                    //key
                    //SmartNote
                    Enviro   = r.deal_enviro,
                    Fin      = r.deal_fin,
                    FrontEnd = r.deal_frnt_end,
                    BackEnd  = r.deal_back_end,
                    Total    = r.deal_tot_tot
                });

                report.Add(new MTDReportObject
                {
                    rownum           = activeDealCount,
                    deal_trade_value = totals.Select(t => t.ACV).Sum(),
                    deal_dent        = totals.Select(t => t.Dent).Sum(),
                    deal_windsh      = totals.Select(t => t.Windsh).Sum(),
                    deal_cl          = totals.Select(t => t.CL).Sum(),
                    deal_ah          = totals.Select(t => t.AH).Sum(),
                    deal_map         = totals.Select(t => t.Map).Sum(),
                    deal_warr        = totals.Select(t => t.Warr).Sum(),
                    deal_gap         = totals.Select(t => t.Gap).Sum(),
                    deal_etch        = totals.Select(t => t.Etch).Sum(),
                    deal_tw          = totals.Select(t => t.TW).Sum(),
                    deal_enviro      = totals.Select(t => t.Enviro).Sum(),
                    deal_fin         = totals.Select(t => t.Fin).Sum(),
                    deal_frnt_end    = totals.Select(t => t.FrontEnd).Sum(),
                    deal_back_end    = totals.Select(t => t.BackEnd).Sum(),
                    deal_tot_tot     = totals.Select(t => t.Total).Sum()
                });
            }


            return(report);
        }
Пример #2
0
        public void PreLoadLists()
        {
            context = new FowlerDORContext();

            this.Dealerships     = context.DealerShips.Where(d => (d.DisableDate == null || d.DisableDate > DateTime.Now) && DealerIDs.Contains(d.DealerID)).ToList();
            this.BusinessSources = context.BUSINESSSOURCEs.Where(b => b.DisableDate == null).ToList();
            this.FinanceTypes    = context.FinanceTypes.ToList();
            this.VehicleTypes    = context.VehicleTypes.ToList();
            this.DealStatuses    = context.DealStatus.ToList();
            this.VehicleKinds    = context.Vehicles.Where(v => v.DisableDate == null).ToList();
            this.SalesCategories = context.SalesCategories.ToList();
            this.GradeCredits    = context.GradeCredits.ToList();
        }
Пример #3
0
        public ListOfDealsViewModel(int userID) : base(userID)
        {
            this.Dealerships = context.DealerShips.Where(d => (d.DisableDate == null || d.DisableDate > DateTime.Now) && DealerIDs.Contains(d.DealerID)).ToList();
            this.Dealership  = Dealerships.First();

            this.SearchByFilters = new List <SearchObject>
            {
                new SearchObject {
                    ID = 1, Value = "Deal Number"
                },
                new SearchObject {
                    ID = 2, Value = "Stock Number"
                },
                new SearchObject {
                    ID = 3, Value = "Last Name"
                },
                new SearchObject {
                    ID = 4, Value = "First Name"
                },
                new SearchObject {
                    ID = 5, Value = "Sales Date"
                },
                new SearchObject {
                    ID = 6, Value = "Delivery Date"
                },
            };

            this.Deals = new DealBiz().GetListOfDealsSummary(this.Dealership.DealerID);
        }
Пример #4
0
        public AdminAddUserViewModel(int userID) : base(userID)
        {
            context     = new FowlerDORContext();
            Dealerships = context.DealerShips.Where(d => (d.DisableDate == null || d.DisableDate > DateTime.Now) && DealerIDs.Contains(d.DealerID)).ToList();
            Roles       = context.Roles.Where(r => r.Id != "1").Select(r => r).ToList();

            Roles.Add(new Role {
                Id = "0", Name = "No Access"
            });

            UserRoleObjects = new List <UserRoleObj>();

            foreach (var dealer in Dealerships)
            {
                UserRoleObjects.Add(new UserRoleObj
                {
                    IsActive   = false,
                    DealerID   = dealer.DealerID,
                    DealerName = dealer.DealerName,
                    RoleID     = "0"
                });
            }
        }