コード例 #1
0
        private Boolean HasPermission(dtoModuleMessagesContext context)
        {
            Int32  idUser = UserContext.CurrentUserID;
            Person p      = CurrentManager.GetPerson(idUser);

            return(View.HasModulePermissions(context.ModuleCode, GetModulePermissions(context.IdModule, context.IdCommunity), context.IdCommunity, (p == null) ? (int)UserTypeStandard.Guest : p.TypeID, context.ModuleObject));
        }
コード例 #2
0
        private lm.Comol.Core.Mail.Messages.dtoModuleMessagesContext GetContext()
        {
            dtoModuleMessagesContext item = new dtoModuleMessagesContext();

            item.ModuleObject = View.PreloadModuleObject;
            if (item.ModuleObject != null && !String.IsNullOrEmpty(item.ModuleObject.ServiceCode) && item.ModuleObject.ServiceID < 1)
            {
                item.ModuleObject.ServiceID = CurrentManager.GetModuleID(item.ModuleObject.ServiceCode);
                View.CurrentModuleObject    = item.ModuleObject;
            }
            else if (item.ModuleObject != null && String.IsNullOrEmpty(item.ModuleObject.ServiceCode) && item.ModuleObject.ServiceID > 0)
            {
                item.ModuleObject.ServiceID = CurrentManager.GetModuleID(item.ModuleObject.ServiceCode);
                View.CurrentModuleObject    = item.ModuleObject;
            }
            item.IdCommunity = View.PreloadIdCommunity;
            item.IdModule    = View.PreloadIdModule;
            item.ModuleCode  = View.PreloadModuleCode;

            if (item.IdCommunity == -1 && item.ModuleObject != null)
            {
                item.IdCommunity = item.ModuleObject.CommunityID;
            }
            if (item.IdModule > 0 && String.IsNullOrEmpty(item.ModuleCode))
            {
                item.ModuleCode = CurrentManager.GetModuleCode(item.IdModule);
            }
            else if (item.IdModule == 0 && !String.IsNullOrEmpty(item.ModuleCode))
            {
                item.IdModule = CurrentManager.GetModuleID(item.ModuleCode);
            }
            return(item);
        }
コード例 #3
0
        public void InitView()
        {
            dtoModuleMessagesContext context = GetContext();

            View.ContainerContext = context;
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                if (HasPermission(context))
                {
                    lm.Comol.Core.Mail.dtoRecipient recipient = new lm.Comol.Core.Mail.dtoRecipient();
                    if (context.IdPerson > 0)
                    {
                        Person p = CurrentManager.GetPerson(context.IdPerson);
                        recipient.DisplayName = (p == null) ? View.UnknownUserName: p.SurnameAndName;
                        recipient.MailAddress = (p == null) ? "" : p.Mail;
                    }
                    else if (context.IdUserModule > 0)
                    {
                        recipient = View.GetRecipient(context.ModuleCode, context.IdUserModule);
                        if (recipient == null)
                        {
                            recipient = new lm.Comol.Core.Mail.dtoRecipient()
                            {
                                DisplayName = View.RemovedUserName
                            }
                        }
                        ;
                    }
                    else if (!String.IsNullOrEmpty(context.MailAddress))
                    {
                        MailRecipient r = Service.GetRecipient(context.MailAddress, context);
                        if (r == null)
                        {
                            recipient = new lm.Comol.Core.Mail.dtoRecipient()
                            {
                                DisplayName = View.UnknownUserName
                            }
                        }
                        ;
                        else
                        {
                            recipient = new lm.Comol.Core.Mail.dtoRecipient()
                            {
                                DisplayName = r.MailAddress
                            }
                        };
                    }
                    View.LoadRecipientName(recipient);
                    LoadUserMessages(context, 0, View.CurrentPageSize);
                }
                else
                {
                    View.DisplayNoPermission(context.IdCommunity, context.IdModule, context.ModuleCode);
                }
            }
        }
コード例 #4
0
        public void LoadUserMessages(dtoModuleMessagesContext context, int pageIndex, int pageSize)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                Int32     count = Service.GetUserMessagesCount(context);
                PagerBase pager = new PagerBase();
                pager.PageSize = pageSize;

                if (pageSize == 0)
                {
                    pageSize = 50;
                }
                pager.Count     = count - 1;
                pager.PageIndex = pageIndex;// Me.View.CurrentPageIndex
                View.Pager      = pager;

                View.CurrentPageSize = pageSize;
                List <dtoDisplayUserMessage> items = Service.GetUserMessages(context, View.RemovedUserName, View.UnknownUserName, pageIndex, pageSize);
                if (items == null || !items.Any() || items.Count <= 0)
                {
                    View.DisplayNoMessagesFound();
                }
                else
                {
                    View.LoadItems(items);
                }
            }
        }
コード例 #5
0
        private dtoModuleMessagesContext GetContext()
        {
            dtoModuleMessagesContext item = new dtoModuleMessagesContext();

            item.ModuleObject = View.PreloadModuleObject;
            item.IdCommunity  = View.PreloadIdCommunity;
            item.IdModule     = View.PreloadIdModule;
            item.IdPerson     = View.PreloadIdPerson;
            item.IdUserModule = View.PreloadIdUserModule;
            item.MailAddress  = View.PreloadMail;
            item.ModuleCode   = View.PreloadModuleCode;

            if (item.IdCommunity == -1 && item.ModuleObject != null)
            {
                item.IdCommunity = item.ModuleObject.CommunityID;
            }
            if (item.IdModule > 0 && String.IsNullOrEmpty(item.ModuleCode))
            {
                item.ModuleCode = CurrentManager.GetModuleCode(item.IdModule);
            }
            else if (item.IdModule == 0 && !String.IsNullOrEmpty(item.ModuleCode))
            {
                item.IdModule = CurrentManager.GetModuleID(item.ModuleCode);
            }
            return(item);
        }
