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)); }
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(); } } }