예제 #1
0
        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>());
                }
            }
        }
예제 #2
0
        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>());
                }
            }
        }