Example #1
0
 public MailMessage(lm.Comol.Core.MailCommons.Domain.Messages.MessageSettings settings, Ownership ownership)
 {
     Attachments  = new List <MailAttachment>();
     Translations = new List <MessageTranslation>();
     Ownership    = ownership;
     MailSettings = settings;
 }
Example #2
0
 public dtoTemplateMail(String subject, String body, Int32 idLanguage, lm.Comol.Core.MailCommons.Domain.Messages.MessageSettings settings, BaseStatusDeleted deleted)
     : base()
 {
     Deleted      = deleted;
     Subject      = subject;
     Body         = body;
     IdLanguage   = idLanguage;
     MailSettings = settings;
 }
Example #3
0
 public dtoBaseMailTemplate(lm.Comol.Core.MailCommons.Domain.Messages.MessageSettings settings)
 {
     DefaultTranslation = new ItemObjectTranslation();
     Translations       = new List <dtoBaseMailTemplateContent>();
     MailSettings       = settings;
 }
Example #4
0
 public dtoManagerTemplateMail(NotifyFields fields, String notifyTo, String subject, String body, Int32 idLanguage, lm.Comol.Core.MailCommons.Domain.Messages.MessageSettings settings, BaseStatusDeleted deleted)
     : base(subject, body, idLanguage, settings, deleted)
 {
     NotifyFields = fields;
     NotifyTo     = notifyTo;
 }
Example #5
0
 public dtoSubmitterTemplateMail(List <long> submitters, String subject, String body, Int32 idLanguage, lm.Comol.Core.MailCommons.Domain.Messages.MessageSettings settings, BaseStatusDeleted deleted)
     : base(subject, body, idLanguage, settings, deleted)
 {
     SubmitterAssignments = submitters;
 }
Example #6
0
 public dtoTemplateMail() : base()
 {
     MailSettings = new lm.Comol.Core.MailCommons.Domain.Messages.MessageSettings();
 }
Example #7
0
 public MailService(SmtpServiceConfig smtp, lm.Comol.Core.MailCommons.Domain.Messages.MessageSettings settings)
 {
     SMTPconfig   = smtp;
     MailSettings = settings;
 }
