public void AppBudgetsFilterTest() { User user = new User() { Id = 1, AgencyId = 1, RoleId = (int)FixedRoles.Ser }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Func <AppBudget, bool> AppBudgetsFilter = target.AppBudgetsFilter.Compile(); AppBudget ab = new AppBudget() { App = new App() { AgencyGroup = new AgencyGroup() { Users = new List <User>() { new User() { Id = 0 } } } } }; Assert.IsFalse(AppBudgetsFilter(ab)); ab.App.AgencyGroup.Users.Add(user); Assert.IsTrue(AppBudgetsFilter(ab)); }
public void AppBudgetsFilterTest() { User user = new User() { Id = 1, AgencyId = 1, RegionId = 1, RoleId = (int)FixedRoles.RegionOfficer }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Func <AppBudget, bool> AppBudgetsFilter = target.AppBudgetsFilter.Compile(); AppBudget param = new AppBudget() { App = new App() { AgencyGroup = new AgencyGroup() { Country = new Country() { RegionId = 0 } } } }; Assert.IsFalse(AppBudgetsFilter(param)); param.App.AgencyGroup.Country.RegionId = 1; Assert.IsTrue(AppBudgetsFilter(param)); }
internal static void AddRecipeintsForAppBudgetRpoApproval(MailMessage msg, AppBudget appBudget) { using (var db = new ccEntities()) { var rps = from b in db.AppBudgets where b.Id == appBudget.Id from u in b.App.AgencyGroup.PoUsers where (u.RoleId == (int)FixedRoles.RegionOfficer || u.RoleId == (int)FixedRoles.RegionReadOnly) && !u.Disabled select new { DisplayName = (u.FirstName + " " + u.LastName), u.Email, u.AddToBcc }; foreach (var user in rps) { if (!user.AddToBcc) { msg.CC.TryAdd(user.Email, user.DisplayName); } else { msg.Bcc.TryAdd(user.Email, user.DisplayName); } } var gpos = from u in db.Users where (u.RoleId == (int)FixedRoles.GlobalOfficer || u.RoleId == (int)FixedRoles.GlobalReadOnly || u.RoleId == (int)FixedRoles.AuditorReadOnly) && !u.Disabled select new { DisplayName = (u.FirstName + " " + u.LastName), u.Email, u.AddToBcc }; foreach (var user in gpos) { if (!user.AddToBcc) { msg.To.TryAdd(user.Email, user.DisplayName); } else { msg.Bcc.TryAdd(user.Email, user.DisplayName); } } } }