コード例 #1
0
        public void UpdateUserAccessRight(EnquireUserViewModel model, string privilege_admin, string privilege_cluster_admin, string login_id, string user_inst_code)
        {
            if (model.Modules == "Y")
            {
                AccessRightYRepository.UpdateUserAccessRightY(model);
            }
            else if (model.Modules == "M")
            {
                AccessRightMRepository.UpdateUserAccessRightM(model, privilege_admin, privilege_cluster_admin, login_id);
            }
            else if (model.Modules == "D")
            {
                AccessRightDRepository.UpdateUserAccessRightD(model);
            }

            //user_specialty
            UserSpecialtyRespository.DeleteUserSpecialtyByLoginId(model.AdminUserInfo.LoginId);
            if (user_inst_code == "HAHO")
            {
                model.All_specialty = "on";
            }
            if (model.All_specialty == "on")
            {
                UserSpecialtyRespository.InsertUserSpecialtyByLoginIdSpecialty(login_id, "*ALL*");
            }
            else
            {
                string[] user_spec_code_list = model.UserSpecCode.Split(", ");
                foreach (string code in user_spec_code_list)
                {
                    UserSpecialtyRespository.InsertUserSpecialtyByLoginIdSpecialty(login_id, code);
                }
            }
        }
コード例 #2
0
        public EnquireUserViewModel GetEnquireUser(string modules, string loginId, string user_group)
        {
            EnquireUserViewModel model = UserInfoRepository.GetEnquireUser(modules, loginId, user_group);

            model.FV_User = GetFVUserByLoginId(loginId);
            return(model);
        }
コード例 #3
0
ファイル: AdminController.cs プロジェクト: mansonlam/FMRS
 private void SetUserDisplayDropDown(EnquireUserViewModel model)
 {
     ViewBag.RightY_Closing             = AdminService.DisplayRight("Y", "N");
     ViewBag.RightY_FarAccess           = AdminService.DisplayRight("Y", "Y");
     ViewBag.RightY_ASOIInput           = AdminService.DisplayRight("Y", "N");
     ViewBag.RightM_CWRF                = AdminService.DisplayRight("Y", "N");
     ViewBag.RightM_CerfHpd             = AdminService.DisplayCwrfRight("Y", "N", "N", "N", "N", "Y", "N");
     ViewBag.RightM_CwrfSubmenu         = AdminService.DisplayCwrfMenuRight();
     ViewBag.RightM_CwrfCwd             = AdminService.DisplayCwrfRight("N", "N", "Y", "Y", "Y", "Y", "N");
     ViewBag.RightM_CwrfHo              = AdminService.DisplayCwrfRight("N", "Y", "N", "N", "Y", "Y", "N");
     ViewBag.RightM_CwrfStatus          = AdminService.DisplayRight("Y", "N");
     ViewBag.RightM_CwrfFunding         = AdminService.DisplayRight("Y", "N");
     ViewBag.RightM_Cbv                 = AdminService.DisplayRight("Y", "N");
     ViewBag.RightM_CbvOriUpdate        = AdminService.DisplayRight("Y", "N");
     ViewBag.RightM_CbvFunding          = AdminService.DisplayRight("Y", "N");
     ViewBag.RightM_CWRF_cluster        = AdminService.DisplayRight("R", "N");
     ViewBag.RightM_CerfHpd_cluster     = AdminService.DisplayCwrfRight("N", "N", "N", "N", "N", "N", "Y");
     ViewBag.RightM_CwrfFunding_cluster = AdminService.DisplayRight("R", "N");
     ViewBag.RightM_Cbv_cluster         = AdminService.DisplayRight("R", "N");
     ViewBag.RightD_Donation            = AdminService.DisplayRight("Y", "N");
     ViewBag.RightM_ReportM             = AdminService.DisplayRight("N", "N");
     ViewBag.RightY_ReportY             = AdminService.DisplayRight("N", "N");
     ViewBag.RightY_AsoiRpt             = AdminService.DisplayRight("N", "N");
     ViewBag.RightY_FvInput             = AdminService.DisplayRight("FV", "N", model.AdminFV_User.FV_user_cluster, model.FV_User.FV_user_role);
     ViewBag.RightY_FvCluster           = AdminService.DisplayRight("FC", "N", model.AdminFV_User.FV_user_cluster, "", model.FV_User.FV_user_cluster);
     ViewBag.RightY_FvUserAdmin         = AdminService.DisplayRight("FU", "N");
     ViewBag.RightD_ReportD             = AdminService.DisplayRight("N", "N");
 }
