Beispiel #1
0
        public ActionResult Details_V2(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Requsition requisition    = _requisitionManager.GetById((int)id);
            var        userEmployeeId = GetEmployeeId();

            ViewBag.UserEmployeeId = userEmployeeId;
            var driverId  = 0;
            var vehicleId = 0;

            switch (requisition.Status)
            {
            case "Assign":
                driverId  = driverStatusManager.Get(c => c.RequsitionId == id && c.Status == "Assign").Select(c => c.EmployeeId).FirstOrDefault();
                vehicleId = vehicleStatusManager.Get(c => c.RequsitionId == id && c.Status == "Assign").Select(c => c.VehicleId).FirstOrDefault();
                break;

            case "Complete":
                driverId  = driverStatusManager.Get(c => c.RequsitionId == id && c.Status == "Complete").Select(c => c.EmployeeId).FirstOrDefault();
                vehicleId = vehicleStatusManager.Get(c => c.RequsitionId == id && c.Status == "Complete").Select(c => c.VehicleId).FirstOrDefault();
                break;
            }
            //if (requisition.Status == "Assign")
            //{
            //    driverId = driverStatusManager.Get(c => c.RequsitionId == id && c.Status== "Assign").Select(c => c.EmployeeId).FirstOrDefault();
            //    vehicleId = vehicleStatusManager.Get(c => c.RequsitionId == id && c.Status == "Assign").Select(c => c.VehicleId).FirstOrDefault();
            //}

            //if (requisition.Status == "Complete")
            //{
            //    driverId = driverStatusManager.Get(c => c.RequsitionId == id && c.Status == "Complete").Select(c => c.EmployeeId).FirstOrDefault();
            //    vehicleId = vehicleStatusManager.Get(c => c.RequsitionId == id && c.Status == "Complete").Select(c => c.VehicleId).FirstOrDefault();
            //}

            if (!User.IsInRole("Controller"))
            {
                if (requisition.EmployeeId != userEmployeeId && requisition.RequestedBy != userEmployeeId && driverId != userEmployeeId)
                {
                    TempData["msg"] = "Sorry, you have no permission to access this type of data!";
                    return(RedirectToAction("Dashboard", "Home"));
                }
            }
            AssignedListViewModel assignVm = new AssignedListViewModel
            {
                Requisition = requisition,
                Employee    = _employeeManager.GetById((int)requisition.EmployeeId),
                Driver      = _employeeManager.GetById(driverId),
                Vehicle     = vehicleManager.GetById(vehicleId)
            };

            GetCommentViewModelForInsertComment(requisition, userEmployeeId, assignVm);

            //Collect the list of comment to display the list under comment
            GetCommentList(requisition, assignVm);
            return(View(assignVm));
        }
Beispiel #2
0
        //[Authorize(Roles = "Driver")]
        public ActionResult MyDutyList()
        {
            var userEmployeeId = GetEmployeeId();

            ViewBag.UserEmployeeId = userEmployeeId;
            List <DriverDutyViewModel> assignedList = new List <DriverDutyViewModel>();

            if (userEmployeeId != 0)
            {
                var vehicle       = vehicleManager.GetAll();
                var vehicleStatus = vehicleStatusManager.Get(c => c.Status == "Assign").OrderByDescending(c => c.Id);
                var driverStatus  = driverStatusManager.Get(c => c.Status == "Assign").Where(e => e.EmployeeId == userEmployeeId).OrderByDescending(c => c.Id);
                var requsition    = _requisitionManager.Get(c => c.Status == "Assign").OrderByDescending(c => c.Id);

                var driverWithRequisition = from r in requsition
                                            join v in vehicleStatus on r.Id equals v.RequsitionId
                                            join driver in driverStatus on r.Id equals driver.RequsitionId
                                            select new
                {
                    r.Id,
                    r.RequsitionNumber,
                    r.Form,
                    r.To,
                    //Requestor = r.EmployeeId,
                    r.JourneyStart,
                    r.JouneyEnd,
                    v.VehicleId,
                    //Driver = driver.EmployeeId
                };

                foreach (var allData in driverWithRequisition)
                {
                    var assignVM = new DriverDutyViewModel();
                    assignVM.Id = allData.Id;
                    assignVM.RequsitionNumber = allData.RequsitionNumber;
                    assignVM.From             = allData.Form;
                    assignVM.To           = allData.To;
                    assignVM.JourneyStart = allData.JourneyStart;
                    assignVM.JouneyEnd    = allData.JouneyEnd;
                    assignVM.Vehicle      = vehicle.Where(c => c.Id == allData.VehicleId).FirstOrDefault();
                    assignedList.Add(assignVM);
                }
            }
            return(View(assignedList));
        }