public DateTime Validate(DateTime cleardate)
        {
            ClearConfigInfo configinfo = ClearConfigManagerMock.GetLatestConfigInfo();

            if (configinfo == null || configinfo.ClearDate > cleardate)
            {
            }
            else if (cleardate == configinfo.NextClearDate)
            {
                if (!(configinfo.ClearStep == "Step5" || (configinfo.ClearStep == "Step4" && configinfo.ClearState == EnumClearState.Finished)))
                {
                    return(configinfo.ClearDate);
                }
            }
            else if (cleardate > configinfo.NextClearDate)
            {
                if (configinfo.ClearStep == "Step5" || (configinfo.ClearStep == "Step4" && configinfo.ClearState == EnumClearState.Finished))
                {
                    return(configinfo.NextClearDate);
                }
                else
                {
                    return(configinfo.ClearDate);
                }
            }

            return(cleardate.Date);
        }
 public Task Execute(DateTime clearDate, ClearStepInfo step, Action <string> msgHandle)
 {
     return(Task.Run(() =>
     {
         ClearConfigManagerMock.RunStep(step);
     }));
 }
        public DateTime GetDate( )
        {
            ClearConfigInfo configinfo = ClearConfigManagerMock.GetLatestConfigInfo();

            if (configinfo != null)
            {
                if (configinfo.ClearStep == "Step5" ||
                    (configinfo.ClearStep == "Step4" && configinfo.ClearState == EnumClearState.Finished))
                {
                    if (configinfo.NextClearDate.Date > this._maxDate)
                    {
                        return(this._maxDate);
                    }
                    else
                    {
                        return(configinfo.NextClearDate);
                    }
                }
                else
                {
                    return(configinfo.ClearDate);
                }
            }
            else
            {
                return(_maxDate);
            }
        }
 public ClearStepInfo GetRuningStep(DateTime clearDate)
 {
     return(ClearConfigManagerMock.GetRuningStep(clearDate));
 }