public ActionResult DeleteConfirmed(int id, int budgetId) { if (Authorized(RoleType.SystemManager)) { Budgets_Baskets permission; using (OrdersRepository orderssRep = new OrdersRepository(CurrentUser.CompanyId)) using (BudgetsPermissionsRepository permissionsRep = new BudgetsPermissionsRepository()) using (BasketsToAllocationsRepository permissionsAllocationsRep = new BasketsToAllocationsRepository()) using (UsersToBasketsRepository usersPermissionsRep = new UsersToBasketsRepository()) { permission = permissionsRep.GetEntity(id); if (permission != null) { if (permission.CompanyId == CurrentUser.CompanyId) { bool noErrors = true; List <int> permissionAllocations = permission.Budgets_BasketsToAllocation.Select(x => x.Id).ToList(); List <int> usersPermissions = permission.Budgets_UsersToBaskets.Select(x => x.Id).ToList(); foreach (var itemId in permissionAllocations) { if (!permissionsAllocationsRep.Delete(itemId)) { noErrors = false; } } foreach (var itemId in usersPermissions) { if (!usersPermissionsRep.Delete(itemId)) { noErrors = false; } } if (!permissionsRep.Delete(permission.Id)) { noErrors = false; } if (noErrors) { return(RedirectToAction("Index", new { id = budgetId })); } else { return(Error(Loc.Dic.error_permissions_delete_error)); } } else { return(Error(Loc.Dic.error_no_permission)); } } else { return(Error(Loc.Dic.error_projects_get_error)); } } } else { return(Error(Loc.Dic.error_no_permission)); } }
public ActionResult DeleteConfirmed(int id, int budgetId) { if (Authorized(RoleType.SystemManager)) { Budgets_Baskets permission; using (OrdersRepository orderssRep = new OrdersRepository(CurrentUser.CompanyId)) using (BudgetsPermissionsRepository permissionsRep = new BudgetsPermissionsRepository()) using (BasketsToAllocationsRepository permissionsAllocationsRep = new BasketsToAllocationsRepository()) using (UsersToBasketsRepository usersPermissionsRep = new UsersToBasketsRepository()) { permission = permissionsRep.GetEntity(id); if (permission != null) { if (permission.CompanyId == CurrentUser.CompanyId) { bool noErrors = true; List<int> permissionAllocations = permission.Budgets_BasketsToAllocation.Select(x => x.Id).ToList(); List<int> usersPermissions = permission.Budgets_UsersToBaskets.Select(x => x.Id).ToList(); foreach (var itemId in permissionAllocations) { if (!permissionsAllocationsRep.Delete(itemId)) noErrors = false; } foreach (var itemId in usersPermissions) { if (!usersPermissionsRep.Delete(itemId)) noErrors = false; } if (!permissionsRep.Delete(permission.Id)) noErrors = false; if (noErrors) return RedirectToAction("Index", new { id = budgetId }); else return Error(Loc.Dic.error_permissions_delete_error); } else { return Error(Loc.Dic.error_no_permission); } } else { return Error(Loc.Dic.error_projects_get_error); } } } else { return Error(Loc.Dic.error_no_permission); } }
public ActionResult EditBaskets(UserPermissionsModel model) { if (ModelState.IsValid) { if (Authorized(RoleType.SystemManager)) { User userFromDB; List <Budgets_UsersToBaskets> existingPermissions; bool noErrors = true; using (UsersRepository usersRep = new UsersRepository(CurrentUser.CompanyId)) using (UsersToBasketsRepository userPermissionsRep = new UsersToBasketsRepository()) { userFromDB = usersRep.GetEntity(model.UserId); if (userFromDB != null) { if (userFromDB.CompanyId == CurrentUser.CompanyId) { existingPermissions = userPermissionsRep.GetList().Where(x => x.UserId == userFromDB.Id).ToList(); if (existingPermissions != null) { if (model.UserPermissions == null) { return(RedirectToAction("Index")); } foreach (var permission in model.UserPermissions) { if (permission.IsActive) { if (!existingPermissions.Any(x => x.BasketId == permission.Permission.Id)) { Budgets_UsersToBaskets newPermission = new Budgets_UsersToBaskets() { UserId = userFromDB.Id, BasketId = permission.Permission.Id, CompanyId = CurrentUser.CompanyId }; if (!userPermissionsRep.Create(newPermission)) { noErrors = false; } } } else { Budgets_UsersToBaskets existingPermission = existingPermissions.SingleOrDefault(x => x.BasketId == permission.Permission.Id); if (existingPermission != null) { if (!userPermissionsRep.Delete(existingPermission.Id)) { noErrors = false; } } } } if (noErrors) { return(RedirectToAction("Index")); } else { return(Error(Loc.Dic.error_user_edit_permissions_error)); } } else { return(Error(Loc.Dic.error_database_error)); } } else { return(Error(Loc.Dic.error_no_permission)); } } else { return(Error(Loc.Dic.error_database_error)); } } } else { return(Error(Loc.Dic.error_no_permission)); } } else { return(Error(ModelState)); } }
public ActionResult EditBaskets(UserPermissionsModel model) { if (ModelState.IsValid) { if (Authorized(RoleType.SystemManager)) { User userFromDB; List<Budgets_UsersToBaskets> existingPermissions; bool noErrors = true; using (UsersRepository usersRep = new UsersRepository(CurrentUser.CompanyId)) using (UsersToBasketsRepository userPermissionsRep = new UsersToBasketsRepository()) { userFromDB = usersRep.GetEntity(model.UserId); if (userFromDB != null) { if (userFromDB.CompanyId == CurrentUser.CompanyId) { existingPermissions = userPermissionsRep.GetList().Where(x => x.UserId == userFromDB.Id).ToList(); if (existingPermissions != null) { if (model.UserPermissions == null) return RedirectToAction("Index"); foreach (var permission in model.UserPermissions) { if (permission.IsActive) { if (!existingPermissions.Any(x => x.BasketId == permission.Permission.Id)) { Budgets_UsersToBaskets newPermission = new Budgets_UsersToBaskets() { UserId = userFromDB.Id, BasketId = permission.Permission.Id, CompanyId = CurrentUser.CompanyId }; if (!userPermissionsRep.Create(newPermission)) noErrors = false; } } else { Budgets_UsersToBaskets existingPermission = existingPermissions.SingleOrDefault(x => x.BasketId == permission.Permission.Id); if (existingPermission != null) { if (!userPermissionsRep.Delete(existingPermission.Id)) noErrors = false; } } } if (noErrors) return RedirectToAction("Index"); else return Error(Loc.Dic.error_user_edit_permissions_error); } else { return Error(Loc.Dic.error_database_error); } } else { return Error(Loc.Dic.error_no_permission); } } else { return Error(Loc.Dic.error_database_error); } } } else { return Error(Loc.Dic.error_no_permission); } } else { return Error(ModelState); } }