コード例 #1
0
        public ActionResult Tracker()
        {
            try
            {
                var objPermission = _permissionChecker.CheckPagePermission(PageMaster.Tracker);
                if (!objPermission.IsActive)
                {
                    return(RedirectToAction("Logout", "Home"));
                }

                ClsTracker objClsTracker = _trackerService as ClsTracker;
                long       lgTrackerId   = 0;
                if (Request.QueryString.Count > 0)
                {
                    if (Request.QueryString["iFrame"] != null)
                    {
                        if (!objPermission.Add_Right)
                        {
                            return(RedirectToAction("PermissionRedirectPage", "Home"));
                        }

                        objClsTracker.hdniFrame = true;
                        ViewData["iFrame"]      = "iFrame";
                    }
                    else
                    {
                        if (!objPermission.Edit_Right || string.IsNullOrEmpty(Request.QueryString.ToString().Decode()))
                        {
                            return(RedirectToAction("PermissionRedirectPage", "Home"));
                        }

                        lgTrackerId   = Request.QueryString.ToString().Decode().LongSafe();
                        objClsTracker = _trackerService.GetTrackerByTrackerId(lgTrackerId) as ClsTracker;
                    }
                }
                else
                {
                    if (!objPermission.Add_Right)
                    {
                        return(RedirectToAction("PermissionRedirectPage", "Home"));
                    }
                }

                #region Menu Access
                bool blUserAccess = true, blRoleAccess = true, blTrackerAccess = true, blCarFleetAccess = true, blFleetMakesAccess = true, blFleetModelsAccess = true, blFleetColorsAccess = true, blTripReasonAccess = true;
                objPermission = _permissionChecker.CheckPagePermission(PageMaster.User);
                if (!objPermission.Add_Right)
                {
                    blUserAccess = false;
                }

                objPermission = _permissionChecker.CheckPagePermission(PageMaster.Role);
                if (!objPermission.Add_Right)
                {
                    blRoleAccess = false;
                }

                objPermission = _permissionChecker.CheckPagePermission(PageMaster.Tracker);
                if (!objPermission.Add_Right)
                {
                    blTrackerAccess = false;
                }

                objPermission = _permissionChecker.CheckPagePermission(PageMaster.CarFleet);
                if (!objPermission.Add_Right)
                {
                    blCarFleetAccess = false;
                }

                objPermission = _permissionChecker.CheckPagePermission(PageMaster.FleetMakes);
                if (!objPermission.Add_Right)
                {
                    blFleetMakesAccess = false;
                }

                objPermission = _permissionChecker.CheckPagePermission(PageMaster.FleetModels);
                if (!objPermission.Add_Right)
                {
                    blFleetModelsAccess = false;
                }

                objPermission = _permissionChecker.CheckPagePermission(PageMaster.FleetColors);
                if (!objPermission.Add_Right)
                {
                    blFleetColorsAccess = false;
                }

                objPermission = _permissionChecker.CheckPagePermission(PageMaster.TripReason);
                if (!objPermission.Add_Right)
                {
                    blTripReasonAccess = false;
                }

                ViewData["UserAccess"]    = blUserAccess;
                ViewData["RoleAccess"]    = blRoleAccess;
                ViewData["TrackerAccess"] = blTrackerAccess;

                ViewData["CarFleetAccess"]    = blCarFleetAccess;
                ViewData["FleetMakesAccess"]  = blFleetMakesAccess;
                ViewData["FleetModelsAccess"] = blFleetModelsAccess;
                ViewData["FleetColorsAccess"] = blFleetColorsAccess;
                ViewData["TripReasonAccess"]  = blTripReasonAccess;
                #endregion

                return(View(objClsTracker));
            }
            catch (Exception ex)
            {
                Logger.Write(ex, System.Reflection.MethodBase.GetCurrentMethod().Name, PageMaster.Tracker, _mySession.UserId);
                return(View());
            }
        }