static public void SendEmailNewProductToSupplier(Product product)
        {
            string        Key        = Settings.Keys.EMAIL_NEW_PRODUCT;
            int           TemplateId = GetEmailTemplateIdFromSettingKey(Key, "he-IL");
            EmailTemplate template   = TemplateId == 0 ? null : EmailTemplateController.GetItem(TemplateId);

            if (template != null)
            {
                string fromEmail    = template.FromEmail;
                string fromName     = template.FromName;
                string replyToEmail = template.ReplyToEmail;
                string replyToName  = template.ReplyToName;
                if (string.IsNullOrEmpty(fromEmail))
                {
                    fromEmail = Settings.GetSetting(Settings.Keys.DEFAULT_EMAIL_FROM);
                }
                if (string.IsNullOrEmpty(fromName))
                {
                    fromName = Settings.GetSetting(Settings.Keys.DEFAULT_EMAIL_FROM_NAME);
                }
                if (string.IsNullOrEmpty(replyToEmail))
                {
                    replyToEmail = Settings.GetSetting(Settings.Keys.ADMIN_EMAIL);
                }

                Dictionary <string, string> dictFieldHtml = new Dictionary <string, string>();
                dictFieldHtml.Add(@"PRODUCTNAME", product.ProductName);
                dictFieldHtml.Add(@"PRODUCTDESCIPTION", product.Description);
                dictFieldHtml.Add(@"PRODUCTCODE", product.ProductCode);

                string subject = EmailTemplateController.ReplaceSharpsInString(template.Subject, dictFieldHtml);

                string body = EmailTemplateController.ReplaceSharpsInString(template.Body, dictFieldHtml);

                string to = "";
                Query  q  = Query.New <AppSupplier>().Where(AppSupplier.Columns.IsDeleted, false);
                AppSupplierCollection col   = AppSupplierCollection.FetchByQuery(q);
                List <string>         lstTo = null;
                if (col != null)
                {
                    lstTo = col.Where(r => r.Email != null).Select(r => r.Email).ToList <string>();
                }
                if (to != "" || lstTo != null)
                {
                    System.Net.Mail.MailMessage message = EmailTemplateController.BuildMailMessage(
                        fromEmail, fromName, replyToEmail, replyToName,
                        to, template.CcList, template.BccList, subject, body, null, template.MailPriority, lstTo);
                    EmailTemplateController.Send(message, EmailLogController.EmailLogType.OnError, true);
                }
            }
        }
Beispiel #2
0
        public static void SendNotificationNewMessage(string Message)
        {
            Dictionary <string, object> additionalInfo = new Dictionary <string, object>();

            additionalInfo[@"message"] = Message;

            Query q = Query.New <AppSupplier>()
                      .Where(AppSupplier.Columns.IsDeleted, false);

            foreach (AppSupplier item in AppSupplierCollection.FetchByQuery(q))
            {
                BadgeCountForSupplier(item.SupplierId, 1);
                SendNotificationMessage(item.SupplierId, Message, @"new-message", null, GetBadgeCountForSupplier(item.SupplierId), null, @"new-message", additionalInfo);
            }
        }