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); }