Пример #1
0
 public ActionResult PermissionRoleDestroy([DataSourceRequest] DataSourceRequest request, PermissionRole dictionary)
 {
     if (dictionary != null)
     {
         var roleId = dictionary.Id;
         var dbRole = db.PermissionRoles.SingleOrDefault(x => x.Id == roleId);
         if (dbRole == null)
         {
             ModelState.AddModelError("Message", Convert.ToString("Роль не найдена"));
             return(Json(new[] { dictionary }.ToDataSourceResult(request, ModelState)));
         }
         var dbEmployees = db.EmployeePermissionRoles.Where(x => x.PermissionRoleId == roleId)
                           .Join(db.Employees, x => x.EmployeeId, x => x.Id, (r, e) => e).ToList();
         if (dbEmployees.Count > 0)
         {
             var empl          = dbEmployees[0];
             var employeeNames = empl.LastName + " " + empl.FirstName + " " + empl.MiddleName;
             var otherCount    = dbEmployees.Count - 1;
             if (otherCount > 0)
             {
                 employeeNames += " и ещё " + otherCount + " сотрудник(ов)";
             }
             ModelState.AddModelError("Message", Convert.ToString("Роль использует " + employeeNames));
             return(Json(new[] { dictionary }.ToDataSourceResult(request, ModelState)));
         }
         db.PermissionRoles.Remove(dbRole);
         ActionLogger.WriteInt(db, "Удаление роли прав доступа", "RoleId: " + dbRole.Id + "; Name: " + dbRole.Name);
         db.SaveChanges();
         EmployePermissionHelper.RemoveRolePermissionKeys(dbRole.Id);
     }
     return(Json(new[] { dictionary }.ToDataSourceResult(request, ModelState)));
 }
Пример #2
0
        public ActionResult PermissionRoleCreate([DataSourceRequest] DataSourceRequest request, PermissionRole dictionary)
        {
            if (dictionary != null)
            {
                db.PermissionRoles.Add(dictionary);
                ActionLogger.WriteInt(db, "Создание роли прав доступа", "Name: " + dictionary.Name);
                db.SaveChanges();
                EmployePermissionHelper.AddRoleDefaultPermissionKeys(dictionary.Id);
            }

            return(Json(new[] { dictionary }.ToDataSourceResult(request, ModelState)));
        }
Пример #3
0
 public ActionResult EmployeePermissionRoleDestroy([DataSourceRequest] DataSourceRequest request, PermissionRoleModel dictionary, Guid employeeId)
 {
     if (dictionary != null)
     {
         var dbEmployeeRole = db.EmployeePermissionRoles.Single(x => x.Id == dictionary.EmployeeRoleId);
         db.EmployeePermissionRoles.Remove(dbEmployeeRole);
         ActionLogger.WriteInt(db, "Удаление сотруднику роли прав доступа", "RoleId: " + dbEmployeeRole.PermissionRoleId + "; EmployeeId: " + dbEmployeeRole.EmployeeId);
         db.SaveChanges();
         EmployePermissionHelper.ClearEmployeePermission();
     }
     return(Json(new[] { dictionary }.ToDataSourceResult(request, ModelState)));
 }
Пример #4
0
 public ActionResult PermissionRoleKeysUpdate([DataSourceRequest] DataSourceRequest request, PermissionModel permissionModel, int roleId)
 {
     if (permissionModel != null && ModelState.IsValid)
     {
         var employeePermission = db.PermissionRoleKeys.First(o => o.PermissionRoleId == roleId && o.PermissionKey == permissionModel.KeyType);
         var prevValue          = employeePermission.PermissionValue;
         employeePermission.PermissionValue = permissionModel.KeyValue;
         ActionLogger.WriteInt(db, "Обновление разрешений у роли прав доступа",
                               "RoleId: " + roleId + "; Key: " + permissionModel.KeyType + "; PrevValue: " + prevValue + "; CurrentValue: " + permissionModel.KeyValue);
         db.SaveChanges();
         EmployePermissionHelper.ClearEmployeePermission();
     }
     return(Json(new[] { permissionModel }.ToDataSourceResult(request, ModelState)));
 }
