示例#1
0
        private void GetCommentList(Requsition requisition, AssignedListViewModel assignVm)
        {
            List <CommentViewModel> commentListViewModel = new List <CommentViewModel>();
            var commentListView = commentManager.GetCommentsByRequisition(requisition.Id).Where(c => c.ReceiverEmployeeId == GetEmployeeId() || c.SenderEmployeeId == GetEmployeeId());

            foreach (var item in commentListView.ToList())
            {
                var cmnt = new CommentViewModel
                {
                    Id                 = item.Id,
                    RequsitionId       = item.RequsitionId,
                    EmployeeId         = item.EmployeeId,
                    Comments           = item.Comments,
                    UserName           = item.UserName,
                    CommentTime        = item.CommentTime,
                    IsReceiverSeen     = item.IsReceiverSeen,
                    ReceiverSeenTime   = item.ReceiverSeenTime,
                    SenderEmployee     = item.SenderEmployee,
                    SenderEmployeeId   = (int)item.SenderEmployeeId,
                    ReceiverEmployee   = item.ReceiverEmployee,
                    ReceiverEmployeeId = (int)item.ReceiverEmployeeId
                };
                commentListViewModel.Add(cmnt);
            }
            assignVm.CommentViewModels = commentListViewModel;
        }
示例#2
0
        public ActionResult AssignDetails(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Requsition requisition    = _requisitionManager.GetById((int)id);
            var        userEmployeeId = GetEmployeeId();

            ViewBag.UserEmployeeId = userEmployeeId;
            var driverId = driverStatusManager.Get(c => c.RequsitionId == id).Select(c => c.EmployeeId).FirstOrDefault();

            if (userEmployeeId != driverId)
            {
                TempData["msg"] = "Sorry, you have no permission to access this type of data!";
                return(RedirectToAction("MyDutyList"));
            }
            var vehicleId = vehicleStatusManager.Get(c => c.RequsitionId == id).Select(c => c.VehicleId).FirstOrDefault();

            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));
        }
示例#3
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));
        }
示例#4
0
        public ActionResult Print_V2(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Requsition requisition = _requisitionManager.GetById((int)id);
            var        driverId    = driverStatusManager.Get(c => c.RequsitionId == id).Select(c => c.EmployeeId).FirstOrDefault();
            var        vehicleId   = vehicleStatusManager.Get(c => c.RequsitionId == id).Select(c => c.VehicleId).FirstOrDefault();

            AssignedListViewModel assignVm = new AssignedListViewModel
            {
                Requisition = requisition,
                Employee    = _employeeManager.GetById((int)requisition.EmployeeId),
                Driver      = _employeeManager.GetById(driverId),
                Vehicle     = vehicleManager.GetById(vehicleId)
            };

            List <ManagerViewModel> managerViewModels = new List <ManagerViewModel>();

            var managersVM = new ManagerViewModel
            {
                Id            = assignVm.Id,
                EmployeeName  = assignVm.Employee.Name,
                EmployeNumber = assignVm.Employee.ContactNo,
                JourneyEnd    = assignVm.Requisition.JouneyEnd,
                To            = assignVm.Requisition.To,
                Description   = assignVm.Requisition.Description,
                JourneyStart  = assignVm.Requisition.JourneyStart,
                DriverName    = assignVm.Driver.Name,
                VehicleModel  = assignVm.Vehicle.Name,
                Designation   = assignVm.Employee.Designation.Name
            };

            managerViewModels.Add(managersVM);
            string reportpath   = Request.MapPath(Request.ApplicationPath) + @"Report\AssignRequsition\RequsitionAssignRDLC.rdlc";
            var    reportViewer = new ReportViewer()
            {
                KeepSessionAlive    = true,
                SizeToReportContent = true,
                Width          = Unit.Percentage(100),
                ProcessingMode = ProcessingMode.Local
            };

            reportViewer.LocalReport.ReportPath = reportpath;
            ReportDataSource rds = new ReportDataSource("AssignRequsition", managerViewModels);

            reportViewer.LocalReport.DataSources.Add(rds);
            ViewBag.ReportViewer = reportViewer;
            return(View(managerViewModels));
        }
示例#5
0
        private void GetCommentViewModelForInsertComment(Requsition requisition, int userEmployeeId,
                                                         AssignedListViewModel assignVm)
        {
            int?   emplId      = requisition.EmployeeId;
            string employeeNam = requisition.Employee.Name;
            var    comment     = new CommentViewModel
            {
                EmployeeId        = (int)emplId,
                EmployeName       = employeeNam,
                RequsitionId      = requisition.Id,
                SenderEmployeeId  = userEmployeeId,
                ReceiverEmployees = _employeeManager.Get(c => c.UserRole == "Controller")
            };

            assignVm.CommentViewModel = comment;
        }
示例#6
0
        public ActionResult AssignDetails(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Requsition requisition = _requisitionManager.GetById((int)id);
            var        driverId    = driverStatusManager.Get(c => c.RequsitionId == id).Select(c => c.EmployeeId).FirstOrDefault();
            var        vehicleId   = vehicleStatusManager.Get(c => c.RequsitionId == id).Select(c => c.VehicleId).FirstOrDefault();

            AssignedListViewModel assignVm = new AssignedListViewModel
            {
                Requisition = requisition,
                Employee    = _employeeManager.GetById((int)requisition.EmployeeId),
                Driver      = _employeeManager.GetById(driverId),
                Vehicle     = vehicleManager.GetById(vehicleId)
            };

            return(View(assignVm));
        }