public ActionResult Create(ApprovalRouteModel model) { if (!Authorized(RoleType.SystemManager)) return Error(Loc.Dic.error_no_permission); Users_ApprovalRoutes newApprovalRoute = new Users_ApprovalRoutes(); newApprovalRoute.Name = model.Name; using (ApprovalRoutesRepository routesRep = new ApprovalRoutesRepository(CurrentUser.CompanyId)) using (UsersRepository usersRep = new UsersRepository(CurrentUser.CompanyId)) { var usersIds = model.Steps.Select(x => x.UserId).Distinct(); List<User> routeApprovers = usersRep.GetList().Where(x => usersIds.Contains(x.Id)).ToList(); if(usersIds.Count() != routeApprovers.Count) return Error(Loc.Dic.error_invalid_form); foreach (var approver in routeApprovers) { if (!Roles.HasRole(approver.Roles, RoleType.OrdersApprover)) return Error(Loc.Dic.error_invalid_form); } foreach (var step in model.Steps) { newApprovalRoute.Users_ApprovalStep.Add( new Users_ApprovalStep() { UserId = step.UserId, StepNumber = step.StepNumber } ); } if (!routesRep.Create(newApprovalRoute)) return Error(Loc.Dic.error_database_error); } return RedirectToAction("Index"); }
/// <summary> /// Create a new Users_ApprovalRoutes object. /// </summary> /// <param name="id">Initial value of the Id property.</param> /// <param name="name">Initial value of the Name property.</param> /// <param name="companyId">Initial value of the CompanyId property.</param> public static Users_ApprovalRoutes CreateUsers_ApprovalRoutes(global::System.Int32 id, global::System.String name, global::System.Int32 companyId) { Users_ApprovalRoutes users_ApprovalRoutes = new Users_ApprovalRoutes(); users_ApprovalRoutes.Id = id; users_ApprovalRoutes.Name = name; users_ApprovalRoutes.CompanyId = companyId; return users_ApprovalRoutes; }
/// <summary> /// Deprecated Method for adding a new object to the Users_ApprovalRoutes EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToUsers_ApprovalRoutes(Users_ApprovalRoutes users_ApprovalRoutes) { base.AddObject("Users_ApprovalRoutes", users_ApprovalRoutes); }
public ActionResult PartialDetails(Users_ApprovalRoutes route) { return PartialView(route); }