public static List <ProfileViewModel> GetCitizens(HttpCookie cookie) { using (var db = new CrmSystemEntities()) { try { int languageId = (int)GeneralEnums.LanguageEnum.Arabic; if (cookie != null) { var languageName = CultureHelper.GetCultureName(cookie); languageId = CultureHelper.MapLanguage(languageName); } var employees = db.AspNetUserRoles.Where(r => r.AspNetRole.Name == Constants.Roles.Citizen) .Select(r => r.AspNetUser.UserName).ToList(); var profiles = db.UserProfiles.Where(r => employees.Contains(r.Username) && r.UserProfileTranslations.Any(x => x.LanguageId == languageId) && r.Status == (int)GeneralEnums.StatusEnum.Active) .SelectMany(r => r.UserProfileTranslations.Where(x => x.LanguageId == languageId)).ToList().Select(x => new ProfileViewModel() { Id = x.UserProfileId, LanguageId = x.LanguageId, IdNumber = x.UserProfile.IdNumber, PhoneNumber = x.UserProfile.PhoneNumber, GenderLookupId = x.UserProfile.GenderLookupId, MartialStatusLookupId = x.UserProfile.MartialStatusLookupId, FullName = x.FullName, Address = x.Address, Mobile = x.UserProfile.Mobile, Email = x.UserProfile.Username, Fax = x.UserProfile.Fax, BirthDay = x.UserProfile.Birthday, Status = x.UserProfile.Status, CityId = x.UserProfile.CityId, ProvinceId = x.UserProfile.ProvinceId, RegionId = x.UserProfile.RegionId, LastLogin = x.UserProfile.LastLogin, ManagerId = x.UserProfile.ManagerId, ManagerName = x.UserProfile?.ManagerId != null ? LanguageFallbackHelper.GetUserProfile((int)x.UserProfile.ManagerId, languageId)?.FullName : string.Empty, Department = x.UserProfile.DepartmentId, DepartmentName = x.UserProfile?.DepartmentId != null ? LanguageFallbackHelper.GetDepartment((int)x.UserProfile.DepartmentId, languageId)?.Name : string.Empty, PrefferdLanguage = x.UserProfile.PreferedLanguageId }).ToList(); if (!profiles.Any()) { profiles = LanguageFallbackHelper.GetDefaultEmployeeProfiles(); } return(profiles); } catch (Exception ex) { LogHelper.LogException("", ex, "Error While Getting citizens profiles"); return(new List <ProfileViewModel>()); } } }
public static List <ProfileViewModel> GetDefaultUserProfiles() { using (var db = new CrmSystemEntities()) { try { var lookups = db.UserProfiles.Where(r => r.UserProfileTranslations.Any(x => x.IsDefault) && r.Status == (int)GeneralEnums.StatusEnum.Active) .SelectMany(r => r.UserProfileTranslations).ToList().Select(x => new ProfileViewModel() { Id = x.UserProfileId, LanguageId = x.LanguageId, IdNumber = x.UserProfile.IdNumber, PhoneNumber = x.UserProfile.PhoneNumber, GenderLookupId = x.UserProfile.GenderLookupId, MartialStatusLookupId = x.UserProfile.MartialStatusLookupId, FullName = x.FullName, Address = x.Address, Mobile = x.UserProfile.Mobile, Email = x.UserProfile.Username, Fax = x.UserProfile.Fax, BirthDay = x.UserProfile.Birthday, Status = x.UserProfile.Status, CityId = x.UserProfile.CityId, ProvinceId = x.UserProfile.ProvinceId, RegionId = x.UserProfile.RegionId, LastLogin = x.UserProfile.LastLogin, ManagerId = x.UserProfile.ManagerId, ManagerName = x.UserProfile?.ManagerId != null ? LanguageFallbackHelper.GetUserProfile((int)x.UserProfile.ManagerId, CultureHelper.GetDefaultLanguageId())?.FullName : string.Empty, Department = x.UserProfile.DepartmentId, DepartmentName = x.UserProfile?.DepartmentId != null ? LanguageFallbackHelper.GetDepartment((int)x.UserProfile.DepartmentId, CultureHelper.GetDefaultLanguageId())?.Name : string.Empty, PrefferdLanguage = x.UserProfile.PreferedLanguageId }).ToList(); return(lookups); } catch (Exception ex) { LogHelper.LogException("", ex, "Error While Getting Default User profiles"); return(new List <ProfileViewModel>()); } } }