private void SetProperties(v_site site, bool loadChildren) { SiteId = site.site_id; SiteName = site.name; CountryId = site.country_id ?? 0; CountryName = site.country_name; SiteTypeFieldId = site.site_type_fieldid; SiteTypeValue = site.site_type_value; AdministrativeDivisionId1 = site.administrative_division_id_1; AdministrativeDivisionName1 = site.administrative_division_name_1; AdministrativeDivisionType1 = site.administrative_division_type_1; AdministrativeDivisionId2 = site.administrative_division_id_2; AdministrativeDivisionName2 = site.administrative_division_name_2; AdministrativeDivisionType2 = site.administrative_division_type_2; AdministrativeDivisionId3 = site.administrative_division_id_3; AdministrativeDivisionName3 = site.administrative_division_name_3; AdministrativeDivisionType3 = site.administrative_division_type_3; AdministrativeDivisionId4 = site.administrative_division_id_4; AdministrativeDivisionName4 = site.administrative_division_name_4; AdministrativeDivisionType4 = site.administrative_division_type_4; FundingTypeFieldId = site.funding_type_fieldid; FundingTypeValue = site.funding_type_value; Partner = site.partner; Longitude = site.longitude; Latitude = site.latitude; QIIndexScoreFieldId = site.qi_index_score_fieldid; QIIndexScoreValue = site.qi_index_score_value; PopulationDensityFieldId = site.rural_urban_fieldid; PopulationDensityValue = site.rural_urban_value; OtherKeyInformation = site.other_key_information; Active = site.active; if (loadChildren) { using (Entity context = new Entity()) { IsFavorite = context.t_user.Find(Identity.CurrentUser.Id).favorite_sites?.Select(e => e.site_id).Contains(site.site_id) ?? false; t_site t_site = context.t_site.Find(site.site_id); ICollection <t_note> notes = t_site.notes; Notes = notes.Select(e => new Note(e)).ToArray(); ICollection <t_activity> activities = t_site .activities .Select(e => e.activity) .Where(e => (e.active.HasValue && e.active.Value) || (e.createdby_userid == Identity.CurrentUser.Id) || (Identity.CurrentUser.IsInRole(Role.SystemAdministrator))) .ToArray(); Activities = activities.Select(e => new Activity(e)).ToArray(); } } }
public User(int userId) { using (Entity db = new Entity()) { byte languageId = IidCulture.CurrentLanguageId; t_user user = db.t_user.Find(userId); if (user == null) { throw new ArgumentException("Invalid userId: " + UserId); } v_user[] roles = db.v_user.Where(e => e.user_id == user.user_id).ToArray(); v_site site = null; if (user.site_id.HasValue) { site = db.v_site.Find(user.site_id.Value); } UserId = user.user_id; OrganizationId = user.organization_id; Email = user.email; UserStatusId = user.user_status_id; SiteId = user.site_id; SiteName = site?.get_name_translated(languageId); FirstName = user.first_name; LastName = user.last_name; FullName = user.first_name + " " + user.last_name + " (" + user.email + ")"; Phone = user.phone; Title = user.title; LastLogin = user.last_login_activity; CreatedByUserId = user.createdby_userid; CreatedDate = user.created_date; UpdatedDate = user.updated_date; UpdatedByUserId = user.updatedby_userid; UserRoleFieldIds = roles.Select(e => e.user_role_fieldid).ToArray(); UserRoleValues = roles.Select(e => e.user_role_fieldid_value).ToArray(); Active = user.active; var userAccess = db.v_user_access.Where(e => e.user_id == userId); AssignedActivities = userAccess.Where(e => e.access_level_type == "Activity").OrderBy(e => e.activity_name).ToArray(); AssignedCountries = userAccess.Where(e => e.access_level_type == "Country").OrderBy(e => e.country).ToArray(); AssignedRegions = userAccess.Where(e => e.access_level_type == "Regional").OrderBy(e => e.access_level_name).ToArray(); AssignedSites = userAccess.Where(e => e.access_level_type == "Site").OrderBy(e => e.site_name).ToArray(); // Get all active sites. If the user is assigned to an inactive site, include it, too! int inactiveSiteId = (site != null && site.active == false) ? site.site_id : 0; Expression <Func <v_site, bool> > predicate = e => e.active == true || e.site_id == inactiveSiteId; AllSites = SelectLists.GetSites(predicate, true); } }
public Site(int siteId) { using (Entity context = new Entity()) { v_site site = context.v_site.Where(e => e.site_id == siteId).FirstOrDefault(); if (site == null) { throw new ArgumentException("Invalid siteId: " + siteId); } SetProperties(site, true); } }
public Site(v_site site) { SetProperties(site, false); }