public async Task <IActionResult> Index(int?id)
        {
            int teamId = userSessionHelper.TeamId;
            var vm     = new DashBoardVM {
            };

            if (id != null)
            {
                var team = teamManager.GetTeam(id.Value);
                if (team != null && team.IsPublic)
                {
                    teamId = id.Value;
                }
                userSessionHelper.SetTeamId(id.Value);
                await userAccountManager.SetDefaultTeam(userSessionHelper.UserId, id.Value);
            }

            var issues = this.issueManager.GetIssuesGroupedByStatusGroup(teamId, 25).SelectMany(f => f.Issues).ToList();

            vm.RecentIssues = issues;

            vm.Projects = this.projectManager.GetProjects().ToList();

            return(View(vm));
        }
Пример #2
0
        public ActionResult Index()
        {
            var         userId   = User.Identity.GetUserId();
            var         UserInfo = _unitOfWork.User.GetMyInfo(userId);
            DashBoardVM Obj      = new DashBoardVM();

            if (UserInfo == null)
            {
                return(RedirectToAction("Login", "Account"));
            }
            if (UserInfo.fCompanyId != 0)
            {
                var CoInfo = _unitOfWork.Company.GetMyCompany(UserInfo.fCompanyId);
                Obj.CompanyName = CoInfo.ArabicName;
            }
            ViewBag.CurrentDate = DateTime.Now.ToString();
            string D = DateTime.Now.Day.ToString("00") + "/" + DateTime.Now.Month.ToString("00") + "/" + DateTime.Now.Year.ToString();

            if (Resources.Resource.CurLang == "Eng")
            {
                ViewBag.CuurentDay = D + "  " + DateTime.Now.ToString("dddd", CultureInfo.CreateSpecificCulture("en"));
            }
            else
            {
                ViewBag.CuurentDay = D + "  " + DateTime.Now.ToString("dddd", CultureInfo.CreateSpecificCulture("ar"));
            }
            return(View(Obj));
        }
Пример #3
0
        public ActionResult Index(Guid?Id, string refresh)
        {
            refresh = "view,upload,name";

            var userId = User.Identity.GetUserId();

            UnitOfWork uow  = new UnitOfWork(new AlgorithmDB());
            var        user = uow.Users.FindById(userId);

            //if user not found
            if (user == null)
            {
                uow.Users.Insert(new User()
                {
                    Id = userId
                });
                uow.SaveChanges();
                //get the user from db
                user = uow.Users.FindById(userId);
            }
            var projects = uow.Projects.FindBy(e => e.UserId == userId);

            DashBoardVM dashBoardVM = DashBoardVM.Load(user, projects);

            dashBoardVM.Refresh = refresh;

            return(View(dashBoardVM));
        }
        public ActionResult Index(int?teamid, string teamname = "")
        {
            try
            {
                if (teamid.HasValue)
                {
                    //User switched team from the header menu
                    UpdateTeam(teamid.Value);
                    repo.SaveDefaultTeam(UserID, teamid.Value);
                }
                var vm = new DashBoardVM {
                    TeamID = TeamID
                };
                var projectList = repo.GetProjects(TeamID).Where(s => s.TeamID == TeamID).ToList();
                foreach (var project in projectList)
                {
                    var projectVM = new ProjectVM {
                        ID = project.ID, Name = project.Name, Description = project.Description
                    };
                    projectVM.IsProjectOwner = (project.CreatedByID == UserID);
                    vm.Projects.Add(projectVM);
                }
                vm.RecentIssues       = GetRecentIssues();
                vm.IssuesAssignedToMe = GetIssuesAssignedToMe();

                return(View(vm));
            }
            catch (Exception ex)
            {
                log.Error(ex);
                return(View("Error"));
            }
        }
Пример #5
0
 public LoginPage()
 {
     InitializeComponent();
     controlsVM  = (Application.Current as App).ControlsVM;
     dashBoardVM = (Application.Current as App).DashVM;
     mapVM       = (Application.Current as App).MapVM;
     errorVm     = (Application.Current as App).ErrorVm;
 }