コード例 #6
0
        private void IntializeByMessage(dtoModuleMessagesContext context)
        {
            View.MessageCurrentOrderBy = MessageOrder.ByDate;
            View.Ascending             = false;
            View.InitializeWordSelector(new List <String>());

            LoadMessages(0, View.PageSize, true);
        }
コード例 #7
0
        private void InitializeByRecipients(dtoModuleMessagesContext context)
        {
            View.UserCurrentOrderBy = MailSender.UserByMessagesOrder.ByUser;
            View.Ascending          = true;
            lm.Comol.Core.BaseModules.MailSender.dtoUsersByMessageFilters filter = InitializeFilter(context.ModuleObject);
            View.CurrentFilter = filter;
            View.InitializeWordSelector(new List <String>());

            LoadColumns(false, false, false);
            View.DisplayNoUsersFound();
        }
コード例 #8
0
        public void InitView()
        {
            long idMessage = View.PreloadIdMessage;
            dtoModuleMessagesContext context = GetContext();

            View.ContainerContext = context;
            if (UserContext.isAnonymous)
            {
                SessionTimeout();
            }
            else
            {
                Int32 idCommunity = View.PreloadIdCommunity;
                if (idCommunity < 0)
                {
                    idCommunity = UserContext.CurrentCommunityID;
                }
                SetCurrentItems(idMessage, idCommunity);

                Int32   idOtherModule = CurrentManager.GetModuleID(context.ModuleCode);
                Boolean otherModule   = (context.ModuleCode != ModuleTemplateMessages.UniqueCode);

                if (HasPermission(context))
                {
                    if (MailService.IsMessageOf(idMessage, context.ModuleObject))
                    {
                        View.DisplayMessageInfo(MailService.GetMessage(idMessage));
                        InitializeByRecipients(idMessage, context);
                    }
                    else
                    {
                        View.DisplayUnknownMessage();
                    }
                }
                else
                {
                    View.DisplayNoPermission(idCommunity, idOtherModule, context.ModuleCode);
                }
            }
        }
コード例 #9
0
 public void LoadMessage(long idMessage)
 {
     if (UserContext.isAnonymous)
     {
         View.DisplaySessionTimeout();
     }
     else
     {
         dtoModuleMessagesContext context  = View.ContainerContext;
         MessageTranslation       tMessage = Service.GetMessageTranslation(idMessage);
         if (tMessage == null)
         {
             LoadUserMessages(View.ContainerContext, View.Pager.PageIndex, View.CurrentPageSize);
         }
         else
         {
             View.DisplayMessagePreview(tMessage.LanguageCode, new DomainModel.Languages.ItemObjectTranslation()
             {
                 Body = tMessage.Body, Subject = tMessage.Subject, IsHtml = tMessage.Message.MailSettings.IsBodyHtml
             }, tMessage.Message.MailSettings, context.IdCommunity, context.ModuleObject);
         }
     }
 }
コード例 #10
0
        public void InitView()
        {
            Int32 idCommunity = View.PreloadIdCommunity;

            if (idCommunity < 0)
            {
                idCommunity = UserContext.CurrentCommunityID;
            }
            dtoModuleMessagesContext context = GetContext();

            View.ContainerContext = context;
            if (UserContext.isAnonymous)
            {
                SessionTimeout(idCommunity, View.PreloadSelectedTab);
            }
            else
            {
                DisplayTab tabs = View.PreloadTabs;
                DisplayTab tab  = View.PreloadSelectedTab;
                if (tabs == DisplayTab.None)
                {
                    tab = DisplayTab.Sent;
                }

                TemplateType type = View.PreloadTemplateType;
                if (type == TemplateType.None)
                {
                    type = TemplateType.Module;
                }

                SetCurrentItems(type, idCommunity, tab);
                LoadTabs(tabs, tab);

                Int32   idOtherModule = CurrentManager.GetModuleID(context.ModuleCode);
                Boolean otherModule   = (context.ModuleCode != ModuleTemplateMessages.UniqueCode);
                switch (tab)
                {
                case DisplayTab.List:
                case DisplayTab.Send:
                    View.GoToUrl(GetCurrentUrl(tab));
                    break;

                case DisplayTab.Sent:
                    View.InitializeFilterSelector(new List <DisplayItems>()
                    {
                        DisplayItems.ByRecipient, DisplayItems.ByMessage
                    }, DisplayItems.ByRecipient);
                    if (HasPermission(context))
                    {
                        DisplayItems displayBy = View.PreloadDisplayBy;
                        View.CurrentDisplayBy = displayBy;

                        if (MailService.HasMessages(context.ModuleObject))
                        {
                            switch (displayBy)
                            {
                            case DisplayItems.ByRecipient:
                                InitializeByRecipients(context);
                                break;

                            case DisplayItems.ByMessage:
                                IntializeByMessage(context);
                                break;
                            }
                        }
                        else
                        {
                            View.DisplayObjectWithNoMessage();
                        }
                    }
                    else
                    {
                        View.DisplayNoPermission(idCommunity, idOtherModule, context.ModuleCode);
                    }
                    break;

                default:
                    if (otherModule)
                    {
                        View.DisplayNoPermission(idCommunity, idOtherModule, context.ModuleCode);
                    }
                    else
                    {
                        View.DisplayNoPermission(idCommunity, Service.ServiceModuleID());
                    }
                    break;
                }
            }
        }