public void AppsFilterTest() { User user = new User() { Id = 1, AgencyId = 1, RoleId = (int)FixedRoles.AgencyUser }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Func <App, bool> AppsFilter = target.AppsFilter.Compile(); App a = new App() { AgencyGroup = new AgencyGroup() { Agencies = new List <Agency>() { new Agency() { Id = 0 } } } }; Assert.IsFalse(AppsFilter(a)); a.AgencyGroup.Agencies.Add(new Agency() { Id = 1 }); Assert.IsTrue(AppsFilter(a)); }
public void ClientsFilterTest() { User user = new User() { Id = 1, AgencyId = 1, RoleId = (int)FixedRoles.Ser }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Func <Client, bool> ClientsFilter = target.ClientsFilter.Compile(); Client c = new Client() { Agency = new Agency() { AgencyGroup = new AgencyGroup() { Users = new List <User>() { new User() { Id = 0 } } } } }; Assert.IsFalse(ClientsFilter(c)); c.Agency.AgencyGroup.Users.Add(user); Assert.IsTrue(ClientsFilter(c)); }
public void AgencyFilterTest() { User user = new User() { Id = 1, AgencyId = 1, RoleId = (int)FixedRoles.RegionOfficer }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Func <Agency, bool> AgencyFilter = target.AgencyFilter.Compile(); Agency param = new Agency() { AgencyGroup = new AgencyGroup() { Country = new Country() { Region = new Region() { Users = new List <User>() { new User() { Id = 0 } } } } } }; Assert.IsFalse(AgencyFilter(param)); param.AgencyGroup.Country.Region.Users.Add(user); Assert.IsTrue(AgencyFilter(param)); }
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)); }
public void ClientReportsFilterTest() { User user = new User() { Id = 1, AgencyId = 1, RoleId = (int)FixedRoles.AgencyUser }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Func <ClientReport, bool> ClientReportsFilter = target.ClientReportsFilter.Compile(); ClientReport cr = new ClientReport() { Client = new Client() { AgencyId = 0 }, SubReport = new SubReport() { AppBudgetService = new AppBudgetService() { AgencyId = 1 } } }; Assert.IsFalse(ClientReportsFilter(cr)); cr.Client.AgencyId = 1; cr.SubReport.AppBudgetService.AgencyId = 0; Assert.IsFalse(ClientReportsFilter(cr)); cr.SubReport.AppBudgetService.AgencyId = 1; Assert.IsTrue(ClientReportsFilter(cr)); }
public override void Load(ccEntities db, IPermissionsBase permissions, int id) { base.Load(db, permissions, id); this.Comments = db.Comments.Where(f => f.MainReportInternalComments.Any(m => m.Id == id)).OrderByDescending(f => f.Date) .Select(f => new CommentViewModel() { Content = f.Content, UserName = f.User.UserName, Date = f.Date }).OrderByDescending(f => f.Date).ToList(); switch ((FixedRoles)this.User.RoleId) { case FixedRoles.Admin: case FixedRoles.RegionOfficer: case FixedRoles.GlobalOfficer: this.CanAddRemarks = true; break; default: this.CanAddRemarks = false; break; } }
public void SubReportsFilterTest() { User user = new User() { AgencyId = 1, RegionId = 1, RoleId = (int)FixedRoles.RegionOfficer }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Func <SubReport, bool> SubReportsFilter = target.SubReportsFilter.Compile(); SubReport param = new SubReport() { AppBudgetService = new AppBudgetService() { Agency = new Agency() { AgencyGroup = new AgencyGroup() { Country = new Country() { RegionId = 0 } } } } }; Assert.IsFalse(SubReportsFilter(param)); param.AppBudgetService.Agency.AgencyGroup.Country.RegionId = 1; Assert.IsTrue(SubReportsFilter(param)); }
public void MainReportsFilterTest() { User user = new User() { AgencyId = 1, RoleId = (int)FixedRoles.AgencyUser }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Func <MainReport, bool> MainReportsFilter = target.MainReportsFilter.Compile(); MainReport mr = new MainReport() { AppBudget = new AppBudget() { App = new App() { AgencyGroup = new AgencyGroup() { Agencies = new List <Agency>() { new Agency() { Id = 1 } } } } } }; Assert.IsTrue(MainReportsFilter(mr)); mr.AppBudget.App.AgencyGroup.Agencies.Clear(); // disallow another agencies mainreports Assert.IsFalse(MainReportsFilter(mr)); }
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 AgencyGroupsFilterTest() { User user = new User() { Id = 1, AgencyId = 1, RoleId = (int)FixedRoles.AgencyUser }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Func <AgencyGroup, bool> AgencyGroupsFilter = target.AgencyGroupsFilter.Compile(); AgencyGroup param = new AgencyGroup() { Agencies = new List <Agency>() { new Agency() { Users = new List <User>() { new User() { Id = 0 } } } } }; Assert.IsFalse(AgencyGroupsFilter(param)); param.Agencies.Add(new Agency() { Users = new List <User>() { user } }); Assert.IsTrue(AgencyGroupsFilter(param)); }
public override jQueryDataTableResult GetResult(ccEntities db, IPermissionsBase permissions) { var source = from c in db.Clients.Where(permissions.ClientsFilter) where c.Id == this.ClientId join cr in db.ViewClientReports on c.Id equals cr.ClientId join sr in db.SubReports.Where(permissions.SubReportsFilter) on cr.SubReportId equals sr.Id where sr.AppBudgetService.Service.TypeId != (int)Service.ServiceTypes.EmergencyAssistance where sr.AppBudgetService.Service.ReportingMethodId != (int)Service.ReportingMethods.Homecare && sr.AppBudgetService.Service.ReportingMethodId != (int)Service.ReportingMethods.HomecareWeekly let clientReportsCount = sr.ClientReports.Count() select new ostr { MrStart = sr.MainReport.Start, MrEnd = (DateTime)System.Data.Objects.EntityFunctions.AddDays(sr.MainReport.End, -1), Quantity = cr.Quantity, Amount = cr.TotalAmount, EstAmount = clientReportsCount == 0 ? (decimal?)null : sr.Amount / clientReportsCount, Cur = sr.AppBudgetService.AppBudget.App.CurrencyId, ServiceId = sr.AppBudgetService.ServiceId, ServiceName = sr.AppBudgetService.Service.Name, ServiceTypeName = sr.AppBudgetService.Service.ServiceType.Name, AppName = sr.AppBudgetService.AppBudget.App.Name, FundName = sr.AppBudgetService.AppBudget.App.Fund.Name, MasterFundName = sr.AppBudgetService.AppBudget.App.Fund.MasterFund.Name, SubReportId = sr.Id, MasterFundId = sr.AppBudgetService.AppBudget.App.Fund.MasterFundId }; var filtered = source; if (StartDate.HasValue) { filtered = filtered.Where(f => f.Date >= this.StartDate); } if (EndDate.HasValue) { filtered = filtered.Where(f => f.Date <= this.EndDate); } if (this.ServiceId.HasValue) { filtered = filtered.Where(f => f.ServiceId == this.ServiceId); } if (this.sSortCol_0 == "DateName") { this.sSortCol_0 = "Date"; } var sorted = filtered.OrderByField(this.sSortCol_0, this.sSortDir_0 == "asc"); var data = sorted.Skip(this.iDisplayStart).Take(this.iDisplayLength).ToList(); return(new jQueryDataTableResult { sEcho = this.sEcho, aaData = data, iTotalRecords = source.Count(), iTotalDisplayRecords = filtered.Count() }); }
public override jQueryDataTableResult GetResult(ccEntities db, IPermissionsBase permissions) { var source = from cr in db.EmergencyReports.Where(permissions.EmergencyReportsFilter) .Where(f => GGOnly ? f.SubReport.AppBudgetService.AppBudget.App.Fund.MasterFundId == 73 : true) where cr.ClientId == this.ClientId where cr.SubReport.AppBudgetService.Service.TypeId == (int)Service.ServiceTypes.EmergencyAssistance select new etr { Date = cr.ReportDate, Amount = cr.Amount, Discretionary = cr.Discretionary, Total = cr.Total, TypeId = cr.TypeId, TypeName = cr.EmergencyReportType.Name, PurposeOfGrant = cr.Remarks, Cur = cr.SubReport.AppBudgetService.AppBudget.App.CurrencyId, ServiceId = cr.SubReport.AppBudgetService.ServiceId, ServiceName = cr.SubReport.AppBudgetService.Service.Name, AppName = cr.SubReport.AppBudgetService.AppBudget.App.Name, FundName = cr.SubReport.AppBudgetService.AppBudget.App.Fund.Name, MasterFundName = cr.SubReport.AppBudgetService.AppBudget.App.Fund.MasterFund.Name, SubReportId = cr.SubReport.Id }; var filtered = source; if (StartDate.HasValue) { filtered = filtered.Where(f => f.Date >= this.StartDate); } if (EndDate.HasValue) { filtered = filtered.Where(f => f.Date <= this.EndDate); } if (this.ServiceId.HasValue) { filtered = filtered.Where(f => f.ServiceId == this.ServiceId); } if (this.TypeId.HasValue) { filtered = filtered.Where(f => f.TypeId == this.TypeId); } if (this.sSortCol_0 == "DateName") { this.sSortCol_0 = "Date"; } var sorted = filtered.OrderByField(this.sSortCol_0, this.sSortDir_0 == "asc"); var data = sorted.Skip(this.iDisplayStart).Take(this.iDisplayLength).ToList(); return(new jQueryDataTableResult { sEcho = this.sEcho, aaData = data, iTotalRecords = source.Count(), iTotalDisplayRecords = filtered.Count() }); }
public void CanUpdateExistingClientTest() { User user = new User() { Id = 1, AgencyId = 1, RoleId = (int)FixedRoles.AgencyUser }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Assert.IsTrue(target.CanUpdateExistingClient); }
public void CanViewCeefFieldsTest() { User user = new User() { Id = 1, AgencyId = 1, RoleId = (int)FixedRoles.RegionOfficer }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Assert.IsTrue(target.CanEditCeefFields); }
public void CanSeeProgramFieldTest() { User user = new User() { Id = 1, AgencyId = 1, RoleId = (int)FixedRoles.RegionOfficer }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Assert.IsTrue(target.CanSeeProgramField); }
public void PermissionsFactory_RegionOfficerPremissionsConstructorTest() { User user = new User() { Id = 1, AgencyId = 1, RoleId = (int)FixedRoles.RegionOfficer }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Assert.IsTrue(true); }
public void CanChangeGfHoursTest() { User user = new User() { Id = 1, AgencyId = 1, RoleId = (int)FixedRoles.Admin }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Assert.IsTrue(target.CanChangeGfHours); }
public void CanDeleteHcePeriodTest() { User user = new User() { Id = 1, AgencyId = 1, RoleId = (int)FixedRoles.Admin }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Assert.IsTrue(target.CanDeleteHcePeriod); }
public void AppBudgetServicesFilterTest() { User user = new User() { Id = 1, AgencyId = 1, RegionId = 1, RoleId = (int)FixedRoles.GlobalOfficer }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Func <AppBudgetService, bool> AppBudgetServicesFilter = target.AppBudgetServicesFilter.Compile(); Assert.IsTrue(AppBudgetServicesFilter(null)); }
public void ClientsFilterTest() { User user = new User() { Id = 1, AgencyId = 1, RoleId = (int)FixedRoles.GlobalOfficer }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Func <Client, bool> ClientsFilter = target.ClientsFilter.Compile(); Assert.IsTrue(ClientsFilter(null)); }
public void SubReportsFilterTest() { User user = new User() { AgencyId = 1, RegionId = 1, RoleId = (int)FixedRoles.GlobalOfficer }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Func <SubReport, bool> SubReportsFilter = target.SubReportsFilter.Compile(); Assert.IsTrue(SubReportsFilter(null)); }
public void AgencyFilterTest() { User user = new User() { Id = 1, AgencyId = 1, RoleId = (int)FixedRoles.Admin }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Func <Agency, bool> AgencyFilter = target.AgencyFilter.Compile(); Assert.IsTrue(AgencyFilter(null)); }
public virtual void Load(ccEntities db, IPermissionsBase permissions, int id) { this.Id = id; this.MainReport = db.MainReports.Where(permissions.MainReportsFilter).Single(f => f.Id == this.Id); this.AgenencyGroupName = MainReport.AppBudget.App.AgencyGroup.DisplayName; this.Start = MainReport.Start; this.End = MainReport.End; this.Period = new Range <DateTime>() { Start = MainReport.Start, End = MainReport.End }; }
public override void Load(ccEntities db, IPermissionsBase permissions, int id) { base.Load(db, permissions, id); this.Comments = db.Comments.Where(f => f.MainReportPostApprovalComments.Any(m => m.Id == id)).OrderByDescending(f => f.Date) .Select(f => new CommentViewModel() { Id = f.Id, IsFile = f.IsFile, Content = f.Content, UserName = f.User.UserName, Date = f.Date }).OrderByDescending(f => f.Date).ToList(); }
public void AppBudgetServicesFilterTest() { User user = new User() { Id = 1, AgencyId = 1, RoleId = (int)FixedRoles.AgencyUser }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Func <AppBudgetService, bool> AppBudgetServicesFilter = target.AppBudgetServicesFilter.Compile(); AppBudgetService s = new AppBudgetService() { AgencyId = 0 }; Assert.IsFalse(AppBudgetServicesFilter(s)); s.AgencyId = 1; Assert.IsTrue(AppBudgetServicesFilter(s)); }
public void PermissionsFactory_AdminPermissionsConstructorTest() { User user = new User() { Id = 1, AgencyId = 1, RoleId = (int)FixedRoles.Admin }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Func <Agency, bool> AgencyFilter = target.AgencyFilter.Compile(); Assert.IsTrue(AgencyFilter(null)); Func <Client, bool> ClientsFilter = target.ClientsFilter.Compile(); Assert.IsTrue(ClientsFilter(null)); Func <AgencyGroup, bool> AgencyGroupsFilter = target.AgencyGroupsFilter.Compile(); Assert.IsTrue(AgencyGroupsFilter(null)); }
public void AppsFilterTest() { User user = new User() { Id = 1, AgencyId = 1, AgencyGroupId = 1, RoleId = (int)FixedRoles.Ser }; IPermissionsBase target = PermissionsFactory.GetPermissionsFor(user); Func <App, bool> AppsFilter = target.AppsFilter.Compile(); App a = new App() { AgencyGroupId = 90 }; Assert.IsFalse(AppsFilter(a)); a.AgencyGroupId = 1; Assert.IsTrue(AppsFilter(a)); }
public override void Load(ccEntities db, IPermissionsBase permissions, int id) { base.Load(db, permissions, id); List <CommentViewModel> commentsList = db.Comments.Where(f => f.MainReportAgencyComments.Any(m => m.Id == id)).OrderByDescending(f => f.Date) .Select(f => new CommentViewModel() { Content = f.Content, UserName = f.User.UserName, Date = f.Date, IsFile = f.IsFile }).ToList(); if ((FixedRoles)this.User.RoleId == FixedRoles.BMF) { for (var i = 0; i < commentsList.Count; i++) { if (commentsList[i].Content.Contains("Minutes") || commentsList[i].Content.Contains("Program Overview")) { commentsList.Remove(commentsList[i]); i--; } } } this.Comments = commentsList; switch ((FixedRoles)this.User.RoleId) { case FixedRoles.Admin: this.CanAddRemarks = true; break; case FixedRoles.AgencyUser: case FixedRoles.Ser: case FixedRoles.AgencyUserAndReviewer: case FixedRoles.SerAndReviewer: this.CanAddRemarks = MainReport.EditableStatuses.Contains(this.MainReport.Status); break; default: this.CanAddRemarks = false; break; } }
public override void LoadData(ccEntities db, IPermissionsBase permissions) { var services = (from c in db.Clients where c.Id == ClientId from a in db.Services where a.TypeId == (int)Service.ServiceTypes.EmergencyAssistance select new { id = a.Id, name = a.Name }); this.ServicesSelectList = new System.Web.Mvc.SelectList(services, "id", "name"); var types = db.EmergencyReportTypes.OrderBy(f => f.Name).Select(f => new { Id = f.Id, Name = f.Name }); this.EmergencyTypesSelectList = new System.Web.Mvc.SelectList(types, "Id", "Name"); }
public virtual void LoadData(ccEntities db, IPermissionsBase permissions) { var services = (from c in db.Clients where c.Id == ClientId from a in c.Agency.AppBudgetServices where a.Service.ReportingMethodId == (int)Service.ReportingMethods.Homecare || a.Service.ReportingMethodId == (int)Service.ReportingMethods.HomecareWeekly group a by new { id = a.Service.Id, name = a.Service.Name } into ag orderby ag.Key.name select ag.Key); this.ServicesSelectList = new System.Web.Mvc.SelectList(services, "id", "name"); }