Пример #6
0
        // [Authorize(Roles = ("admin,Admin"))]
        public IActionResult GetDashBoardData(string startDateTimeStamp, string endDateTimeStamp)
        {
            var startDate               = (new DateTime(1970, 1, 1)).AddMilliseconds(double.Parse(startDateTimeStamp));
            var endDate                 = (new DateTime(1970, 1, 1)).AddMilliseconds(double.Parse(endDateTimeStamp));
            var dashBoardData           = new DashBoardVM();
            List <ChartDataVM> revenues = new List <ChartDataVM>();
            List <ChartDataVM> tourists = new List <ChartDataVM>();

            do
            {
                var revenue      = new ChartDataVM();
                var tourist      = new ChartDataVM();
                var tourBookings = _uow.TourBookings.Where(x => x.CreatedAt.Year == startDate.Year &&
                                                           x.CreatedAt.Month == startDate.Month &&
                                                           x.CreatedAt.Day == startDate.Day && x.Status);
                DateTime dt1970 = new DateTime(1970, 1, 1);
                TimeSpan span   = startDate - dt1970;
                tourist.X = revenue.X = (decimal)span.TotalMilliseconds;

                if (!tourBookings.Any())
                {
                    revenue.Y = 0;
                    tourist.Y = 0;
                }
                else
                {
                    decimal totalValueBooking = 0;
                    decimal totalTourists     = 0;
                    foreach (var tourBooking in tourBookings)
                    {
                        var TourCustomers = _uow.TourCustomers.Where(x => x.TourBookingId == tourBooking.Id);
                        foreach (var tourCustomer in TourCustomers)
                        {
                            var bookingPrice = _uow.BookingPrices.GetSingleOrDefault(x => x.TourBookingId == tourBooking.Id &&
                                                                                     x.TouristType == tourCustomer.TouristType);
                            if (bookingPrice != null)
                            {
                                totalValueBooking += bookingPrice.Price;
                            }
                        }

                        totalTourists += TourCustomers.Any() ? TourCustomers.Count() : 0;
                    }
                    revenue.Y = totalValueBooking;
                    tourist.Y = totalTourists;
                }
                revenues.Add(revenue);
                tourists.Add(tourist);
                startDate = startDate.AddDays(1);
            } while (startDate.Date <= endDate.Date);

            dashBoardData.Revenues = revenues;
            dashBoardData.Tourists = tourists;
            return(Ok(dashBoardData));
        }
Пример #7
0
 public ControlsPage(MapVM map, ControlsVM controls, DashBoardVM dashBoard, ErrorVm error)
 {
     errorVm     = error;
     mapVM       = map;
     controlsVM  = controls;
     dashBoardVM = dashBoard;
     InitializeComponent();
     Map.DataContext       = mapVM;
     DashBoard.DataContext = dashBoardVM;
     Controls.DataContext  = controlsVM;
     Error.DataContext     = errorVm;
 }
        // GET: /<controller>/
        //[Route("~/Dashboard/{id}")]
        public async Task <IActionResult> Index(int?id)
        {
            var vm = new DashBoardVM {
            };

            if (id != null)
            {
                userSessionHelper.SetTeamId(id.Value);
                await userAccountManager.SetDefaultTeam(userSessionHelper.UserId, id.Value);
            }
            return(View(vm));
        }
Пример #9
0
        public ActionResult Index()
        {
            var dash = new DashBoardVM()
            {
                Messages = _context.Threads
                           .SelectMany(x => x.Messages).OrderByDescending(c => c.Created).ToList()
                           .GroupBy(y => y.MessageThreadId).Select(grp => grp.FirstOrDefault()).ToList().Take(5),
                Tasks = _context.Tasks.OrderByDescending(x => x.Created).Take(5)
            };

            return(View(dash));
        }
 public ActionResult Index()
 {
     if (SessionHandler.Current.AppId != 0)
     {
         DashBoardVM _DashBoardVM = new DashBoardVM();
         _DashBoardVM = Repository.DashBoardDetails(SessionHandler.Current.AppId);
         return(View(_DashBoardVM));
     }
     else
     {
         return(Redirect("/Account/Login"));
     }
 }
Пример #11
0
        public DashBoardVM SalesDashVM(Employee employeeProfile)
        {
            DashBoardVM dashvm = new DashBoardVM();

            // get all projects made by the logged in designer
            var projectsUserWorkedOn =
                _context.Projects
                .Include(project => project.Customer)
                .Where(project => project.Bids.Where(bid => bid.SalesAsscociateID == employeeProfile.ID).Any());

            dashvm.Projects = projectsUserWorkedOn.ToList();

            return(dashvm);
        }
