示例#1
0
        /// <summary>
        /// Send MAIL
        /// </summary>
        /// <param name="recipientAddress"></param>
        /// <param name="recipientName"></param>
        /// <param name="senderAddress"></param>
        /// <param name="actionName"></param>
        /// <param name="mailType"></param>
        /// <param name="lang"></param>
        /// <param name="dataToReplace"></param>
        public OperationResult <bool> Send(string recipientAddress, string recipientName, string senderAddress, string actionName,
                                           MailTypes mailType, Langs.LangsEnum lang, Dictionary <string, string> dataToReplace)
        {
            try {
                var body = GetEmailBody(mailType);

                var from    = new MailAddress(senderAddress, Resources.Email.Connection.FromName);
                var to      = new MailAddress(recipientAddress, recipientName);
                var message = new MailMessage(from, to)
                {
                    Subject    = actionName,
                    Body       = body,
                    IsBodyHtml = true
                };

                body    = FullFillBodyContent(body, lang, dataToReplace);
                message = AddImagesToBody(message, body, mailType);

                // Send msg
                _smtpClient.SendMailAsync(message);
                return(new OperationResult <bool>());
            }
            catch (Exception ex) {
                return(new OperationResult <bool>(ex));
            }
        }
示例#2
0
 public OperationResult <List <ApplicationNews> > GetAll(Langs.LangsEnum lang)
 {
     try {
         var news = _news.GetAll(x => x.Lang == lang.ToString());
         var nws  = news.Select(x => (ApplicationNews)x).ToList();
         return(new OperationResult <List <ApplicationNews> >(nws));
     }
     catch (Exception ex) {
         return(new OperationResult <List <ApplicationNews> >(ex));
     }
 }
示例#3
0
        private string FullFillBodyContent(string body, Langs.LangsEnum lang, Dictionary <string, string> dataToReplace)
        {
            switch (lang)
            {
            case Langs.LangsEnum.Ru: { body = ReplaceContent(body, Resources.Email.Ru.Content.ResourceManager, dataToReplace); break; }

            case Langs.LangsEnum.De: { body = ReplaceContent(body, Resources.Email.De.Content.ResourceManager, dataToReplace); break; }

            case Langs.LangsEnum.Fr: { body = ReplaceContent(body, Resources.Email.Fr.Content.ResourceManager, dataToReplace); break; }

            case Langs.LangsEnum.Es: { body = ReplaceContent(body, Resources.Email.Es.Content.ResourceManager, dataToReplace); break; }

            case Langs.LangsEnum.Ua: { body = ReplaceContent(body, Resources.Email.Ua.Content.ResourceManager, dataToReplace); break; }

            case Langs.LangsEnum.En: { body = ReplaceContent(body, Resources.Email.En.Content.ResourceManager, dataToReplace); break; }

            default: throw new ArgumentOutOfRangeException(nameof(lang));
            }
            return(body);
        }
示例#4
0
        public static string GetErrorByName(Langs.LangsEnum lang, string errorKey)
        {
            Dictionary <string, object> dict;

            switch (lang)
            {
            case Langs.LangsEnum.De: { dict = ErrorDe;
                                       break; }

            case Langs.LangsEnum.Ru: { dict = ErrorRu; break; }

            case Langs.LangsEnum.Es: { dict = ErrorEs; break; }

            case Langs.LangsEnum.Ua: { dict = ErrorUa; break; }

            case Langs.LangsEnum.Fr: { dict = ErrorFr; break; }

            default: { dict = ErrorEn; break; }
            }
            var target = dict.SingleOrDefault(x => x.Key == errorKey);

            return(target.Equals(default(KeyValuePair <string, object>)) ? string.Empty : target.Value.ToString());
        }
示例#5
0
        public static OperationResult <List <ApplicationTaskAttachment> > SaveTaskAttachments(Langs.LangsEnum currentLang, string root, List <HttpPostedFileBase> files)
        {
            var result = new OperationResult <List <ApplicationTaskAttachment> > {
                Data = new List <ApplicationTaskAttachment>()
            };

            try {
                var disabledExtentions = new List <string> {
                    ".zip", ".rar", ".gzip", ".tar", ".arj", ".uc2", ".gz", ".lha", ".tgz", ".exe", ".bat", ".com"
                };
                var totalLength = files.Sum(t => t.InputStream.Length);
                if (totalLength >= 10 * 1024 * 1024)
                {
                    throw new Exception(ErrorManeger.GetErrorByName(currentLang, "FileLengthIsExceed"));
                }
                foreach (var file in files)
                {
                    var ext = Path.GetExtension(file.FileName);
                    if (disabledExtentions.Contains(ext))
                    {
                        result.Exception = new Exception("ForbiddenFileExtention");
                    }
                    else
                    {
                        var pk   = Guid.NewGuid() + ext;
                        var path = @"\Storage\TaskAttachments\" + pk;
                        if (SaveFile(file, root + path))
                        {
                            result.Data.Add(new ApplicationTaskAttachment {
                                Extention = Path.GetExtension(file.FileName),
                                FileTitle = file.FileName,
                                PublicKey = Guid.NewGuid(),
                                Url       = @".." + path
                            });
                        }
                    }
                }
                return(result);
            }
            catch (Exception ex) {
                return(new OperationResult <List <ApplicationTaskAttachment> >(ex));
            }
        }