public static bool IsScheduledForDate(string freqTypeString, string freqValueString, System.DateTime date)
        {
            FrequencyTypeEnum  freqType  = (FrequencyTypeEnum)System.Enum.Parse(typeof(FrequencyTypeEnum), freqTypeString);
            FrequencyValueEnum freqValue = (FrequencyValueEnum)System.Enum.Parse(typeof(FrequencyValueEnum), freqValueString);

            return(IsScheduledForDate(freqType, freqValue, date));
        }
        public void Fetch()
        {
            this.Validate(true);

            FI.DataAccess.Distributions dacObj = DataAccessFactory.Instance.GetDistributionsDA();
            System.Data.DataRow         row    = dacObj.ReadDistribution(this._owner.ID, this.ID).Rows[0];
            this._contact       = _owner.ContactSystem.GetContact(int.Parse(row["ContactId"].ToString()), false);
            this._report        = _owner.ReportSystem.GetReport(int.Parse(row["ReportId"].ToString()), _owner.ReportSystem.GetReportType(int.Parse(row["ReportType"].ToString())), false);
            this.FrequencyType  = (Distribution.FrequencyTypeEnum)System.Enum.Parse(typeof(Distribution.FrequencyTypeEnum), row["FrequencyType"].ToString());
            this.FrequencyValue = (Distribution.FrequencyValueEnum)System.Enum.Parse(typeof(Distribution.FrequencyValueEnum), row["FrequencyValue"].ToString());
            this.Format         = (Report.ExportFormat)((int)(byte)row["Format"]);

            this._isProxy = false;
            this._isDirty = false;
        }
        public static bool IsScheduledForDate(FrequencyTypeEnum freqType, FrequencyValueEnum freqValue, System.DateTime date)
        {
            if (freqType == FrequencyTypeEnum.Weekdays)
            {
                if (date.DayOfWeek == System.DayOfWeek.Monday && (freqValue & FrequencyValueEnum.Mon) == FrequencyValueEnum.Mon)
                {
                    return(true);
                }
                else if (date.DayOfWeek == System.DayOfWeek.Tuesday && (freqValue & FrequencyValueEnum.Tue) == FrequencyValueEnum.Tue)
                {
                    return(true);
                }
                else if (date.DayOfWeek == System.DayOfWeek.Wednesday && (freqValue & FrequencyValueEnum.Wed) == FrequencyValueEnum.Wed)
                {
                    return(true);
                }
                else if (date.DayOfWeek == System.DayOfWeek.Thursday && (freqValue & FrequencyValueEnum.Thu) == FrequencyValueEnum.Thu)
                {
                    return(true);
                }
                else if (date.DayOfWeek == System.DayOfWeek.Friday && (freqValue & FrequencyValueEnum.Fri) == FrequencyValueEnum.Fri)
                {
                    return(true);
                }
                else if (date.DayOfWeek == System.DayOfWeek.Saturday && (freqValue & FrequencyValueEnum.Sat) == FrequencyValueEnum.Sat)
                {
                    return(true);
                }
                else if (date.DayOfWeek == System.DayOfWeek.Sunday && (freqValue & FrequencyValueEnum.Sun) == FrequencyValueEnum.Sun)
                {
                    return(true);
                }
            }
            else if (freqType == FrequencyTypeEnum.Weeks)
            {
                if (date.DayOfWeek == System.DayOfWeek.Monday && date.Day >= 1 && date.Day <= 7 && (freqValue & FrequencyValueEnum.Week1) == FrequencyValueEnum.Week1)
                {
                    return(true);
                }
                else if (date.DayOfWeek == System.DayOfWeek.Monday && date.Day >= 8 && date.Day <= 14 && (freqValue & FrequencyValueEnum.Week2) == FrequencyValueEnum.Week2)
                {
                    return(true);
                }
                else if (date.DayOfWeek == System.DayOfWeek.Monday && date.Day >= 15 && date.Day <= 21 && (freqValue & FrequencyValueEnum.Week3) == FrequencyValueEnum.Week3)
                {
                    return(true);
                }
                else if (date.DayOfWeek == System.DayOfWeek.Monday && date.Day >= 22 && date.Day <= 28 && (freqValue & FrequencyValueEnum.Week4) == FrequencyValueEnum.Week4)
                {
                    return(true);
                }
            }
            else if (freqType == FrequencyTypeEnum.Monthly)
            {
                if (date.Day == 1 && (freqValue & FrequencyValueEnum.Monthly) == FrequencyValueEnum.Monthly)
                {
                    return(true);
                }
            }

            return(false);
        }
        public static bool IsScheduledForDate(FrequencyTypeEnum freqType, FrequencyValueEnum freqValue, System.DateTime date)
        {
            if(freqType==FrequencyTypeEnum.Weekdays)
            {
                if(date.DayOfWeek==System.DayOfWeek.Monday && (freqValue & FrequencyValueEnum.Mon)==FrequencyValueEnum.Mon)
                    return true;
                else if(date.DayOfWeek==System.DayOfWeek.Tuesday && (freqValue & FrequencyValueEnum.Tue)==FrequencyValueEnum.Tue)
                    return true;
                else if(date.DayOfWeek==System.DayOfWeek.Wednesday && (freqValue & FrequencyValueEnum.Wed)==FrequencyValueEnum.Wed)
                    return true;
                else if(date.DayOfWeek==System.DayOfWeek.Thursday && (freqValue & FrequencyValueEnum.Thu)==FrequencyValueEnum.Thu)
                    return true;
                else if(date.DayOfWeek==System.DayOfWeek.Friday && (freqValue & FrequencyValueEnum.Fri)==FrequencyValueEnum.Fri)
                    return true;
                else if(date.DayOfWeek==System.DayOfWeek.Saturday && (freqValue & FrequencyValueEnum.Sat)==FrequencyValueEnum.Sat)
                    return true;
                else if(date.DayOfWeek==System.DayOfWeek.Sunday && (freqValue & FrequencyValueEnum.Sun)==FrequencyValueEnum.Sun)
                    return true;
            }
            else if(freqType==FrequencyTypeEnum.Weeks)
            {

                if(date.DayOfWeek==System.DayOfWeek.Monday && date.Day>=1 && date.Day<=7 && (freqValue & FrequencyValueEnum.Week1)==FrequencyValueEnum.Week1)
                    return true;
                else if(date.DayOfWeek==System.DayOfWeek.Monday && date.Day>=8 && date.Day<=14 && (freqValue & FrequencyValueEnum.Week2)==FrequencyValueEnum.Week2)
                    return true;
                else if(date.DayOfWeek==System.DayOfWeek.Monday && date.Day>=15 && date.Day<=21 && (freqValue & FrequencyValueEnum.Week3)==FrequencyValueEnum.Week3)
                    return true;
                else if(date.DayOfWeek==System.DayOfWeek.Monday && date.Day>=22 && date.Day<=28 && (freqValue & FrequencyValueEnum.Week4)==FrequencyValueEnum.Week4)
                    return true;
            }
            else if(freqType==FrequencyTypeEnum.Monthly)
            {
                if(date.Day==1 && (freqValue & FrequencyValueEnum.Monthly)==FrequencyValueEnum.Monthly)
                    return true;
            }

            return false;
        }