Esempio n. 1
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
        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();
            }
        }
Esempio n. 15
0
        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);
        }