コード例 #4
0
ファイル: AdminController.cs プロジェクト: mansonlam/FMRS
        public IActionResult EnquireUser(string modules, string function_type, string admin_login_id)
        {
            Session.SetString("current_sys", modules);
            var user_group = GetUserGroup(modules);

            SetMenuDropDownList(user_group);
            ViewBag.IsHtmlMessage  = true;
            ViewBag.SuccessMessage = TempData["SuccessMessage"] != null ? TempData["SuccessMessage"] : ViewBag.SuccessMessage;
            ViewBag.ErrorMessage   = TempData["ErrorMessage"] != null ? TempData["ErrorMessage"] : ViewBag.ErrorMessage;

            var privilege_admin         = GetPrivilegeAdmin(modules);
            var privilege_cluster_admin = UserHelper.UserInfo(((ClaimsIdentity)User.Identity), "Privilege_Cluster_Admin");
            var fv_user_admin           = UserHelper.UserInfo(((ClaimsIdentity)User.Identity), "Fv_User_Admin");
            var login_id       = UserHelper.UserInfo(((ClaimsIdentity)User.Identity), "LoginId");
            var user_inst_code = UserHelper.UserInfo(((ClaimsIdentity)User.Identity), "InstCode");
            var pe_by_spec_ind = UserHelper.UserInfo(((ClaimsIdentity)User.Identity), "Pe_By_Spec_Ind");

            ViewBag.PrivilegeAdmin        = privilege_admin;
            ViewBag.PrivilegeClusterAdmin = privilege_cluster_admin;
            ViewBag.FvUserAdmin           = fv_user_admin;
            ViewBag.LoginId       = login_id;
            ViewBag.UserGroup     = user_group;
            ViewBag.UserInstCode  = user_inst_code;
            ViewBag.PeBySpecInd   = pe_by_spec_ind;
            ViewBag.DomainInst    = UserService.GetDomainInstByLoginId(login_id) ?? "";
            ViewBag.UserGroupList = AdminService.GetUserGroup(user_group);

            EnquireUserViewModel model = new EnquireUserViewModel();

            if (function_type == "U")
            {
                model = AdminService.GetEnquireUser(modules, admin_login_id, user_group);
            }
            else
            {
                model.AdminUserInfo            = new UserInfo();
                model.FV_User                  = new FVUser();
                model.AdminRightD              = new AccessRightD();
                model.AdminRightM              = new AccessRightM();
                model.AdminRightY              = new AccessRightY();
                model.AdminUserInfo.LoginId    = "";
                model.AdminUserInfo.UserName   = "";
                model.AdminUserInfo.Password   = "";
                model.AdminUserInfo.InstCode   = "";
                model.AdminUserInfo.PwdExpiry  = "N";
                model.LastLogin_string         = "";
                model.AdminUserInfo.UserGroup  = user_group;
                model.AdminUserInfo.DomainUser = "******";
            }
            if (user_inst_code != "HAHO")
            {
                model.Specialty_list = AdminService.GetUserSpecialtyByLoginID(admin_login_id);
            }
            model.Modules       = modules;
            model.Function_type = function_type;
            model.AdminFV_User  = AdminService.GetFVUserByLoginId(login_id);
            SetUserDisplayDropDown(model);
            return(View(model));
        }
