Пример #1
0
 /// <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);
     }
 }
Пример #2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Cache.SetNoStore();

        // Run the tasks
        string siteName = CMSContext.CurrentSiteName;

        if (siteName != "")
        {
            SchedulingExecutor.ExecuteScheduledTasks(siteName, WebSyncHelperClass.ServerName);
        }
    }
Пример #3
0
    /// <summary>
    /// Runs scheduled task. Called when the "Run task" button is pressed.
    /// Expects the CreateScheduledTask method to be run first.
    /// </summary>
    private bool RunTask()
    {
        // Get the scheduled task
        TaskInfo runTask = TaskInfoProvider.GetTaskInfo("MyNewTask", CMSContext.CurrentSiteID);

        if (runTask != null)
        {
            // Run task
            SchedulingExecutor.ExecuteTask(runTask);

            return(true);
        }

        return(false);
    }
 /// <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);
     }
 }
    /// <summary>
    /// Handles the UniGrid's OnAction event.
    /// </summary>
    /// <param name="actionName">Name of item (button) that threw event</param>
    /// <param name="actionArgument">ID (value of Primary key) of corresponding data row</param>
    protected void gridElem_OnAction(string actionName, object actionArgument)
    {
        switch (actionName.ToLowerCSafe())
        {
        case "edit":
            if (!String.IsNullOrEmpty(EditURL))
            {
                URLHelper.Redirect(UrlResolver.ResolveUrl(String.Format(EditURL, actionArgument)));
            }
            break;

        case "delete":
        {
            // Check "modify" permission
            if (!MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("CMS.ScheduledTasks", "Modify"))
            {
                RedirectToAccessDenied("CMS.ScheduledTasks", "Modify");
            }

            // Delete the task
            try
            {
                int taskId = Convert.ToInt32(actionArgument);

                TaskInfo ti = TaskInfoProvider.GetTaskInfo(taskId);
                if (ti != null)
                {
                    ti.Generalized.LogSynchronization = SynchronizationTypeEnum.LogSynchronization;
                    ti.Generalized.LogIntegration     = true;
                    ti.Generalized.LogEvents          = true;
                    TaskInfoProvider.DeleteTaskInfo(ti);
                }
            }
            catch (Exception ex)
            {
                ShowError(GetString("Task_List.DeleteError"), ex.Message);
            }
        }
        break;

        case "execute":
        {
            // Check "modify" permission
            if (!MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("CMS.ScheduledTasks", "Modify"))
            {
                RedirectToAccessDenied("CMS.ScheduledTasks", "Modify");
            }

            TaskInfo taskInfo = TaskInfoProvider.GetTaskInfo(Convert.ToInt32(actionArgument));
            if (taskInfo != null)
            {
                SiteInfo siteInfo = SiteInfoProvider.GetSiteInfo(SiteID);
                if (!taskInfo.TaskEnabled)
                {
                    // Task is not enabled (won't be executed at the end of request), run it now
                    SchedulingExecutor.ExecuteTask(taskInfo, (siteInfo != null) ? siteInfo.SiteName : SiteContext.CurrentSiteName);
                }
                else
                {
                    if (!taskInfo.TaskIsRunning)
                    {
                        taskInfo.TaskNextRunTime = DateTime.Now;

                        // Update the task
                        TaskInfoProvider.SetTaskInfo(taskInfo);

                        // Run the task
                        SchedulingTimer.RunSchedulerImmediately = true;
                        if (siteInfo != null)
                        {
                            SchedulingTimer.SchedulerRunImmediatelySiteName = siteInfo.SiteName;
                        }
                    }
                    else
                    {
                        ShowWarning(GetString("ScheduledTask.TaskAlreadyrunning"));
                        return;
                    }
                }

                ShowConfirmation(GetString("ScheduledTask.WasExecuted"));
            }
        }
        break;
        }
    }
Пример #6
0
    protected void ButtonGetColumn_Click(object sender, EventArgs e)
    {
        //LiteralWaitting.Text = "Cars are being imported. It might take few minutes....";
        get_column_table();
        if (bl)
        {
            ButtonExport.Visible    = true;
            RadioButtonKeep.Visible = true;
            RadioButtonAll.Visible  = true;
        }

        DataClassInfo clsi = null;

        clsi = (Session["DataClassInfo"] != null ? (DataClassInfo)Session["DataClassInfo"] : null);
        DeleteCustomTableItem(clsi);
        int i = 1;

        if (ds_excel == null)
        {
            ds_excel = (Session["ds_excel"] != null ? (DataSet)Session["ds_excel"] : null);
        }
        if (!DataHelper.DataSourceIsEmpty(ds_excel))
        {
            Literal1.Text = "";

            foreach (DataRow row in ds_excel.Tables[0].Rows)
            {
                if (i != 1)
                {
                    if (CreateCustomTableItem(clsi, row))
                    {
                        Literal1.Text += "<br> insert row " + i.ToString() + " sucess";
                    }
                    else
                    {
                        Literal1.Text += "<br> <span style='color:red;'>insert row " + i.ToString() + " error</span>";
                    }
                }

                i++;
            }

            Literal1.Text += "<br> Import sucess";
            EventLogProvider.LogInformation("CustomTable", "Import sucess", "");
            string taskName = "SportingCarzTask";

            string siteName = CMSContext.CurrentSiteName;



            // Get task object

            TaskInfo ti = TaskInfoProvider.GetTaskInfo(taskName, siteName);



            // If task exists

            if (ti != null)
            {
                // Run task

                SchedulingExecutor.ExecuteTask(ti);

                Literal1.Text += "<br> Run task sucess";
            }
        }
    }