示例#1
0
        public ActionResult Admin()
        {
            var id       = DatabasePharmacistService.GetByUserId((long)Session[Login.UserIdSession]).PharmacyId;
            var pharmacy = DatabasePharmacyService.GetById(id);

            pharmacy.GetTemplates();

            return(View(pharmacy));
        }
        private ActionResult RedirectToProperPage(long userId)
        {
            var user = DatabaseUserService.GetById(userId);

            if (user.Type == Models.User.UserType.PPOkAdmin)
            {
                return(Redirect("/PpokAdmin/PharmacyListView"));
            }
            if (user.Type == Models.User.UserType.Pharmacist)
            {
                Session["pharm_id"] = DatabasePharmacistService.GetByUserId(user.UserId).PharmacyId;
                return(Redirect("/Pharmacy/RefillListView"));
            }
            return(null);
        }
示例#3
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (SkipAuthorization(filterContext))
            {
                return;
            }

            var userId = HttpContext.Current.Session[Login.UserIdSession];

            if (userId == null)
            {
                filterContext.Result = new RedirectResult("/Login/Index");
                return;
            }

            var user = DatabaseUserService.GetById((long)userId);

            if (user == null)
            {
                filterContext.Result = new RedirectResult("/Login/Index");
                return;
            }

            switch (user.Type)
            {
            case User.UserType.Pharmacist:
                var pharmacist = DatabasePharmacistService.GetByUserId((long)userId);
                if (pharmacist.IsAdmin)
                {
                    if (!_groups.Contains(Group.PharmacyAdmin))
                    {
                        filterContext.Result = new RedirectResult("/Login/Index");
                        return;
                    }
                }
                else
                {
                    if (!_groups.Contains(Group.Pharmacist))
                    {
                        filterContext.Result = new RedirectResult("/Login/Index");
                        return;
                    }
                }
                break;

            case User.UserType.PPOkAdmin:
                if (!_groups.Contains(Group.PPOkAdmin))
                {
                    filterContext.Result = new RedirectResult("/Login/Index");
                    return;
                }
                break;

            case User.UserType.Patient:
                if (!_groups.Contains(Group.Patient))
                {
                    filterContext.Result = new RedirectResult("/Login/Index");
                    return;
                }
                break;
            }

            base.OnActionExecuting(filterContext);
        }