private void InitializeAgencyFilter(dtoUsersByMessageFilter filter, ModuleObject obj, long idDefaultAgency = 0) { Boolean hasAgencies = false; Dictionary <long, String> agencies = null; long idCall = (obj == null)? (long)0 : obj.ObjectLongID; switch (filter.Access) { case AccessTypeFilter.NoSubmitters: hasAgencies = Service.HasAssignmentWithProfileType(idCall, (int)UserTypeStandard.Employee); if (hasAgencies) { agencies = Service.GetAgenciesForAssignments(idCall); } break; case AccessTypeFilter.Submitters: hasAgencies = Service.HasSubmissionsWithProfileType(idCall, (int)UserTypeStandard.Employee); if (hasAgencies) { agencies = Service.GetAgenciesForSubmitters(idCall); } break; } if (hasAgencies && agencies != null && agencies.Count > 0) { View.LoadAgencies(agencies, idDefaultAgency); LoadColumns(filter.Access, true); } else { View.UnLoadAgencies(); LoadColumns(filter.Access, false); } }
private void InitializeUserStatusFilter(dtoUsersByMessageFilter filter, UserTypeFilter userType, ModuleObject obj) { List <UserStatus> items = Service.GetAvailableUserStatus(obj.ObjectLongID, userType, View.RemoveUsers); filter.UserStatus = (!items.Any() ? UserStatus.All : (items.Contains(UserStatus.Unlocked) ? UserStatus.Unlocked : items[0])); View.LoadAvailableUserStatus(items, filter.UserStatus); }
public void ChangeUserStatusFilter(UserStatus status) { dtoUsersByMessageFilter filter = View.CurrentFilter; ModuleObject obj = View.CurrentObject; if (obj != null) { if (filter.IdProfileType >= 0 && filter.IdProfileType != (int)UserTypeStandard.Employee) { View.UnLoadAgencies(); } else { InitializeAgencyFilter(filter, obj, View.SelectedIdAgency); } InitializeMailStatusFilter(filter, filter.UserType, status, obj); if (filter.UserType == UserTypeFilter.None || (filter.UserType == UserTypeFilter.All && (filter.UserStatus == UserStatus.All || filter.UserStatus == UserStatus.NotSubscribed))) { LoadCommunityFilters(obj.ObjectLongID, filter); } else { View.HideCommunityFilters(); } } }
private void InitializeUserTypeStatusFilter(dtoUsersByMessageFilter filter, ModuleObject obj) { List <UserTypeFilter> items = Service.GetAvailableUserTypes(obj, View.RemoveUsers, MessageService); filter.UserType = (!items.Any() ? UserTypeFilter.All : (items.Contains(UserTypeFilter.WithoutMembers) ? UserTypeFilter.WithoutMembers : items[0])); View.LoadAvailableUserType(items, filter.UserType); }
private void InitializeMailStatusFilter(dtoUsersByMessageFilter filter, UserTypeFilter userType, UserStatus status, ModuleObject obj) { List <MailStatus> items = Service.GetAvailableMailStatus(obj.ObjectLongID, userType, status, View.RemoveUsers); filter.MailStatus = (!items.Any() ? MailStatus.All : (items.Contains(MailStatus.Confirmed) ? MailStatus.Confirmed : items[0])); View.LoadAvailableStatus(items, filter.MailStatus); }
private dtoUsersByMessageFilter InitializeFilter(ModuleObject obj, List <lm.Comol.Core.TemplateMessages.Domain.dtoTemplateTranslation> translations = null) { List <AccessTypeFilter> accessTypes = new List <AccessTypeFilter>(); Boolean allowAvailableSubmitters = true; if (translations != null) { allowAvailableSubmitters = !TemplatePlaceHolders.HasUserValues(translations.Select(t => t.Translation.Subject).ToList(), translations.Select(t => t.Translation.Body).ToList()); } if (allowAvailableSubmitters) { accessTypes.Add(AccessTypeFilter.NoSubmitters); } if (Service.CallHasSubmissions(obj.ObjectLongID) || accessTypes.Count == 0) { accessTypes.Add(AccessTypeFilter.Submitters); } View.HasUserValues = !allowAvailableSubmitters; dtoUsersByMessageFilter filter = new dtoUsersByMessageFilter() { Ascending = true, OrderBy = UserByMessagesOrder.ByUser }; View.Ascending = true; View.CurrentOrderBy = UserByMessagesOrder.ByUser; filter.Access = ((allowAvailableSubmitters) ? AccessTypeFilter.NoSubmitters : (accessTypes.Contains(AccessTypeFilter.Submitters) ? AccessTypeFilter.Submitters : accessTypes[0])); View.LoadAccessType(accessTypes, filter.Access); return(filter); }
public void LoadItems(dtoUsersByMessageFilter filter, Int32 pageIndex, Int32 pageSize, Boolean initialize) { View.WasGridInitialized = true; List <dtoCallMessageRecipient> recipients = Service.GetAllUsers(View.UnknownUserTranslation, View.AnonymousUserTranslation, View.CurrentObject, View.RemoveUsers, filter, View.HasUserValues, MessageService, ProfileService); filter.StartWith = View.CurrentStartWith; if (initialize) { View.InitializeWordSelector(recipients.Select(r => r.FirstLetter).Distinct().ToList()); } else { View.InitializeWordSelector(recipients.Select(r => r.FirstLetter).Distinct().ToList(), filter.StartWith); } recipients = Service.GetUsers(ProfileService, recipients, filter); PagerBase pager = new PagerBase(); pager.PageSize = pageSize; //Me.View.CurrentPageSize pager.Count = (recipients.Count > 0) ? recipients.Count - 1 : 0; pager.PageIndex = pageIndex; // Me.View.CurrentPageIndex View.Pager = pager; View.SelectedItems = UpdateItemsSelection(); recipients = recipients.Skip(pageIndex * pageSize).Take(pageSize).ToList(); View.LoadedNoUsers = !recipients.Any(); if (recipients.Any()) { View.LoadUsers(recipients); } else { View.DisplayNoUsersFound(); } }
private void InitializeSearchFilter(dtoUsersByMessageFilter filter) { List <lm.Comol.Core.BaseModules.ProfileManagement.SearchProfilesBy> items = new List <Core.BaseModules.ProfileManagement.SearchProfilesBy>(); items.Add(Core.BaseModules.ProfileManagement.SearchProfilesBy.All); items.Add(Core.BaseModules.ProfileManagement.SearchProfilesBy.Contains); items.Add(Core.BaseModules.ProfileManagement.SearchProfilesBy.Surname); items.Add(Core.BaseModules.ProfileManagement.SearchProfilesBy.Name); items.Add(Core.BaseModules.ProfileManagement.SearchProfilesBy.Mail); View.LoadSearchProfilesBy(items, filter.SearchBy); }
public List <lm.Comol.Core.Mail.Messages.dtoBaseMessageRecipient> GetSelectedRecipients() { List <lm.Comol.Core.Mail.Messages.dtoBaseMessageRecipient> items = new List <lm.Comol.Core.Mail.Messages.dtoBaseMessageRecipient>(); List <lm.Comol.Core.Mail.Messages.dtoModuleRecipientItem> sItems = UpdateItemsSelection(); View.SelectedItems = sItems; dtoUsersByMessageFilter filter = View.CurrentFilter; filter.StartWith = View.CurrentStartWith; items = Service.GetSelectedUsers(View.CurrentObject, View.RemoveUsers, filter, View.SelectAll, sItems, MessageService, ProfileService); return(items); }
private void InitializeSubmittersFilter(dtoUsersByMessageFilter filter, ModuleObject obj) { List <SubmissionFilterStatus> statusList = Service.GetAvailableSubmissionStatusForPersonAssignments(obj.ObjectLongID, View.RemoveUsers); SubmissionFilterStatus dStatus = (!statusList.Any() || statusList.Count > 1) ? SubmissionFilterStatus.All : statusList[0]; filter.Status = dStatus; View.LoadAvailableStatus(statusList, dStatus); Dictionary <long, string> submitters = LoadSubmitters(obj.ObjectLongID); long idSubmitterType = (submitters != null && submitters.Keys.Count == 1) ? submitters.Keys.FirstOrDefault() : -1; filter.IdSubmitterType = idSubmitterType; View.LoadSubmittersType(submitters, idSubmitterType); InitializeAgencyFilter(filter, obj); }
public void ChangeAccessFilter(AccessTypeFilter access) { dtoUsersByMessageFilter filter = View.SelectedFilter; switch (access) { case AccessTypeFilter.NoSubmitters: InitializeAgencyFilter(filter, View.CurrentObject, View.SelectedIdAgency); View.IsInitializedForNoSubmitters = true; View.DisplayNoSubmittersFilter(); //LoadItems(filter, 0, View.UsersPageSize,false); break; case AccessTypeFilter.Submitters: UpdateFiltersForSubmitters(filter, View.CurrentObject, View.SelectedIdAgency); View.DisplaySubmittersFilter(); View.IsInitializedForSubmitters = true; break; } }
public void InitializeFilters(List <long> removeUsers, Boolean fromPortal, Int32 idCommunity, ModuleObject obj, long idTemplate, long idVersion, Boolean isTemplateCompliant, List <lm.Comol.Core.TemplateMessages.Domain.dtoTemplateTranslation> translations = null) { View.CurrentObject = obj; View.CurrentOrderBy = UserByMessagesOrder.BySurname; View.IdCommunityContainer = idCommunity; View.CodeModuleContainer = ModuleWebConferencing.UniqueCode; View.IdModuleContainer = Service.ServiceModuleID(); View.Ascending = true; dtoUsersByMessageFilter filter = InitializeFilter(obj, translations); if (MessageService.HasMessages(obj)) { View.InitializeMessagesSelector(fromPortal, idCommunity, ModuleWebConferencing.UniqueCode, CurrentManager.GetModuleID(ModuleWebConferencing.UniqueCode), obj); } View.CurrentFilter = filter; View.InitializeWordSelector(new List <String>()); LoadColumns(false, filter.UserStatus != UserStatus.All); View.DisplayNoUsersFound(); }
private void InitializeAgencyFilter(dtoUsersByMessageFilter filter, ModuleObject obj, long idDefaultAgency = 0) { Boolean hasAgencies = false; Dictionary <long, String> agencies = null; long idRoom = (obj == null) ? (long)0 : obj.ObjectLongID; hasAgencies = Service.HasUsersWithProfileType(idRoom, (int)UserTypeStandard.Employee, filter.UserType, filter.UserStatus); if (hasAgencies) { agencies = Service.GetAgenciesForUsers(idRoom, filter.UserType, filter.UserStatus); } View.IsAgencyColumnVisible = (hasAgencies && agencies != null && agencies.Count > 0); if (hasAgencies && agencies != null && agencies.Count > 0) { View.LoadAgencies(agencies, idDefaultAgency); } else { View.UnLoadAgencies(); } }
private void LoadCommunityFilters(long idRoom, dtoUsersByMessageFilter filter) { WbRoom room = Service.RoomGet(idRoom); if (room != null && room.SubCommunity != SubscriptionType.None) { filter.IdCommunity = room.CommunityId; filter.IdRole = -1; filter.IdProfileType = -1; View.LoadAvailableRoles(ProfileService.GetAvailableSubscriptionsIdRoles(room.CommunityId, new List <Int32>(), false), -1); } else if (room != null && room.SubSystem != SubscriptionType.None) { filter.IdRole = -1; filter.IdCommunity = room.CommunityId; View.LoadAvailableProfileType(ProfileService.GetAvailableProfileTypes(-1), -1); } else { View.HideCommunityFilters(); } }
public void InitializeFilters(CallForPaperType type, List <Int32> removeUsers, Boolean fromPortal, Int32 idCommunity, ModuleObject obj, long idTemplate, long idVersion, Boolean isTemplateCompliant, List <lm.Comol.Core.TemplateMessages.Domain.dtoTemplateTranslation> translations = null) { View.IdCommunityContainer = idCommunity; View.CodeModuleContainer = (type == CallForPaperType.CallForBids) ? ModuleCallForPaper.UniqueCode : ModuleRequestForMembership.UniqueCode; View.IdModuleContainer = (type == CallForPaperType.CallForBids) ? Service.ServiceModuleID() : CurrentManager.GetModuleID(ModuleRequestForMembership.UniqueCode); View.CurrentObject = obj; View.CurrentOrderBy = UserByMessagesOrder.ByUser; View.Ascending = true; dtoUsersByMessageFilter filter = InitializeFilter(obj, translations); View.InitializeMessagesSelector(fromPortal, idCommunity, (type == CallForPaperType.CallForBids) ? ModuleCallForPaper.UniqueCode : ModuleRequestForMembership.UniqueCode, (type == CallForPaperType.CallForBids) ? CurrentManager.GetModuleID(ModuleCallForPaper.UniqueCode) : CurrentManager.GetModuleID(ModuleRequestForMembership.UniqueCode), obj); switch (filter.Access) { case AccessTypeFilter.NoSubmitters: InitializeAgencyFilter(filter, obj); View.DisplayNoSubmittersFilter(); View.IsInitializedForNoSubmitters = true; break; case AccessTypeFilter.Submitters: InitializeSubmittersFilter(filter, obj); View.DisplaySubmittersFilter(); View.IsInitializedForSubmitters = true; break; } List <lm.Comol.Core.BaseModules.ProfileManagement.SearchProfilesBy> items = new List <Core.BaseModules.ProfileManagement.SearchProfilesBy>(); items.Add(Core.BaseModules.ProfileManagement.SearchProfilesBy.All); items.Add(Core.BaseModules.ProfileManagement.SearchProfilesBy.Contains); items.Add(Core.BaseModules.ProfileManagement.SearchProfilesBy.Surname); items.Add(Core.BaseModules.ProfileManagement.SearchProfilesBy.Name); items.Add(Core.BaseModules.ProfileManagement.SearchProfilesBy.Mail); View.LoadSearchProfilesBy(items, filter.SearchBy); View.CurrentFilter = filter; View.InitializeWordSelector(new List <String>()); View.DisplayNoUsersFound(); }
public void LoadItems(dtoUsersByMessageFilter filter, Int32 pageIndex, Int32 pageSize, Boolean initialize) { filter.StartWith = View.CurrentStartWith; List <dtoWebConferenceMessageRecipient> recipients = Service.GetAvailableUsersForMessages(View.UnknownUserTranslation, View.AnonymousUserTranslation, View.CurrentObject, View.RemoveUsers, filter, MessageService, ProfileService); if (initialize) { View.InitializeWordSelector(recipients.Select(r => r.FirstLetter).Distinct().ToList()); } else { View.InitializeWordSelector(recipients.Select(r => r.FirstLetter).Distinct().ToList(), filter.StartWith); } recipients = Service.GetUsersForMessages(ProfileService, recipients, filter, View.GetTranslatedProfileTypes, View.GetTranslatedRoles, true); PagerBase pager = new PagerBase(); pager.PageSize = pageSize; //Me.View.CurrentPageSize pager.Count = (recipients.Count > 0) ? recipients.Count - 1 : 0; pager.PageIndex = pageIndex; // Me.View.CurrentPageIndex View.Pager = pager; View.SelectedItems = UpdateItemsSelection(); recipients = recipients.Skip(pageIndex * pageSize).Take(pageSize).ToList(); LoadColumns(recipients.Where(r => r.MessageNumber > 0).Any(), filter.UserStatus != UserStatus.All, recipients.Where(r => r.IdAgency > 0).Any()); View.LoadedNoUsers = !recipients.Any(); if (recipients.Any()) { View.LoadUsers(recipients); } else { View.DisplayNoUsersFound(); } }
public void ChangeUserTypeFilter(UserTypeFilter userType) { dtoUsersByMessageFilter filter = View.CurrentFilter; ModuleObject obj = View.CurrentObject; if (obj != null) { List <UserStatus> items = Service.GetAvailableUserStatus(obj.ObjectLongID, userType, View.RemoveUsers); UserStatus dStatus = (!items.Any() ? UserStatus.All : ((items.Contains(View.CurrentUserStatus)) ? View.CurrentUserStatus : items[0])); View.LoadAvailableUserStatus(items, dStatus); filter.UserStatus = dStatus; InitializeAgencyFilter(filter, obj, View.SelectedIdAgency); InitializeMailStatusFilter(filter, filter.UserType, dStatus, obj); if (filter.UserType == UserTypeFilter.None || (filter.UserType == UserTypeFilter.All && (filter.UserStatus == UserStatus.All || filter.UserStatus == UserStatus.NotSubscribed))) { LoadCommunityFilters(obj.ObjectLongID, filter); } else { View.HideCommunityFilters(); } } }
private dtoUsersByMessageFilter InitializeFilter(ModuleObject obj, List <lm.Comol.Core.TemplateMessages.Domain.dtoTemplateTranslation> translations = null) { dtoUsersByMessageFilter filter = new dtoUsersByMessageFilter() { Ascending = true, OrderBy = UserByMessagesOrder.BySurname }; View.Ascending = true; View.CurrentOrderBy = UserByMessagesOrder.BySurname; InitializeUserTypeStatusFilter(filter, obj); InitializeUserStatusFilter(filter, filter.UserType, obj); InitializeMailStatusFilter(filter, filter.UserType, filter.UserStatus, obj); InitializeAgencyFilter(filter, obj); InitializeSearchFilter(filter); if (filter.UserType == UserTypeFilter.None || (filter.UserType == UserTypeFilter.All && (filter.UserStatus == UserStatus.All || filter.UserStatus == UserStatus.NotSubscribed))) { LoadCommunityFilters(obj.ObjectLongID, filter); } else { View.HideCommunityFilters(); } return(filter); }