示例#1
0
        public static NhaThuocSessionModel GetNhaThuoc(this WebViewPage view, bool redirect = true)
        {
            if (view.Session["nhathuoc"] != null)
            {
                var sessModel = JsonConvert.DeserializeObject <NhaThuocSessionModel>(view.Session["nhathuoc"].ToString());
                if (sessModel != null)
                {
                    WebSessionManager.Instance.CurrentDrugStoreCode = sessModel.MaNhaThuoc;
                    var dsSession = new DrugStoreSession()
                    {
                        DrugStoreCode       = sessModel.MaNhaThuoc,
                        ParentDrugStoreCode = sessModel.MaNhaThuocCha,
                        DrugStoreID         = sessModel.DrugStoreID
                    };
                    var service = IoC.Container.Resolve <IUtilitiesService>();
                    dsSession.Settings = service.GetDrugStoreSetting(dsSession.DrugStoreCode);
                    WebSessionManager.Instance.CommonSessionData = dsSession;
                }

                return(sessModel);
            }
            else
            {
                if (redirect)
                {
                    view.Response.RedirectToRoute("ChonNhaThuocMacDinh");
                    view.Response.End();
                }
            }
            return(null);
        }
        public static void SetNhaThuoc(this Controller controller, NhaThuoc nhaThuoc)
        {
            var nhathuocSession = new NhaThuocSessionModel(nhaThuoc);
            var loggedUser      = WebSecurity.GetCurrentUser();

            WebSessionManager.Instance.CurrentDrugStoreCode = nhaThuoc.MaNhaThuoc;
            var dsSession = new DrugStoreSession()
            {
                DrugStoreCode       = nhaThuoc.MaNhaThuoc,
                ParentDrugStoreCode = nhaThuoc.MaNhaThuocCha,
                DrugStoreID         = nhaThuoc.ID
            };
            var service = IoC.Container.Resolve <IUtilitiesService>();

            dsSession.Settings = service.GetDrugStoreSetting(dsSession.DrugStoreCode);
            WebSessionManager.Instance.CommonSessionData = dsSession;

            WebSessionManager.Instance.CurrentUserId = loggedUser.UserId;
            if (Roles.Provider.IsUserInRole(loggedUser.UserName,
                                            Constants.Security.Roles.SuperUser.Value))
            {
                nhathuocSession.Role = Constants.Security.Roles.SuperUser.Value;
            }
            else
            {
                var nhanVien = nhaThuoc.Nhanviens.FirstOrDefault(e => e.User.UserId == loggedUser.UserId);
                if (nhanVien == null)
                {
                    if (nhaThuoc.NhaThuocCha != null)
                    {
                        nhanVien = nhaThuoc.NhaThuocCha.Nhanviens.FirstOrDefault(e => e.User.UserId == loggedUser.UserId);
                    }
                }
                if (nhanVien != null)
                {
                    nhathuocSession.Role = nhanVien.Role;
                }
            }
            controller.Session["nhathuoc"] = JsonConvert.SerializeObject(nhathuocSession);
        }