コード例 #1
0
        public IActionResult EditColumns(GrantColumnsViewModel model)
        {
            var old_columns = GetColumns(model.SchemaName, model.TableName, model.Rolename)
                              .OrderBy(r => r.Column_name).ToList();
            var columns = model.Columns.OrderBy(r => r.Column_name).ToList();

            CompareColumnsGrants(old_columns, columns, out bool selChanged, out bool updChanged, out bool insChanged);

            if (selChanged || updChanged || insChanged)
            {
                try
                {
                    List <string> selectList = new List <string>();
                    List <string> updateList = new List <string>();
                    List <string> insertList = new List <string>();

                    foreach (var column in columns)
                    {
                        if (column.IsSelect)
                        {
                            selectList.Add(column.Column_name);
                        }
                        if (column.IsUpdate)
                        {
                            updateList.Add(column.Column_name);
                        }
                        if (column.IsInsert)
                        {
                            insertList.Add(column.Column_name);
                        }
                    }
                    _service.GrantColumnsToRole(model.SchemaName, model.TableName, model.Rolename,
                                                selectList, updateList, insertList,
                                                selChanged, updChanged, insChanged);
                    //TempData["message"] = $"Сохранено.";

                    //if (_device.Type.ToString().ToLower() == "desktop")
                    //    return Json(new { ok = true, mobile = false });
                    //else
                    //{
                    //    TempData["message"] = $"Сохранено.";
                    //    return Json(new { ok = true, mobile = true,  newurl = Url.Action("Index") });
                    //}

                    return(Json(new { ok = true, mobile = false }));
                }
                catch (Exception e)
                {
                    //TempData["error"] = $"Warning. {e.Message}";
                    return(Json(new { ok = false, message = e.Message }));
                }
            }
            return(Json(new { ok = true }));
        }
コード例 #2
0
        public IActionResult EditColumns(string schema, string table, string rolename)
        {
            List <GrantColumn> columns = GetColumns(schema, table, rolename).ToList();
            var model = new GrantColumnsViewModel
            {
                Columns    = columns,
                TableName  = table,
                SchemaName = schema,
                Rolename   = rolename
            };

            return(PartialView("EditGrantsColumnsModalPartial", model));
        }