示例#1
0
        /// <summary>
        ///  EFFETTUA AL MOMENTO LA CANCELLAZIONE IMMEDIATA
        /// </summary>
        /// <param name="items"></param>
        /// <param name="temporaryId"></param>
        public void VirtualDeleteChannelSetting(List <dtoChannelConfigurator> items, System.Guid temporaryId)
        {
            View.HideUserMessage();
            if (UserContext.isAnonymous)
            {
                Logout(View.CurrentType, View.IdTemplate, View.IdVersion);
            }
            else
            {
                dtoChannelConfigurator configurator = items.Where(i => i.TemporaryId == temporaryId).FirstOrDefault();
                if (configurator != null && configurator.IdSettings == 0)
                {
                    items = items.Where(i => i.TemporaryId != temporaryId).ToList();
                }
                else if (configurator != null && configurator.IdSettings > 0)
                {
                    if (Service.VirtualDeleteChannelSetting(configurator.IdSettings))
                    {
                        View.DisplayTemplateSettingDeleted();
                        items = items.Where(i => i.TemporaryId != temporaryId).ToList();
                    }
                    else
                    {
                        View.DisplayTemplateSettingErrorDeleting();
                    }
                }

                List <lm.Comol.Core.Notification.Domain.NotificationChannel> channels = Service.GetAvailableChannels(View.CurrentType, View.IdVersion);
                channels = channels.Where(t => !items.Where(i => i.Channel == t).Any()).ToList();

                View.ChannelSettings = items;
                View.LoadChannelSettings(items.Where(i => i.Deleted == BaseStatusDeleted.None).ToList());
                View.LoadChannels(channels);
            }
        }
示例#2
0
        public void AddNotificationSetting(lm.Comol.Core.Notification.Domain.NotificationChannel channel, List <dtoChannelConfigurator> items)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout(RootObject.Add(View.CurrentType, View.PreloadOwnership, View.PreloadFromIdCommunity, View.PreloadFromModuleCode, View.PreloadFromModulePermissions));
            }
            else
            {
                dtoChannelConfigurator config = Service.GetDraftChannelConfigurator(channel, View.CurrentType, 0);
                if (config == null)
                {
                    View.DisplayTemplateUnableToAddNotificationChannel();
                }
                else
                {
                    List <NotificationChannel> channels = Service.GetAvailableChannels(View.CurrentType, 0);
                    channels.Remove(channel);
                    channels = channels.Where(t => !items.Where(i => i.Channel == t).Any()).ToList();

                    //config.AvailableModuleCodes = View.GetModuleCodesForNotification().Select(m => m.Key).ToList();
                    items.Add(config);

                    //UpdateInUseSettings(items);
                    View.ChannelSettings = items;
                    View.LoadChannelSettings(items);
                    View.LoadChannels(channels);
                }
            }
        }
示例#3
0
        public void AddChannelSetting(lm.Comol.Core.Notification.Domain.NotificationChannel channel, List <dtoChannelConfigurator> items)
        {
            View.HideUserMessage();
            if (UserContext.isAnonymous)
            {
                Logout(View.CurrentType, View.IdTemplate, View.IdVersion);
            }
            else
            {
                dtoChannelConfigurator config = Service.GetDraftChannelConfigurator(channel, View.CurrentType, 0);
                if (config == null)
                {
                    View.DisplayTemplateUnableToAddNotificationChannel();
                }
                else
                {
                    List <lm.Comol.Core.Notification.Domain.NotificationChannel> channels = Service.GetAvailableChannels(View.CurrentType, View.IdVersion);
                    channels.Remove(channel);
                    channels = channels.Where(t => !items.Where(i => i.Channel == t).Any()).ToList();

                    //config.AvailableModuleCodes = View.GetModuleCodesForNotification().Select(m => m.Key).ToList();
                    items.Add(config);
                    //UpdateInUseSettings(items);
                    View.ChannelSettings = items;
                    View.LoadChannelSettings(items);
                    View.LoadChannels(channels);
                    View.SendUserAction(View.IdTemplateCommunity, Service.ServiceModuleID(), ModuleTemplateMessages.ActionType.AddNotificationSetting);
                }
            }
        }