public ActionResult EditAllocations(int id = 0, int budgetId = 0) { if (!Authorized(RoleType.SystemManager)) { return(Error(Loc.Dic.error_no_permission)); } PermissionAllocationsModel model = new PermissionAllocationsModel(); Budget budget; using (BudgetsRepository budgetsRep = new BudgetsRepository(CurrentUser.CompanyId)) using (BudgetsPermissionsRepository permissionsRep = new BudgetsPermissionsRepository()) using (BasketsToAllocationsRepository permissionsAllocationsRep = new BasketsToAllocationsRepository()) { model.Basket = permissionsRep.GetEntity(id); if (model.Basket == null) { return(Error(Loc.Dic.error_permissions_get_error)); } if (model.Basket.CompanyId != CurrentUser.CompanyId) { return(Error(Loc.Dic.error_no_permission)); } budget = budgetsRep.GetEntity(budgetId); if (budget == null) { return(Error(Loc.Dic.error_database_error)); } List <PermissionAllocation> permissionsToAllocations = permissionsAllocationsRep.GetList("Budgets_Allocations", "Budgets_Allocations.Budgets_Incomes", "Budgets_Allocations.Budgets_Expenses") .Where(x => x.BudgetId == budget.Id && x.BasketId == model.Basket.Id) .AsEnumerable() .Select(alloc => new PermissionAllocation() { IsActive = true, Allocation = alloc }) .ToList(); model.BudgetAllocations = new BudgetAllocations() { Budget = budget, AllocationsList = budget.Budgets_Allocations.OrderBy(x => x.SortingCode).ToList(), PermissionAllocations = permissionsToAllocations }; return(View(model)); } }
public ActionResult PermissionAllocationList(int permissionId, int budgetId) { using (BasketsToAllocationsRepository perAlloRep = new BasketsToAllocationsRepository()) { List <Budgets_BasketsToAllocation> perAlloList = perAlloRep.GetList("Budgets_Allocations").Where(x => x.BudgetId == budgetId).Where(x => x.BasketId == permissionId).ToList(); ViewBag.budgetYear = perAlloList[0].Budget.Year; ViewBag.PermissionName = perAlloList[0].Budgets_Baskets.Name; ViewBag.BasketId = permissionId; ViewBag.BudgetId = budgetId; return(View(perAlloList)); } }
public List <Budgets_Allocations> GetUserAllocations(int userId, int budgetId, int?excludeOrder = null) { List <int> userAllocationIds = new List <int>(); List <Budgets_Allocations> userAllocations = new List <Budgets_Allocations>(); using (UsersToBasketsRepository usersToBasketsRep = new UsersToBasketsRepository()) using (BasketsToAllocationsRepository basketsToAllocationRep = new BasketsToAllocationsRepository()) { List <Budgets_UsersToBaskets> permissions = usersToBasketsRep .GetList() .Where(x => x.UserId == userId) .ToList(); foreach (var permission in permissions) { userAllocationIds.AddRange( basketsToAllocationRep.GetList() .Where(x => x.BasketId == permission.Budgets_Baskets.Id && x.BudgetId == budgetId) .Select(x => x.Budgets_Allocations.Id) .ToList() ); } userAllocationIds = userAllocationIds.Distinct().ToList(); } var data = this.GetAllocationsData(userAllocationIds.ToArray(), StatusType.Pending, excludeOrder); foreach (var allocationData in data) { foreach (var monthData in allocationData.Months) { monthData.OriginalAllocationMonth.Amount = monthData.RemainingAmount; } } return(data.Select(x => x.OriginalAllocation).ToList()); }
public ActionResult EditAllocations(PermissionAllocationsModel model) { if (!Authorized(RoleType.SystemManager)) { return(Error(Loc.Dic.error_no_permission)); } Budgets_Baskets permissionFromDB; List <Budgets_Allocations> existingPermissionAllocations; List <Budgets_BasketsToAllocation> existingPermissionToAllocations; using (BudgetsRepository budgetsRep = new BudgetsRepository(CurrentUser.CompanyId)) using (BudgetsPermissionsRepository permissionsRep = new BudgetsPermissionsRepository()) using (BasketsToAllocationsRepository permissionsAllocationsRep = new BasketsToAllocationsRepository()) using (AllocationRepository allocationsRep = new AllocationRepository(CurrentUser.CompanyId)) { permissionFromDB = permissionsRep.GetEntity(model.Basket.Id); //TODO: Error gets ALL pemissions from DB existingPermissionAllocations = permissionsAllocationsRep.GetList().Where(x => x.BasketId == permissionFromDB.Id).Select(y => y.Budgets_Allocations).ToList(); existingPermissionToAllocations = permissionsAllocationsRep.GetList().Where(x => x.BasketId == permissionFromDB.Id).ToList(); if (permissionFromDB == null) { return(Error(Loc.Dic.error_database_error)); } if (permissionFromDB.CompanyId != CurrentUser.CompanyId) { return(Error(Loc.Dic.error_no_permission)); } Budget budgetFromDB = budgetsRep.GetEntity(model.BudgetAllocations.Budget.Id); if (budgetFromDB == null) { return(Error(Loc.Dic.error_database_error)); } if (budgetFromDB.CompanyId != CurrentUser.CompanyId) { return(Error(Loc.Dic.error_no_permission)); } foreach (var allocation in model.BudgetAllocations.PermissionAllocations) { if (allocation.IsActive) { if (!existingPermissionAllocations.Any(x => x.Id == allocation.Allocation.BudgetsAllocationId)) { allocation.Allocation.BudgetId = budgetFromDB.Id; allocation.Allocation.BasketId = permissionFromDB.Id; if (!permissionsAllocationsRep.Create(allocation.Allocation)) { return(Error(Loc.Dic.error_database_error)); } } } else { if (existingPermissionAllocations.Any(x => x.Id == allocation.Allocation.BudgetsAllocationId)) { permissionsAllocationsRep.Delete(allocation.Allocation.Id); } } } return(RedirectToAction("BudgetBaskets", new { id = budgetFromDB.Id })); } }
public ActionResult DeleteConfirmed(int id) { return(Error(Loc.Dic.Error_NoPermission)); if (Authorized(RoleType.SystemManager)) { Budgets_Incomes income; using (BudgetsIncomesRepository incomesRep = new BudgetsIncomesRepository()) using (OrdersRepository ordersRep = new OrdersRepository(CurrentUser.CompanyId)) using (AllocationRepository allocationsRep = new AllocationRepository(CurrentUser.CompanyId)) using (BasketsToAllocationsRepository permissionAllocationsRep = new BasketsToAllocationsRepository()) { income = incomesRep.GetEntity(id, "Budget", "Budgets_Incomes_types", "Budgets_Incomes_Institutions"); if (income != null) { if (income.CompanyId == CurrentUser.CompanyId) { List <Budgets_Allocations> incomeAllocations; List <Budgets_BasketsToAllocation> incomePermissions; List <Order> incomeOrders = ordersRep.GetList().Where(x => x.CompanyId == income.Id).ToList(); //List<Order> incomeOrders = ordersRep.GetList().Where(x => x.Budgets_Allocations.IncomeId == income.Id).ToList(); if (!incomeOrders.Any(o => o.StatusId >= (int)StatusType.ApprovedPendingInvoice)) { try { incomeAllocations = allocationsRep.GetList().Where(x => x.IncomeId == income.Id).ToList(); incomePermissions = permissionAllocationsRep.GetList().Where(x => x.Budgets_Allocations.IncomeId == income.Id).ToList(); foreach (var item in incomeOrders) { ordersRep.Delete(item.Id); } foreach (var item in incomePermissions) { permissionAllocationsRep.Delete(item.Id); } foreach (var item in incomeAllocations) { allocationsRep.Delete(item.Id); } incomesRep.Delete(income.Id); } catch { return(Error(Loc.Dic.error_database_error)); } return(RedirectToAction("Index")); } else { return(Error(Loc.Dic.error_income_delete_has_approved_orders)); } } else { return(Error(Loc.Dic.error_no_permission)); } } else { return(Error(Loc.Dic.error_income_get_error)); } } } else { return(Error(Loc.Dic.error_no_permission)); } }
public ActionResult DeleteConfirmed(int id) { return Error(Loc.Dic.Error_NoPermission); if (Authorized(RoleType.SystemManager)) { Budgets_Expenses expense; using (BudgetsExpensesRepository expensesRep = new BudgetsExpensesRepository()) using (OrdersRepository ordersRep = new OrdersRepository(CurrentUser.CompanyId)) using (AllocationRepository allocationsRep = new AllocationRepository(CurrentUser.CompanyId)) using (BasketsToAllocationsRepository permissionAllocationsRep = new BasketsToAllocationsRepository()) { expense = expensesRep.GetEntity(id, "Budget", "Budgets_Incomes_types", "Budgets_Incomes_Institutions"); if (expense != null) { if (expense.CompanyId == CurrentUser.CompanyId) { List<Budgets_Allocations> expenseAllocations; List<Budgets_BasketsToAllocation> expensePermissions; List<Order> expenseOrders = ordersRep.GetList().Where(x => x.CompanyId == expense.Id).ToList(); //List<Order> expenseOrders = ordersRep.GetList().Where(x => x.Budgets_Allocations.ExpenseId == expense.Id).ToList(); if (!expenseOrders.Any(o => o.StatusId >= (int)StatusType.ApprovedPendingInvoice)) { try { expenseAllocations = allocationsRep.GetList().Where(x => x.ExpenseId == expense.Id).ToList(); expensePermissions = permissionAllocationsRep.GetList().Where(x => x.Budgets_Allocations.ExpenseId == expense.Id).ToList(); foreach (var item in expenseOrders) { ordersRep.Delete(item.Id); } foreach (var item in expensePermissions) { permissionAllocationsRep.Delete(item.Id); } foreach (var item in expenseAllocations) { allocationsRep.Delete(item.Id); } expensesRep.Delete(expense.Id); } catch { return Error(Loc.Dic.error_database_error); } return RedirectToAction("Index"); } else { return Error(Loc.Dic.error_expenses_delete_has_approved_orders); } } else { return Error(Loc.Dic.error_no_permission); } } else { return Error(Loc.Dic.error_expenses_get_error); } } } else { return Error(Loc.Dic.error_no_permission); } }
public ActionResult EditAllocations(PermissionAllocationsModel model) { if (!Authorized(RoleType.SystemManager)) return Error(Loc.Dic.error_no_permission); Budgets_Baskets permissionFromDB; List<Budgets_Allocations> existingPermissionAllocations; List<Budgets_BasketsToAllocation> existingPermissionToAllocations; using (BudgetsRepository budgetsRep = new BudgetsRepository(CurrentUser.CompanyId)) using (BudgetsPermissionsRepository permissionsRep = new BudgetsPermissionsRepository()) using (BasketsToAllocationsRepository permissionsAllocationsRep = new BasketsToAllocationsRepository()) using (AllocationRepository allocationsRep = new AllocationRepository(CurrentUser.CompanyId)) { permissionFromDB = permissionsRep.GetEntity(model.Basket.Id); //TODO: Error gets ALL pemissions from DB existingPermissionAllocations = permissionsAllocationsRep.GetList().Where(x => x.BasketId == permissionFromDB.Id).Select(y => y.Budgets_Allocations).ToList(); existingPermissionToAllocations = permissionsAllocationsRep.GetList().Where(x => x.BasketId == permissionFromDB.Id).ToList(); if (permissionFromDB == null) return Error(Loc.Dic.error_database_error); if (permissionFromDB.CompanyId != CurrentUser.CompanyId) return Error(Loc.Dic.error_no_permission); Budget budgetFromDB = budgetsRep.GetEntity(model.BudgetAllocations.Budget.Id); if (budgetFromDB == null) return Error(Loc.Dic.error_database_error); if (budgetFromDB.CompanyId != CurrentUser.CompanyId) return Error(Loc.Dic.error_no_permission); foreach (var allocation in model.BudgetAllocations.PermissionAllocations) { if (allocation.IsActive) { if (!existingPermissionAllocations.Any(x => x.Id == allocation.Allocation.BudgetsAllocationId)) { allocation.Allocation.BudgetId = budgetFromDB.Id; allocation.Allocation.BasketId = permissionFromDB.Id; if(!permissionsAllocationsRep.Create(allocation.Allocation)) return Error(Loc.Dic.error_database_error); } } else { if (existingPermissionAllocations.Any(x => x.Id == allocation.Allocation.BudgetsAllocationId)) { permissionsAllocationsRep.Delete(allocation.Allocation.Id); } } } return RedirectToAction("BudgetBaskets", new { id = budgetFromDB.Id }); } }
public ActionResult EditAllocations(int id = 0, int budgetId = 0) { if (!Authorized(RoleType.SystemManager)) return Error(Loc.Dic.error_no_permission); PermissionAllocationsModel model = new PermissionAllocationsModel(); Budget budget; using (BudgetsRepository budgetsRep = new BudgetsRepository(CurrentUser.CompanyId)) using (BudgetsPermissionsRepository permissionsRep = new BudgetsPermissionsRepository()) using (BasketsToAllocationsRepository permissionsAllocationsRep = new BasketsToAllocationsRepository()) { model.Basket = permissionsRep.GetEntity(id); if (model.Basket == null) return Error(Loc.Dic.error_permissions_get_error); if (model.Basket.CompanyId != CurrentUser.CompanyId) return Error(Loc.Dic.error_no_permission); budget = budgetsRep.GetEntity(budgetId); if (budget == null) return Error(Loc.Dic.error_database_error); List<PermissionAllocation> permissionsToAllocations = permissionsAllocationsRep.GetList("Budgets_Allocations", "Budgets_Allocations.Budgets_Incomes", "Budgets_Allocations.Budgets_Expenses") .Where(x => x.BudgetId == budget.Id && x.BasketId == model.Basket.Id) .AsEnumerable() .Select(alloc => new PermissionAllocation() { IsActive = true, Allocation = alloc }) .ToList(); model.BudgetAllocations = new BudgetAllocations() { Budget = budget, AllocationsList = budget.Budgets_Allocations.OrderBy(x=>x.SortingCode).ToList(), PermissionAllocations = permissionsToAllocations }; return View(model); } }
public ActionResult PermissionAllocationList(int permissionId, int budgetId) { using (BasketsToAllocationsRepository perAlloRep = new BasketsToAllocationsRepository()) { List<Budgets_BasketsToAllocation> perAlloList = perAlloRep.GetList("Budgets_Allocations").Where(x => x.BudgetId == budgetId).Where(x => x.BasketId == permissionId).ToList(); ViewBag.budgetYear = perAlloList[0].Budget.Year; ViewBag.PermissionName = perAlloList[0].Budgets_Baskets.Name; ViewBag.BasketId = permissionId; ViewBag.BudgetId = budgetId; return View(perAlloList); } }