コード例 #5
0
        public EnquireUserViewModel GetEnquireUser(string modules, string loginId, string user_group)
        {
            loginId = loginId.Replace("\\", "/").ToLower();
            DataSet ds = new DataSet();
            EnquireUserViewModel user = new EnquireUserViewModel();

            user.AdminUserInfo = new UserInfo();
            var sql = "select login_id, user_name, password, pwd_expiry, inst_code, ";

            sql = sql + " domain_user, isnull(convert(char(12), last_login, 106) + convert(char(5), last_login, 108), '-') last_login ";
            sql = sql + " from user_info where login_id = '" + loginId + "'";
            using (SqlConnection sqlConn = new SqlConnection(Context.Database.GetDbConnection().ConnectionString))
            {
                using (SqlCommand sqlCmd = new SqlCommand(sql, sqlConn))
                {
                    SqlDataAdapter adp = new SqlDataAdapter(sqlCmd);
                    adp.Fill(ds);
                    if (ds != null && ds.Tables.Count != 0 && ds.Tables[0].Rows.Count > 0)
                    {
                        user.AdminUserInfo.LoginId    = ds.Tables[0].Rows[0][0].ToString();
                        user.AdminUserInfo.UserName   = ds.Tables[0].Rows[0][1].ToString().Trim() ?? "";
                        user.AdminUserInfo.Password   = ds.Tables[0].Rows[0][2].ToString().Trim() ?? "";
                        user.AdminUserInfo.PwdExpiry  = ds.Tables[0].Rows[0][3].ToString().Trim() ?? "N";
                        user.AdminUserInfo.InstCode   = ds.Tables[0].Rows[0][4].ToString().Trim() ?? "";
                        user.AdminUserInfo.DomainUser = ds.Tables[0].Rows[0][5].ToString().Trim() ?? "Y";
                        user.LastLogin_string         = ds.Tables[0].Rows[0][6].ToString().Trim() ?? "";
                        AccessRightD rightD = AccessRightDRepository.GetAccessRightD(loginId);
                        AccessRightM rightM = AccessRightMRepository.GetAccessRightM(loginId);
                        AccessRightY rightY = AccessRightYRepository.GetAccessRightY(loginId);
                        switch (modules)
                        {
                        case "D":
                            user.AdminUserInfo.UserGroup = rightD.UserGroup ?? user_group;
                            user.AdminRightD             = rightD;
                            break;

                        case "M":
                            user.AdminUserInfo.UserGroup = rightM.UserGroup ?? user_group;
                            user.AdminRightM             = rightM;
                            break;

                        case "Y":
                            user.AdminUserInfo.UserGroup = rightY.UserGroup ?? user_group;
                            user.AdminRightY             = rightY; break;
                        }
                    }
                }
            }

            return(user);
        }
