private void SwitchPeriodSpan()
        {
            TimeSpan period = endDateTimePicker.Value - startDateTimePicker.Value;

            if (period.TotalDays <= 15)
            {
                selectedPeriod = PeriodSpan.Days;
                skipValue      = 1;
            }
            else if (period.TotalDays <= 31)
            {
                selectedPeriod = PeriodSpan.DoubleDays;
                skipValue      = 2;
            }
            else if (period.TotalDays <= 93)
            {
                selectedPeriod = PeriodSpan.Weeks;
                skipValue      = 5;
            }
            else if (period.TotalDays <= 365)
            {
                selectedPeriod = PeriodSpan.Months;
                skipValue      = 23;
            }
            else
            {
                selectedPeriod = PeriodSpan.Years;
                skipValue      = 262;
            }
        }
Ejemplo n.º 2
0
        private PeriodSpan FindContractPeriod(Period period)
        {
            ICollection <PeriodSpan> sortedHistory = Contracts.Keys.OrderBy(x => x).ToArray();

            PeriodSpan validPeriod = sortedHistory.FirstOrDefault((x) => (x.IsPeriodValid(period)));

            return(validPeriod);
        }
Ejemplo n.º 3
0
        public T ResolveContract(Period period)
        {
            PeriodSpan periodSpan = FindContractPeriod(period);

            if (periodSpan == null)
            {
                return(DefaultInstance);
            }
            T baseEngine;

            if (Contracts.ContainsKey(periodSpan))
            {
                baseEngine = Contracts[periodSpan];
            }
            else
            {
                baseEngine = DefaultInstance;
            }
            return(baseEngine);
        }
Ejemplo n.º 4
0
        public static T InstanceFor(string namespacePrefix, string classnamePrefix, PeriodSpan contractPeriod)
        {
            Assembly assembly = typeof(ServiceContractModule).Assembly;

            return(GeneralFactory <T> .InstanceFor(assembly, namespacePrefix, ClassNameFor(classnamePrefix, contractPeriod)));
        }
Ejemplo n.º 5
0
        public static string ClassNameFor(string classnamePrefix, PeriodSpan contractPeriod)
        {
            string className = classnamePrefix + contractPeriod.ClassName();

            return(className);
        }
Ejemplo n.º 6
0
        private T CreateEngineFor(PeriodSpan contractPeriod)
        {
            T engine = ContractFactory <T> .InstanceFor(NamespacePrefix(), ClassnamePrefix(), contractPeriod);

            return(engine);
        }