Example #8
0
 public TemplateMail()
 {
     Deleted      = BaseStatusDeleted.None;
     MailSettings = new lm.Comol.Core.MailCommons.Domain.Messages.MessageSettings();
 }
        private void InitializeEditor(String currentCode = "", long idTemplate = 0, long idVersion = 0, long idAction = 0)
        {
            Boolean isAdministrative = Service.IsAdministrativeUser(UserContext.CurrentUserID);
            Boolean senderEdit       = isAdministrative;

            View.CurrentMode        = Domain.EditMessageMode.Edit;
            View.IdSelectedTemplate = idTemplate;
            View.IdSelectedVersion  = idVersion;
            View.IdSelectedAction   = idAction;

            lm.Comol.Core.MailCommons.Domain.Messages.MessageSettings settings = null;
            List <dtoTemplateTranslation> translations = new List <dtoTemplateTranslation>();
            TemplateDefinitionVersion     version      = null;

            if (idVersion > 0)
            {
                version = Service.GetVersion(idVersion);
            }
            if (version == null)
            {
                version = Service.GetLastActiveVersion(idTemplate);
            }

            List <lm.Comol.Core.DomainModel.Languages.BaseLanguageItem> availableItems = Service.GetAvalableLanguage(version);
            List <lm.Comol.Core.DomainModel.Languages.LanguageItem>     items          = Service.GetInUseLanguageItems(version);

            if (version != null)
            {
                View.IdSelectedVersion = version.Id;
                View.ContentModules    = Service.GetVersionModuleContentCodes(version.Id);

                translations.Add(new dtoTemplateTranslation()
                {
                    IdLanguage = 0, LanguageCode = "multi", Translation = version.DefaultTranslation.Copy()
                });
                translations.AddRange(version.Translations.Where(t => t.Deleted == BaseStatusDeleted.None).Select(t => new dtoTemplateTranslation()
                {
                    IdLanguage = t.IdLanguage, LanguageCode = t.LanguageCode, Translation = t.Translation.Copy()
                }).ToList());
                if (version.ChannelSettings.Where(c => c.Deleted == BaseStatusDeleted.None && c.Channel == NotificationChannel.Mail).Any())
                {
                    settings = version.ChannelSettings.Where(c => c.Deleted == BaseStatusDeleted.None && c.Channel == NotificationChannel.Mail).FirstOrDefault().MailSettings;
                }

                senderEdit = senderEdit && version.Template.Type == TemplateType.System;
                View.LoadEditor(translations, "multi", version.HasShortText, version.OnlyShortText, availableItems, items, items.Where(i => i.IsMultiLanguage).FirstOrDefault());
            }
            else
            {
                View.ContentModules = new List <String>()
                {
                    currentCode
                };
                translations.Add(new dtoTemplateTranslation()
                {
                    IdLanguage = 0, LanguageCode = "multi", Translation = new ItemObjectTranslation()
                    {
                        IsHtml = (settings == null) ? true : settings.IsBodyHtml, Body = "", Name = ""
                    }
                });
                View.LoadEditor(translations, "multi", false, false, availableItems, items, items.Where(i => i.IsMultiLanguage).FirstOrDefault());
            }
            if (settings == null)
            {
                settings = new lm.Comol.Core.MailCommons.Domain.Messages.MessageSettings();
                settings.CopyToSender   = false;
                settings.IsBodyHtml     = true;
                settings.NotifyToSender = false;
                settings.SenderType     = MailCommons.Domain.SenderUserType.LoggedUser;
                settings.PrefixType     = MailCommons.Domain.SubjectPrefixType.SystemConfiguration;
            }
            View.CurrentTranslations = translations;
            View.InitializeMailSettings(settings, senderEdit, isAdministrative, isAdministrative);
        }
        public Boolean SaveAsTemplate(OwnerType t, String prefixName, List <dtoTemplateTranslation> translations, List <String> contentModules, lm.Comol.Core.MailCommons.Domain.Messages.MessageSettings settings, lm.Comol.Core.DomainModel.ModuleObject obj = null)
        {
            Boolean saved = false;

            if (UserContext.isAnonymous)
            {
                View.CurrentMode = Domain.EditMessageMode.None;
            }
            else
            {
                TemplateType         type      = TemplateType.None;
                dtoBaseTemplateOwner ownership = new dtoBaseTemplateOwner()
                {
                    IdPerson = UserContext.CurrentUserID, ModuleCode = View.ModuleCode
                };
                switch (t)
                {
                case OwnerType.Object:
                    ownership.Type              = OwnerType.Object;
                    ownership.IdObject          = obj.ObjectLongID;
                    ownership.IdObjectCommunity = obj.CommunityID;
                    ownership.IdObjectModule    = obj.ServiceID;
                    ownership.IdObjectType      = obj.ObjectTypeID;
                    ownership.IsPortal          = false;
                    break;

                case OwnerType.Person:
                    ownership.IsPortal = true;
                    ownership.Type     = OwnerType.Person;
                    break;

                case OwnerType.Module:
                    ownership.IsPortal    = false;
                    ownership.IdCommunity = View.ContainerIdCommunity;
                    ownership.IdModule    = CurrentManager.GetModuleID(View.ModuleCode);
                    ownership.ModuleCode  = View.ModuleCode;
                    ownership.Type        = OwnerType.Module;
                    break;

                default:
                    ownership = null;
                    break;
                }
                if (ownership != null)
                {
                    TemplateDefinition template = Service.AddTemplate(prefixName, type, ownership, contentModules, translations, settings);
                    if (template == null)
                    {
                        View.DisplayTemplateUnSaved(t);
                    }
                    else
                    {
                        View.DisplayTemplateSaved(t);
                    }
                }
                else
                {
                    View.DisplayTemplateUnSaved(t);
                }
            }
            return(saved);
        }