コード例 #6
0
        public void UpdateUserAccessRightM(EnquireUserViewModel model, string privilege_admin, string privilege_cluster_admin, string login_id)
        {
            var sql = "update access_right_m set ";

            sql = sql + "user_group = " + model.AdminRightM.UserGroup + ", ";
            sql = sql + "admin_M = " + model.AdminRightM.AdminM + ", ";
            sql = sql + "cbv = " + model.AdminRightM.Cbv + ", ";
            sql = sql + "cbv_funding = " + model.AdminRightM.CbvFunding + ", ";
            sql = sql + "cluster_admin_M = " + model.AdminRightM.ClusterAdminM + ", ";
            sql = sql + "cwrf = " + model.AdminRightM.Cwrf + ", ";
            sql = sql + "cwrf_funding = " + model.AdminRightM.CwrfFunding + ", ";
            sql = sql + "cwrf_submenu = " + model.AdminRightM.CwrfSubmenu + ", ";
            sql = sql + "report_M = " + model.AdminRightM.ReportM + ", ";
            sql = sql + "cwrf_hpd = " + model.AdminRightM.CwrfHpd + ", ";
            sql = sql + "cwrf_cwd = " + model.AdminRightM.CwrfCwd + ", ";
            sql = sql + "cwrf_ho = " + model.AdminRightM.CwrfHo + ", ";
            sql = sql + "cwrf_status = " + model.AdminRightM.CwrfStatus + ", ";
            sql = sql + "cbv_ori_update = " + model.AdminRightM.CbvOriUpdate + ", ";
            sql = sql + "project = " + model.AdminRightM.Project + " ";
            sql = sql + "where login_id = " + model.AdminUserInfo.LoginId;
            using (SqlConnection sqlConn = new SqlConnection(Context.Database.GetDbConnection().ConnectionString))
            {
                using (SqlCommand sqlCmd = new SqlCommand(sql, sqlConn))
                {
                    sqlCmd.Connection.Open();
                    sqlCmd.ExecuteNonQuery();
                }
            }
            DeleteCbvAccessControlByLoginId(model.AdminUserInfo.LoginId);
            if (model.AdminRightM.Cbv == "R")
            {
                InsertCbvAccessControlByLoginId(model.AdminUserInfo.LoginId, 4);
            }
            if (model.AdminRightM.Cbv == "I")
            {
                InsertCbvAccessControlFromCbvTranType(model.AdminUserInfo.LoginId);
            }
            CwrfAccessControlRepository.DeleteCwrfAccessControlByLoginId(model.AdminUserInfo.LoginId);
            if (model.AdminRightM.Cwrf == "R")
            {
                CwrfAccessControlRepository.InsertCwrfAccessControlByLoginId(model.AdminUserInfo.LoginId, 4);
            }
            if (model.AdminRightM.Cwrf == "I")
            {
                CwrfAccessControlRepository.InsertCwrfAccessControlFromCbvTranType(model.AdminUserInfo.LoginId);
            }
            if (model.AdminRightM.ReportM == "R" && privilege_cluster_admin == "I" && privilege_admin != "I")
            {
                ReportNotAccessRepository.InsertReportNotAccessByLoginId(model.AdminUserInfo.LoginId.Replace("\\", "/"), login_id, model.Modules);
            }
        }
コード例 #7
0
 public void UpdateUserAccessRightD(EnquireUserViewModel model)
 {
     var sql = "update access_right_d set ";
     sql = sql + "user_group = " + model.AdminRightD.UserGroup + ", ";
     sql = sql + "admin_D = " + model.AdminRightD.AdminD + ", ";
     sql = sql + "donation = " + model.AdminRightD.Donation + ", ";
     sql = sql + "report_D = " + model.AdminRightD.ReportD + " ";
     sql = sql + "where login_id = " + model.AdminUserInfo.LoginId;
     using (SqlConnection sqlConn = new SqlConnection(Context.Database.GetDbConnection().ConnectionString))
     {
         using (SqlCommand sqlCmd = new SqlCommand(sql, sqlConn))
         {
             sqlCmd.Connection.Open();
             sqlCmd.ExecuteNonQuery();
         }
     }
 }
コード例 #8
0
        public void UpdateUserAccessRightY(EnquireUserViewModel model)
        {
            var sql = "update access_right_y set ";

            sql = sql + "user_group = " + model.AdminRightY.UserGroup + ", ";
            sql = sql + "admin_Y = " + model.AdminRightY.AdminY + ", ";
            sql = sql + "asoi_input = " + model.AdminRightY.AsoiInput + ", ";
            sql = sql + "closing = " + model.AdminRightY.Closing + ", ";
            sql = sql + "report_Y = " + model.AdminRightY.ReportY + ", ";
            sql = sql + "non_pjt_report = " + model.AdminRightY.NonPjtReport + ", ";
            sql = sql + "far_access = " + model.AdminRightY.FarAccess + ", ";
            sql = sql + "fv_input = " + model.AdminRightY.FvInput + ", ";
            sql = sql + "fv_cluster = " + model.AdminRightY.FvCluster + ", ";
            sql = sql + "fv_user_admin = " + model.AdminRightY.FvUserAdmin + " ";
            sql = sql + "where login_id = " + model.AdminUserInfo.LoginId;
            using (SqlConnection sqlConn = new SqlConnection(Context.Database.GetDbConnection().ConnectionString))
            {
                using (SqlCommand sqlCmd = new SqlCommand(sql, sqlConn))
                {
                    sqlCmd.Connection.Open();
                    sqlCmd.ExecuteNonQuery();
                }
            }
        }