Пример #12
0
        public async Task <ActionResult> Index()
        {
            ViewData["UserRole"] = "NotAssigned";
            DashBoardVM dashVm = new DashBoardVM();

            try
            {
                // get signed in user profile and employee profie
                var user = await _userManager.GetUserAsync(User);

                if (User.IsInRole("Admin"))
                {
                    return(RedirectToAction("Index", "UserRoles"));
                }

                var employeeProfile = await _context.Employees.FirstOrDefaultAsync(p => p.UserName == user.UserName);

                ViewData["EmployeeID"] = employeeProfile.ID;

                if (User.IsInRole("Designer"))
                {
                    dashVm = DesignerDashView(employeeProfile);
                    ViewData["UserRole"] = "Designer";
                }
                else if (User.IsInRole("Sales"))
                {
                    dashVm = SalesDashVM(employeeProfile);
                    ViewData["UserRole"] = "Sales";
                }
                else if (User.IsInRole("Management"))
                {
                    dashVm = ManagementDashVM(employeeProfile);
                    ViewData["UserRole"] = "Management";
                }
                else
                {
                    dashVm.NoRole = true;
                }
            }
            catch
            {
            }



            return(View(dashVm));
        }
        public DashBoardVM GetHouseOnMapDetails(int AppId)
        {
            DashBoardVM model = new DashBoardVM();

            try
            {
                using (var db = new PropertyTaxCollectionCMSChild_Entities(AppId))
                {
                    //DevSwachhBharatMainEntities dbm = new DevSwachhBharatMainEntities();
                    //var appdetails = dbm.AppDetails.Where(c => c.AppId == AppID).FirstOrDefault();
                    //List<ComplaintVM> obj = new List<ComplaintVM>();
                    //if (AppID == 1)
                    //{
                    //    string json = new WebClient().DownloadString(appdetails.Grampanchayat_Pro + "/api/Get/Complaint?appId=1");
                    //    obj = JsonConvert.DeserializeObject<List<ComplaintVM>>(json).Where(c => Convert.ToDateTime(c.createdDate2).ToString("dd/MM/yyyy") == DateTime.Now.ToString("dd/MM/yyyy")).ToList();
                    //}
                    var data = db.SP_HouseTaxCollection_Count().First();
                    //var date = DateTime.Today;
                    //var houseCount = db.SP_TotalHouseCollection_Count(date).FirstOrDefault();
                    if (data != null)
                    {
                        model.TotalHouseCount = data.TotalHouseCount;
                        model.HouseCollection = data.TotalHouseLatLongCount;
                        //   model.TotalScanHouseCount = data.TotalScanHouseCount;
                        model.TaxPaymentCount  = data.TaxPaymentCount;
                        model.TaxReceiptCount  = data.TaxReceiptCount;
                        model.TaxReminderCount = data.TaxReminderCount;
                        //   model.NotSpecified = data.NotSpecified;
                        return(model);
                    }
                    // String.Format("{0:0.00}", 123.4567);

                    else
                    {
                        return(model);
                    }
                }
            }
            catch (Exception ex)
            {
                return(model);
            }
        }
        public DashBoardVM DashBoardDetails(int AppId)
        {
            DashBoardVM Result = new DashBoardVM();

            using (PropertyTaxCollectionCMSMain_Entities db = new PropertyTaxCollectionCMSMain_Entities())
            {
                var UserAttendence = db.EMPLOYEE_ATTENDANCE.Where(c => EntityFunctions.TruncateTime(c.DA_START_DATETIME) == EntityFunctions.TruncateTime(DateTime.Now) & c.DA_END_DATETIME == null & c.APP_ID == AppId).Count();
                var TotalUser      = db.AD_USER_MST.Where(c => c.APP_ID == AppId).Count();

                var TaxReceipt = db.TAX_COLLECTION_DETAIL.Where(c => EntityFunctions.TruncateTime(c.PAYMENT_DATE) == EntityFunctions.TruncateTime(DateTime.Now) & c.TCAT_ID == 1 & c.APP_ID == AppId).Count();
                var TaxPayment = db.TAX_COLLECTION_DETAIL.Where(c => EntityFunctions.TruncateTime(c.PAYMENT_DATE) == EntityFunctions.TruncateTime(DateTime.Now) & c.TCAT_ID == 2 & c.APP_ID == AppId).Count();
                var Reminder   = db.TAX_COLLECTION_DETAIL.Where(c => EntityFunctions.TruncateTime(c.REMINDER_NEW_DATE) == EntityFunctions.TruncateTime(DateTime.Now) & c.APP_ID == AppId).Count();

                Result.Attendence = UserAttendence + "/" + TotalUser;
                Result.TaxReceipt = TaxReceipt.ToString();
                Result.TaxPayment = TaxPayment.ToString();
                Result.Reminder   = Reminder.ToString();
            }
            return(Result);
        }
        public IActionResult Index()
        {
            DashBoardVM DBvm = new DashBoardVM();

            string CompId = User.Claims.Where(r => r.Type == "CompanyID").FirstOrDefault().Value;
            int    CompID = Convert.ToInt32(CompId);

            HttpContext.Session.SetInt32("CompanyID", CompID);

            int MainPartyAcc = _context.MainAccount.Where(r => r.CompanyID == CompID).Where(r => r.MainAccountNumber == "00").FirstOrDefault().MainAccountID;
            int SubPartyAcc  = _context.SubAccount.Where(r => r.CompanyID == CompID).Where(r => r.MainAccountID == MainPartyAcc).Where(r => r.SubAccountNumber == "0000").FirstOrDefault().SubAccountID;

            DBvm.StatementListReceive = (from r in _context.CashFlow
                                         where r.CompanyID == CompID
                                         where r.MainAccountID == MainPartyAcc
                                         where r.SubAccountID == SubPartyAcc
                                         where r.PartiesID != null
                                         group r by r.PartiesID into g
                                         select new ReceivableVM
            {
                ID = (int)g.Key,
                PartyName = g.Select(r => r.Parties.PartyName).FirstOrDefault(),
                OpeningBalance = g.Select(x => x.TransactionAccount.OpeningBalance).FirstOrDefault(),
                credit = g.Sum(x => x.Credit),
                debit = g.Sum(x => x.Debit)
            }).OrderByDescending(r => r.debit)
                                        //.Take(4)
                                        .ToList();

            DBvm.StatementListPay = (from r in _context.CashFlow
                                     where r.CompanyID == CompID
                                     where r.MainAccountID == MainPartyAcc
                                     where r.SubAccountID == SubPartyAcc
                                     where r.PartiesID != null
                                     group r by r.PartiesID into g
                                     select new ReceivableVM
            {
                ID = (int)g.Key,
                PartyName = g.Select(r => r.Parties.PartyName).FirstOrDefault(),
                OpeningBalance = g.Select(x => x.TransactionAccount.OpeningBalance).FirstOrDefault(),
                credit = g.Sum(x => x.Credit),
                debit = g.Sum(x => x.Debit)
            }).OrderByDescending(r => r.credit)
                                    //.Take(4)
                                    .ToList();

            DBvm.ItemQuantiyList = _context.Item.Where(r => r.CompanyID == CompID).Where(r => r.Quantity < 10).OrderBy(r => r.Quantity).Take(10).ToList();

            DBvm.PurTransactionList = _context.Transaction.Where(r => r.CompanyID == CompID).Where(r => r.Paid == false).Where(r => r.Date.Date == DateTime.Now.Date).Select(r => new TransactionShow {
                PartyName = r.PurchaseBill.Parties.PartyName, Amount = r.Amount, Bank = r.Bank.BankName, Cheque = r.Cheque, Date = r.Date, ID = r.TransactionID
            }).ToList();
            DBvm.PurReturnTransactionList = _context.PurchaseReturnTransaction.Where(r => r.CompanyID == CompID).Where(r => r.Paid == false).Where(r => r.Date.Date == DateTime.Now.Date).Select(r => new TransactionShow {
                PartyName = r.PurchaseReturn.Parties.PartyName, Amount = r.Amount, Bank = r.Bank.BankName, Cheque = r.Cheque, Date = r.Date, ID = r.PurchaseReturnTransactionID
            }).ToList();
            DBvm.SaleTransactionList = _context.SaleTransaction.Where(r => r.CompanyID == CompID).Where(r => r.Paid == false).Where(r => r.Date.Date == DateTime.Now.Date).Select(r => new TransactionShow {
                PartyName = r.SaleBill.Parties.PartyName, Amount = r.Amount, Bank = r.Bank.BankName, Cheque = r.Cheque, Date = r.Date, ID = r.SaleTransactionID
            }).ToList();
            DBvm.SeleReturnTransactionList = _context.SaleReturnTransaction.Where(r => r.CompanyID == CompID).Where(r => r.Paid == false).Where(r => r.Date.Date == DateTime.Now.Date).Select(r => new TransactionShow {
                PartyName = r.SaleReturn.Parties.PartyName, Amount = r.Amount, Bank = r.Bank.BankName, Cheque = r.Cheque, Date = r.Date, ID = r.SaleReturnID
            }).ToList();

            return(View(DBvm));
        }
