Exemplo n.º 1
0
        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));
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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));
            }
        }
Exemplo n.º 4
0
        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);
            }
        }