/// <summary> /// Closing the campaign /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public static void ProcessOrders(int campaignID) { try { Campaign campaign = CampaignProvider.GetCampaigns() .WhereEquals("NodeSiteID", SiteContext.CurrentSiteID) .WhereEquals("CampaignID", campaignID) .FirstObject; if (campaign != null) { var _failedOrders = DIContainer.Resolve <IFailedOrderStatusProvider>(); _failedOrders.UpdateCampaignOrderStatus(campaign.CampaignID); TaskInfo runTask = TaskInfoProvider.GetTaskInfo(ScheduledTaskNames.PrebuyOrderCreation, SiteContext.CurrentSiteID); if (runTask != null) { runTask.TaskRunInSeparateThread = true; runTask.TaskEnabled = true; runTask.TaskData = $"{campaign.CampaignID}|{SiteContext.CurrentSiteID}"; SchedulingExecutor.ExecuteTask(runTask); } var users = UserInfoProvider.GetUsers(); if (users != null) { foreach (var user in users) { ProductEmailNotifications.CampaignEmail(campaign.DocumentName, user.Email, "CampaignCloseEmail"); } } } } catch (Exception ex) { EventLogProvider.LogException("Kadena_CMSWebParts_Kadena_Cart_FailedOrdersCheckout", "ProcessOrders", ex, SiteContext.CurrentSiteID, ex.Message); } }
/// <summary> /// Open the Campaign /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lnkOpenCampaign_Click(object sender, EventArgs e) { try { LinkButton btn = (LinkButton)sender; int campaignID = ValidationHelper.GetInteger(btn.CommandArgument, 0); Campaign campaign = CampaignProvider.GetCampaigns() .WhereEquals("NodeSiteID", CurrentSite.SiteID) .WhereEquals("CampaignID", campaignID) .FirstObject; if (campaign != null) { campaign.OpenCampaign = true; campaign.Update(); var users = UserInfoProvider.GetUsers(); if (users != null) { foreach (var user in users) { ProductEmailNotifications.CampaignEmail(campaign.DocumentName, user.Email, "CampaignOpenEmail"); } } Response.Redirect(CurrentDocument.DocumentUrlPath); } } catch (Exception ex) { EventLogProvider.LogException("CMSWebParts_Kadena_Campaign_Web_Form_CampaignWebFormActions", "lnkOpenCampaign_Click", ex, CurrentSite.SiteID, ex.Message); } }
/// <summary> /// Nottify Admin /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnNotifyAdmin_Click(object sender, EventArgs e) { try { var nodeGuid = CurrentDocument.NodeGUID; var emailTemplate = DIContainer.Resolve <IKenticoResourceService>().GetSettingsKey(SiteContext.CurrentSiteID, "KDA_CampaignProductAddedTemplate"); Campaign campaign = CampaignProvider.GetCampaign(nodeGuid, CurrentDocument.DocumentCulture, CurrentSite.SiteName); var program = ProgramProvider.GetPrograms() .WhereEquals("ProgramId", ddlPrograms.SelectedValue) .FirstOrDefault(); if (program != null) { program.GlobalAdminNotified = true; program.Update(); var roleName = SettingsKeyInfoProvider.GetValue(CurrentSite.SiteName + ".KDA_GlobalAminRoleName"); var role = RoleInfoProvider.GetRoleInfo(roleName, CurrentSite.SiteID); if (role != null) { var users = RoleInfoProvider.GetRoleUsers(role.RoleID); if (users != null) { foreach (var user in users.AsEnumerable().ToList()) { ProductEmailNotifications.CampaignEmail(campaign.DocumentName, user.Field <string>("Email"), emailTemplate, program.DocumentName); } } } Response.Redirect(CurrentDocument.DocumentUrlPath, false); } } catch (Exception ex) { EventLogProvider.LogException("CMSWebParts_Kadena_Campaign_Web_Form_CampaignProductsFilter", "btnNotifyAdmin_Click", ex, CurrentSite.SiteID, ex.Message); } }
/// <summary> /// Closing the campaign /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lnkCloseCampaign_Click(object sender, EventArgs e) { try { LinkButton btn = (LinkButton)sender; int campaignID = ValidationHelper.GetInteger(btn.CommandArgument, 0); if (!DIContainer.Resolve <IShoppingCartProvider>().ValidateAllCarts(campaignID: campaignID)) { Response.Cookies["status"].Value = QueryStringStatus.InvalidCartItems; Response.Cookies["status"].HttpOnly = false; return; } Campaign campaign = CampaignProvider.GetCampaigns() .WhereEquals("NodeSiteID", CurrentSite.SiteID) .WhereEquals("CampaignID", campaignID) .FirstObject; if (campaign != null) { campaign.CloseCampaign = true; campaign.Update(); var oderStatus = DIContainer.Resolve <IFailedOrderStatusProvider>(); oderStatus.InsertCampaignOrdersInProgress(campaign.CampaignID); TaskInfo runTask = TaskInfoProvider.GetTaskInfo(ScheduledTaskNames.PrebuyOrderCreation, CurrentSite.SiteID); if (runTask != null) { runTask.TaskRunInSeparateThread = true; runTask.TaskEnabled = true; runTask.TaskData = $"{campaign.CampaignID}|{CurrentUser.UserID}"; SchedulingExecutor.ExecuteTask(runTask); } var users = UserInfoProvider.GetUsers(); if (users != null) { foreach (var user in users) { ProductEmailNotifications.CampaignEmail(campaign.DocumentName, user.Email, "CampaignCloseEmail"); } } Response.Redirect(CurrentDocument.DocumentUrlPath); } } catch (Exception ex) { EventLogProvider.LogException("CMSWebParts_Kadena_Campaign_Web_Form_CampaignWebFormActions", "lnkCloseCampaign_Click", ex, CurrentSite.SiteID, ex.Message); } }