Пример #16
0
        public DashBoardVM ManagementDashVM(Employee employeeProfile)
        {
            DashBoardVM dashvm = new DashBoardVM();

            var ReqApprovalBids = _context.Bids
                                  .Include(p => p.Approval)
                                  .Include(p => p.Project)
                                  .ThenInclude(p => p.Customer)
                                  .Where(p => p.Approval.ClientStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "Approved").ID&& p.Approval.DesignerStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "RequiresApproval").ID ||
                                         p.Approval.ClientStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "RequiresApproval").ID&& p.Approval.DesignerStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "Approved").ID ||
                                         p.Approval.ClientStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "RequiresApproval").ID&& p.Approval.DesignerStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "RequiresApproval").ID
                                         );

            dashvm.ReqApprovalBids = ReqApprovalBids.OrderBy(p => p.DateCreated).ToList();

            // get all bids which was approved by both the client and NBD
            var approvals =
                _context.Bids
                .Where(p => p.Approval.ClientStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "Approved").ID&& p.Approval.DesignerStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "Approved").ID);

            dashvm.ApprovedBids = approvals.ToList();


            // get all bids which was approved by either the client and NBD
            var disApprovals =
                _context.Bids
                .Where(p => p.Approval.ClientStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "Disapproved").ID || p.Approval.DesignerStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "Disapproved").ID);


            dashvm.DisApprovedBids = disApprovals.ToList();



            // get all bids grouped by bid status
            foreach (var status in _context.BidStatuses)
            {
                // bids might be null
                BidBidStatusVM bidBidStatus = new BidBidStatusVM();
                try
                {
                    bidBidStatus.BidStatusName = status.Name;
                    bidBidStatus.BidStatusID   = status.ID;
                    bidBidStatus.BidsCount     = _context.Bids.Where(p => p.BidStatusID == status.ID).Count();

                    dashvm.BidBidStatusVMs.Add(bidBidStatus);
                }
                catch
                {
                }
            }

            try
            {
                // all projects with start date after today's date
                var startApproch = _context.Projects
                                   .Where(p => p.Bids.Where(p => p.IsFinal == true && p.EstBidStartDate > DateTime.Today).Any());


                // get all bids grouped by projcet
                foreach (var project in startApproch)
                {
                    ProjectBidDateVM s = new ProjectBidDateVM();
                    s.ProjectName = project.Name;
                    s.ProjectID   = project.ID;

                    // should only have one approved but some cases may have more than one
                    foreach (var bid in project.Bids)
                    {
                        if (bid.IsFinal)
                        {
                            s.ApprovedBidDate = bid.EstBidStartDate;
                            dashvm.StartApprochBids.Add(s);
                        }
                    }
                }

                // all projects with End date after today's date
                var endApproch = _context.Projects
                                 .Where(p => p.Bids
                                        .Where(p => p.IsFinal == true && p.EstBidEndDate > DateTime.Today).Any());


                // get all bids grouped by projcet
                foreach (var project in endApproch)
                {
                    ProjectBidDateVM s = new ProjectBidDateVM();
                    s.ProjectName = project.Name;
                    s.ProjectID   = project.ID;

                    foreach (var bid in project.Bids)
                    {
                        if (bid.IsFinal)
                        {
                            s.ApprovedBidDate = bid.EstBidEndDate;
                            dashvm.EndApprochBids.Add(s);
                        }
                    }
                }
            }
            catch
            {
            }



            return(dashvm);
        }
