Example #1
0
        protected void LoadItems()
        {
            if (!HasEditPermission)
            {
                dgTemplates.Columns[dgTemplates.Columns.Count - 1].Visible = false;
            }

            dgTemplates.VirtualItemCount = (int)EmailTemplateController.GetItemCount();
            if (dgTemplates.VirtualItemCount == 0)
            {
                phHasItems.Visible   = false;
                phHasNoItems.Visible = true;
            }
            else
            {
                phHasItems.Visible   = true;
                phHasNoItems.Visible = false;

                int limit  = dgTemplates.PageSize;
                int offset = dgTemplates.CurrentPageIndex * dgTemplates.PageSize;

                EmailTemplateCollection items = EmailTemplateController.GetItems(
                    EmailTemplate.Columns.Name, dg.Sql.SortDirection.ASC,
                    limit, offset);

                BindList(items);
            }
        }
        public static EmailTemplateCollection GetItems(string OrderBy, SortDirection OrderDirection, int Limit, int Offset)
        {
            Query qry = new Query(EmailTemplate.TableSchema)
                        .OrderBy(OrderBy, OrderDirection)
                        .LimitRows(Limit).OffsetRows(Offset);

            return(EmailTemplateCollection.FetchByQuery(qry));
        }
Example #3
0
 protected void BindList(EmailTemplateCollection coll)
 {
     dgTemplates.ItemDataBound += dgTemplates_ItemDataBound;
     dgTemplates.DataSource     = coll;
     dgTemplates.DataBind();
     Master.DisableViewState(dgTemplates);
     lblTotal.Text = dgTemplates.VirtualItemCount.ToString();
 }
        /// <summary>
        /// Processes emails for the given order status using the given parameters
        /// </summary>
        /// <param name="orderStatusId">ID for the OrderStatus for which to process the emails</param>
        /// <param name="parameters">The parameters to be used in nVelocity email templates</param>
        public static void ProcessEmails(int orderStatusId, Hashtable parameters)
        {
            parameters["store"] = Token.Instance.Store;
            //NEED TO GET THE EMAIL TEMPLATES FOR THE ORDER STATUS
            EmailTemplateCollection emailTemplates = EmailTemplateDataSource.LoadForOrderStatus(orderStatusId);

            foreach (EmailTemplate template in emailTemplates)
            {
                if (template != null)
                {
                    foreach (string key in parameters.Keys)
                    {
                        template.Parameters[key] = parameters[key];
                    }
                    template.Send();
                }
            }
        }