コード例 #9
0
ファイル: AdminController.cs プロジェクト: mansonlam/FMRS
        public IActionResult UpdateUser(EnquireUserViewModel model)
        {
            var user_inst_code          = UserHelper.UserInfo(((ClaimsIdentity)User.Identity), "InstCode");
            var privilege_admin         = GetPrivilegeAdmin(model.Modules);
            var privilege_cluster_admin = UserHelper.UserInfo(((ClaimsIdentity)User.Identity), "Privilege_Cluster_Admin");
            var login_id = UserHelper.UserInfo(((ClaimsIdentity)User.Identity), "LoginId");

            try
            {
                //AdminService.UpdateUser(model);
                string update_login_id = model.AdminUserInfo.LoginId.Replace("\\", "/");
                string domain_user     = update_login_id.ToLower();
                if (model.Function_type == "I")
                {
                    if (!AdminService.CheckUserExistenceByAccessRight(update_login_id, model.Modules))
                    {
                        //User Already Exists
                        TempData["ErrorMessage"] = String.Format(Resource.InsertUserFail, update_login_id);
                        return(RedirectToAction("Index", new { modules = model.Modules }));
                    }
                }
                if (model.Function_type == "I" || model.Function_type == "U")
                {
                    if (model.AdminUserInfo.UserGroup != "HOSP")
                    {
                        model.AdminUserHospital = model.AdminUserInfo.InstCode;
                    }
                    if (model.AdminUserHospital == "")
                    {
                        model.AdminUserHospital = user_inst_code;
                    }
                    if (model.AdminUserHospital.Trim() == "")
                    {
                        model.AdminUserHospital = "HAHO";
                    }
                    model.LastLogin_string = UserService.GetUserLastLogin(update_login_id);
                    UserService.DeleteUserByUserId(update_login_id);
                    UserService.InsertUserInfo(update_login_id, model.AdminUserInfo.UserName, model.AdminUserHospital, model.AdminUserInfo.UserGroup, model.LastLogin_string);
                }
                else if (model.Function_type == "D")
                {
                    AdminService.RemoveUser(update_login_id, GetAccessRightTable(model.Modules));
                    TempData["SuccessMessage"] = Resource.RemoveUserSuccess;
                }

                if (model.Function_type == "I" || model.Function_type == "U")
                {
                    if (model.Modules == "D")
                    {
                        model.AdminRightD.UserGroup = model.AdminUserInfo.UserGroup;
                        model.AdminRightD.AdminD    = model.AdminRightD.AdminD ?? "N";
                        //model.AdminRightD.AsoiRpt = model.AdminRightD.AsoiRpt ?? "N";
                        //model.AdminRightD.Closing = model.AdminRightD.Closing ?? "N";
                        model.AdminRightD.Donation = model.AdminRightD.Donation ?? "N";
                        model.AdminRightD.ReportD  = model.AdminRightD.ReportD ?? "N";
                        //model.AdminRightD.NonPjtReport = model.AdminRightD.NonPjtReport ?? "N";
                    }
                    else if (model.Modules == "M")
                    {
                        model.AdminRightM.UserGroup = model.AdminUserInfo.UserGroup;
                        model.AdminRightM.AdminM    = model.AdminRightM.AdminM ?? "N";
                        //model.AdminRightM.AsoiRpt = model.AdminRightM.AsoiRpt ?? "N";
                        //model.AdminRightM.Closing = model.AdminRightM.Closing ?? "N";
                        model.AdminRightM.Cbv           = model.AdminRightM.Cbv ?? "N";
                        model.AdminRightM.CbvFunding    = model.AdminRightM.CbvFunding ?? "N";
                        model.AdminRightM.ClusterAdminM = model.AdminRightM.ClusterAdminM ?? "N";
                        model.AdminRightM.Cwrf          = model.AdminRightM.Cwrf ?? "N";
                        model.AdminRightM.CwrfFunding   = model.AdminRightM.CwrfFunding ?? "N";
                        model.AdminRightM.CwrfSubmenu   = model.AdminRightM.CwrfSubmenu ?? "N";
                        model.AdminRightM.ReportM       = model.AdminRightM.ReportM ?? "N";
                        //model.AdminRightM.NonPjtReport = model.AdminRightM.NonPjtReport ?? "N";
                        model.AdminRightM.CwrfHpd      = model.AdminRightM.CwrfHpd ?? "N";
                        model.AdminRightM.CwrfCwd      = model.AdminRightM.CwrfCwd ?? "N";
                        model.AdminRightM.CwrfHo       = model.AdminRightM.CwrfHo ?? "N";
                        model.AdminRightM.CwrfStatus   = model.AdminRightM.CwrfStatus ?? "N";
                        model.AdminRightM.CbvOriUpdate = model.AdminRightM.CbvOriUpdate ?? "N";
                        model.AdminRightM.Project      = model.AdminRightM.Project ?? "N";
                    }
                    else if (model.Modules == "Y")
                    {
                        model.AdminRightY.UserGroup    = model.AdminUserInfo.UserGroup;
                        model.AdminRightY.AdminY       = model.AdminRightY.AdminY ?? "N";
                        model.AdminRightY.AsoiInput    = model.AdminRightY.AsoiInput ?? "N";
                        model.AdminRightY.AsoiRpt      = model.AdminRightY.AsoiRpt ?? "N";
                        model.AdminRightY.Closing      = model.AdminRightY.Closing ?? "N";
                        model.AdminRightY.ReportY      = model.AdminRightY.ReportY ?? "N";
                        model.AdminRightY.NonPjtReport = model.AdminRightY.NonPjtReport ?? "N";
                        model.AdminRightY.FarAccess    = model.AdminRightY.FarAccess ?? "N";
                        model.AdminRightY.FvInput      = model.AdminRightY.FvInput ?? "N";
                        model.AdminRightY.FvCluster    = model.AdminRightY.FvCluster ?? "N";
                        model.AdminRightY.FvUserAdmin  = model.AdminRightY.FvUserAdmin ?? "N";
                    }
                    AdminService.UpdateUserAccessRight(model, privilege_admin, privilege_cluster_admin, login_id, user_inst_code);
                    TempData["SuccessMessage"] = Resource.UpdateUserSuccess;
                }

                //delink User
                if (model.Function_type == "D")
                {
                    int cnt = AdminService.CheckUserExistenceByAccessRightNotN(update_login_id, model.Modules);
                    if (cnt == 0)
                    {
                        if (!AdminService.FrmsCheckAnyUser(update_login_id.ToLower()))
                        {
                            //DelinkUser
                            AdminService.CID_FUNC_delink_userproj(update_login_id.ToLower(), login_id);
                        }
                    }
                }

                if (model.Modules == "Y" && model.AdminRightY.FvInput != "N")
                {
                    AdminService.FvUpdateUser(update_login_id.ToLower(), model.AdminRightY.FvInput, model.AdminRightY.FvCluster, model.AdminRightY.FvUserAdmin);
                }

                return(RedirectToAction("Index", new { modules = model.Modules }));
            }
            catch (Exception ex)
            {
                TempData["ErrorMessage"] = Resource.SaveFail + ex;
                return(RedirectToAction("Index", new { modules = model.Modules }));
            }
        }