Пример #17
0
 public DashBoardController(DashBoardVM vm, IWebApiCoreService webApi)
 {
     this.viewModel = vm;
     this.webApi    = webApi;
 }
Пример #18
0
        public DashBoardVM DesignerDashView(Employee employeeProfile)
        {
            DashBoardVM dashvm = new DashBoardVM();

            // get all projects made by the logged in designer
            var projectsUserWorkedOn =
                _context.Projects
                .Include(project => project.Customer)
                .Include(p => p.Bids).ThenInclude(p => p.Approval)
                .Where(project => project.Bids.Where(bid => bid.DesignerID == employeeProfile.ID).Any());


            dashvm.Projects = projectsUserWorkedOn.OrderBy(p => p.Name).ToList();


            // get all bids which was approved by both the client and NBD
            var approvals =
                _context.Bids.Where(p => p.DesignerID == employeeProfile.ID)
                .Where(p => p.Approval.ClientStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "Approved").ID&& p.Approval.DesignerStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "Approved").ID);

            dashvm.ApprovedBids = approvals.ToList();


            // get all bids which was approved by either the client and NBD
            var disApprovals =
                _context.Bids.Where(p => p.DesignerID == employeeProfile.ID)
                .Where(p => p.Approval.ClientStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "Disapproved").ID || p.Approval.DesignerStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "Disapproved").ID);


            dashvm.DisApprovedBids = disApprovals.ToList();

            // get all bids that reuires approval
            var reqApprovals =
                _context.Bids.Where(p => p.DesignerID == employeeProfile.ID)
                .Where(p => p.Approval.ClientStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "Approved").ID&& p.Approval.DesignerStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "RequiresApproval").ID ||
                       p.Approval.ClientStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "RequiresApproval").ID&& p.Approval.DesignerStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "Approved").ID ||
                       p.Approval.ClientStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "RequiresApproval").ID&& p.Approval.DesignerStatusID == _context.ApprovalStatuses.SingleOrDefault(p => p.Name == "RequiresApproval").ID
                       );


            dashvm.ReqApprovalBids = reqApprovals.ToList();


            // get all bids grouped by bid status
            foreach (var status in _context.BidStatuses)
            {
                // bids might be null
                BidBidStatusVM bidBidStatus = new BidBidStatusVM();
                try
                {
                    bidBidStatus.BidStatusName = status.Name;
                    bidBidStatus.BidStatusID   = status.ID;
                    bidBidStatus.BidsCount     = _context.Bids.Where(p => p.BidStatusID == status.ID)
                                                 .Where(p => p.DesignerID == employeeProfile.ID).Count();

                    dashvm.BidBidStatusVMs.Add(bidBidStatus);
                }
                catch
                {
                }
            }

            try
            {
                // all projects with start date after today's date
                var startApproch = _context.Projects
                                   .Where(p => p.Bids.Where(p => p.IsFinal == true && p.EstBidStartDate > DateTime.Today).Any())
                                   .Where(project => project.Bids.Where(bid => bid.DesignerID == employeeProfile.ID).Any());


                // get all bids grouped by projcet
                foreach (var project in startApproch)
                {
                    ProjectBidDateVM s = new ProjectBidDateVM();
                    s.ProjectName = project.Name;
                    s.ProjectID   = project.ID;

                    foreach (var bid in project.Bids.Where(p => p.DesignerID == employeeProfile.ID))
                    {
                        if (bid.IsFinal)
                        {
                            s.ApprovedBidDate = bid.EstBidStartDate;
                            dashvm.StartApprochBids.Add(s);
                        }
                    }
                }

                // all projects with End date after today's date
                var endApproch = _context.Projects
                                 .Where(p => p.Bids
                                        .Where(p => p.IsFinal == true && p.EstBidEndDate > DateTime.Today).Any())
                                 .Where(project => project.Bids.Where(bid => bid.DesignerID == employeeProfile.ID).Any());


                // get all bids grouped by projcet
                foreach (var project in endApproch)
                {
                    ProjectBidDateVM s = new ProjectBidDateVM();
                    s.ProjectName = project.Name;
                    s.ProjectID   = project.ID;

                    foreach (var bid in project.Bids.Where(p => p.DesignerID == employeeProfile.ID))
                    {
                        if (bid.IsFinal)
                        {
                            s.ApprovedBidDate = bid.EstBidEndDate;
                            dashvm.EndApprochBids.Add(s);
                        }
                    }
                }
            }
            catch
            {
            }

            return(dashvm);
        }