Пример #5
0
 public ActionResult EmployeePermissionRoleUpdate([DataSourceRequest] DataSourceRequest request, PermissionRoleModel dictionary, Guid employeeId)
 {
     if (dictionary != null && ModelState.IsValid)
     {
         var dbEmployeeRole = db.EmployeePermissionRoles.SingleOrDefault(x => x.PermissionRoleId == dictionary.RoleId && x.EmployeeId == employeeId && x.Id != dictionary.EmployeeRoleId);
         if (dbEmployeeRole != null)
         {
             ModelState.AddModelError("Message", Convert.ToString("Роль уже присвоена"));
             return(Json(new[] { dictionary }.ToDataSourceResult(request, ModelState)));
         }
         dbEmployeeRole = db.EmployeePermissionRoles.Single(x => x.Id == dictionary.EmployeeRoleId);
         var prevRoleId = dbEmployeeRole.PermissionRoleId;
         dbEmployeeRole.PermissionRoleId = dictionary.RoleId;
         ActionLogger.WriteInt(db, "Обновление сотруднику роли прав доступа", "PrevRoleId: " + prevRoleId + "; CurrentRoleId: " + dictionary.RoleId);
         db.SaveChanges();
         EmployePermissionHelper.ClearEmployeePermission();
     }
     return(Json(new[] { dictionary }.ToDataSourceResult(request, ModelState)));
 }
Пример #6
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            ModelBinders.Binders.Add(typeof(DateTime), new CustomDateBinder());
            ModelBinders.Binders.Add(typeof(DateTime?), new NullableCustomDateBinder());

            Stream stream = new MemoryStream(StrToByteArray(Resources.Licence));

            stream.Position = 0;
            Aspose.Pdf.License     licensePdf     = new Aspose.Pdf.License();
            Aspose.Words.License   licenseWords   = new Aspose.Words.License();
            Aspose.Cells.License   licenseCells   = new Aspose.Cells.License();
            Aspose.Slides.License  licenseSlides  = new Aspose.Slides.License();
            Aspose.BarCode.License licenseBarCode = new Aspose.BarCode.License();

            licensePdf.SetLicense(stream);
            stream.Position = 0;
            licenseWords.SetLicense(stream);
            stream.Position = 0;
            licenseCells.SetLicense(stream);
            stream.Position = 0;
            licenseSlides.SetLicense(stream);
            stream.Position = 0;
            licenseBarCode.SetLicense(stream);
            stream.Close();
            //   CreateLogins();

            //	CheckLogins();

            LogHelper.InitLogger();
            LogHelper.Log.Info("Application Start");

            EmployePermissionHelper.Init();


            QScheduler.Start();
        }
Пример #7
0
        public ActionResult PermissionRoleKeysRead([DataSourceRequest] DataSourceRequest request, int roleId)
        {
            ActionLogger.WriteInt("Получение списка разрешений роли прав доступа", "RoleId: " + roleId);
            var data = db.PermissionRoleKeys.Where(o => o.PermissionRoleId == roleId)
                       .Join(db.PermissionKeys, x => x.PermissionKey, x => x.Key, (r, k) => new { RoleKeys = r, Key = k })
                       .ToList().Select(o => new PermissionModel()
            {
                Id             = o.RoleKeys.Id,
                GroupName      = o.Key.GroupName,
                KeyDescription = EmployePermissionHelper.GeKeys().First(x => x.Key == o.RoleKeys.PermissionKey).KeyDescription,
                KeyName        = EmployePermissionHelper.GeKeys().First(x => x.Key == o.RoleKeys.PermissionKey).KeyName,
                KeyType        = o.RoleKeys.PermissionKey,
                KeyValue       = o.RoleKeys.PermissionValue,
                KeyPermission  =
                    EmployePermissionHelper.GeKeysValue()
                    .Where(x => x.PermissionKey == o.RoleKeys.PermissionKey)
                    .First(y => y.Value == o.RoleKeys.PermissionValue)
                    .Name
            });

            return(Json(data.ToDataSourceResult(request)));
        }
Пример #8
0
        private bool IsAllow(Guid employeeId, string key)
        {
            var permission = EmployePermissionHelper.IsVisibility(key, employeeId);

            return(permission);
        }