using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WindowsFormsApplication3.Model;
using WindowsFormsApplication3.Enums;
using WindowsFormsApplication3.DataStorge;
namespace WindowsFormsApplication3.Jobs
{
public class BaseJob
{
public delegate void JobStateChangeHanlder();
public event JobStateChangeHanlder JobStateChangeEvent;
public void ReportJobStateChange()
{
if (JobStateChangeEvent != null)
{
JobStateChangeEvent();
}
}
public virtual string Action {
get { return string.Empty; }
}
protected CheckoutContext checkoutContext;
protected CheckoutStep checkoutStep;
protected CheckoutContext step;
public CheckoutContext Step {
get { return step; }
}
protected string message;
public string Message {
get { return message; }
}
protected JobStatus status;
public JobStatus Status {
get { return status; }
}
public BaseJob(CheckoutContext checkoutContext, CheckoutStep checkoutStep) {
this.checkoutContext = checkoutContext;
this.checkoutStep = checkoutStep;
Reset();
}
public virtual void Execute(object _stateInfo)
{
message = string.Empty;
status = JobStatus.Processing;
}
public virtual void Reset() {
message = string.Empty;
status = JobStatus.Waiting;
}
}
}