예제 #1
0
        public void SavePerm(frmRolePerms rolePerm)
        {
            if (ModelState.IsValid && rolePerm.PermName != "")
            {
                if (CheckPerm(Perms.Kullanıcılar, PermTypes.Writing))
                {
                    rolePerm.PermName = rolePerm.PermName.Dehumanize();
                    var tbl = db.UserPerms.FirstOrDefault(m => m.PermName == rolePerm.PermName && m.UserName == rolePerm.UserName);
                    if (tbl == null)//ilk defa kayıt olacak
                    {
                        tbl = new UserPerm()
                        {
                            PermName     = rolePerm.PermName,
                            UserName     = rolePerm.UserName,
                            Reading      = rolePerm.Reading == "on",
                            Writing      = rolePerm.Writing == "on",
                            Updating     = rolePerm.Updating == "on",
                            Deleting     = rolePerm.Deleting == "on",
                            RecordDate   = DateTime.Now,
                            RecordUser   = vUser.UserName,
                            ModifiedDate = DateTime.Now,
                            ModifiedUser = vUser.UserName
                        };
                        if (tbl.Reading || tbl.Writing || tbl.Updating || tbl.Deleting)
                        {
                            db.UserPerms.Add(tbl);
                            LogActions("", "Users", "SavePerm", ComboItems.alEkle, 0, "PermName: " + tbl.PermName + ", UserName: "******", R: " + tbl.Reading + ", W: " + tbl.Writing + ", U: " + tbl.Updating + ", D: " + tbl.Deleting);
                        }
                    }
                    else
                    {
                        if (rolePerm.Reading != "on" && rolePerm.Writing != "on" && rolePerm.Updating != "on" && rolePerm.Deleting != "on")
                        {
                            db.UserPerms.Remove(tbl);
                            LogActions("", "Users", "SavePerm", ComboItems.alSil, 0, "PermName: " + tbl.PermName + ", UserName: "******"on";
                            tbl.Writing      = rolePerm.Writing == "on";
                            tbl.Updating     = rolePerm.Updating == "on";
                            tbl.Deleting     = rolePerm.Deleting == "on";
                            tbl.ModifiedDate = DateTime.Now;
                            tbl.ModifiedUser = vUser.UserName;
                            LogActions("", "Users", "SavePerm", ComboItems.alDüzenle, 0, "PermName: " + tbl.PermName + ", UserName: "******", R: " + tbl.Reading + ", W: " + tbl.Writing + ", U: " + tbl.Updating + ", D: " + tbl.Deleting);
                        }
                    }

                    try
                    {
                        db.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        Logger(ex, "Users/SavePerm");
                    }
                }
            }
        }
예제 #2
0
        static void ForceLogin()//强制登录!
        {
            string    LoginName = UserId;
            CITMSUser user      = new CITMSUser();

            user.LoginName = LoginName;
            UserGlobalShare userinfo = new UserGlobalShare(user.LoginName);

            userinfo.appinfo.UserInfo = new UpdateData();//重新实例化
            DataSet ds = new DataSet();

            ////foreach (DataColumn col in ds.Tables[0].Columns)
            ////{
            ////    string strcol = col.ColumnName;
            ////    UpdateItem ui = new UpdateItem(strcol, dr[strcol].ToString());
            ////    userinfo.appinfo.UserInfo.Items.Add(strcol, ui);
            ////}

            DataSource.GetDataSourceMapping();
            userinfo.mapDataSource = DataSource.GetGlobalSourcesClone();
            userinfo.UpdateSource();//替换datasource
            userinfo.CurrUser = user;
            if (!GlobalShare.UserAppInfos.ContainsKey(LoginName))
            {
                GlobalShare.UserAppInfos.Add(LoginName, userinfo);
            }
            UserPerm uperm = new UserPerm(GlobalShare.SystemAppInfo.PermUserPoint, user.LoginName, userinfo);

            //uperm.ToXml();
            //GlobalShare.DataChoices = ; userinfo.InitDataChoices(

            //
            GlobalShare.DataChoices = DataChoice.InitDataChoiceMappings(null);
            userinfo.DataChoices    = DataChoice.InitDataChoiceMappings(userinfo);

            SystemConts.ToDictionary().Values.ToList().ForEach(a => {
                if (!userinfo.appinfo.UserInfo.Items.ContainsKey(a.datapoint.Name))
                {
                    userinfo.appinfo.UserInfo.Items.Add(a.datapoint.Name, a);
                }
            });
        }