Beispiel #1
0
        public RBACRolesResponse Post(RBACRolesRequest request)
        {
            RBACRolesResponse resp;

            using (var con = this.TenantDbFactory.ObjectsDB.GetNewConnection())
            {
                con.Open();
                string sql      = "SELECT eb_create_or_update_rbac_manageroles(@role_id, @applicationid, @createdby, @role_name, @description, @users, @dependants,@permission );";
                var    cmd      = this.TenantDbFactory.ObjectsDB.GetNewCommand(con, sql);
                int[]  emptyarr = new int[] { };
                cmd.Parameters.Add(this.TenantDbFactory.ObjectsDB.GetNewParameter("role_id", System.Data.DbType.Int32, request.Colvalues["roleid"]));
                cmd.Parameters.Add(this.TenantDbFactory.ObjectsDB.GetNewParameter("description", System.Data.DbType.String, request.Colvalues["Description"]));
                cmd.Parameters.Add(this.TenantDbFactory.ObjectsDB.GetNewParameter("role_name", System.Data.DbType.String, request.Colvalues["role_name"]));
                cmd.Parameters.Add(this.TenantDbFactory.ObjectsDB.GetNewParameter("applicationid", System.Data.DbType.Int32, request.Colvalues["applicationid"]));
                cmd.Parameters.Add(this.TenantDbFactory.ObjectsDB.GetNewParameter("createdby", System.Data.DbType.Int32, request.UserId));
                cmd.Parameters.Add(this.TenantDbFactory.ObjectsDB.GetNewParameter("permission", NpgsqlTypes.NpgsqlDbType.Array | NpgsqlTypes.NpgsqlDbType.Text, (request.Colvalues["permission"].ToString() != string.Empty) ? request.Colvalues["permission"].ToString().Replace("[", "").Replace("]", "").Split(',').Select(n => n.ToString()).ToArray() : new string[] { }));
                cmd.Parameters.Add(this.TenantDbFactory.ObjectsDB.GetNewParameter("users", NpgsqlTypes.NpgsqlDbType.Array | NpgsqlTypes.NpgsqlDbType.Integer, (request.Colvalues["users"].ToString() != string.Empty) ? request.Colvalues["users"].ToString().Split(',').Select(n => Convert.ToInt32(n)).ToArray() : emptyarr));
                cmd.Parameters.Add(this.TenantDbFactory.ObjectsDB.GetNewParameter("dependants", NpgsqlTypes.NpgsqlDbType.Array | NpgsqlTypes.NpgsqlDbType.Integer, (request.Colvalues["dependants"].ToString() != string.Empty) ? request.Colvalues["dependants"].ToString().Replace("[", "").Replace("]", "").Split(',').Select(n => Convert.ToInt32(n)).ToArray() : emptyarr));

                resp = new RBACRolesResponse
                {
                    id = Convert.ToInt32(cmd.ExecuteScalar())
                };
            }
            return(resp);
        }
        public string SaveRoles(int RoleId, int ApplicationId, string RoleName, string Description, string users, string Permissions, string subrolesid)
        {
            var req = this.HttpContext.Request.Form;
            Dictionary <string, object> Dict = new Dictionary <string, object>();
            string return_msg;

            Dict["roleid"]        = RoleId;
            Dict["applicationid"] = ApplicationId;
            Dict["role_name"]     = RoleName;
            Dict["Description"]   = Description;
            Dict["users"]         = string.IsNullOrEmpty(users) ? string.Empty : users;
            Dict["permission"]    = string.IsNullOrEmpty(Permissions) ? string.Empty : Permissions;
            Dict["dependants"]    = string.IsNullOrEmpty(subrolesid) ? string.Empty : subrolesid;

            //  IServiceClient client = this.EbConfig.GetServiceStackClient(ViewBag.token, ViewBag.rToken);

            RBACRolesResponse res = this.ServiceClient.Post <RBACRolesResponse>(new RBACRolesRequest {
                Colvalues = Dict
            });

            if (res.id == 0)
            {
                return_msg = "Success";
            }
            else
            {
                return_msg = "Failed";
            }
            return(return_msg);
        }