Пример #1
0
        private IQueryable <ToDoItem> TakeByTimePeriod(IQueryable <ToDoItem> query, TimePeriodEnum period)
        {
            switch (period)
            {
            case TimePeriodEnum.Day:
                var startOfDay = DateTime.Now.StartOfDay();
                var endOfDay   = DateTime.Now.EndOfDay();
                return(query.Where(x => x.StartDate >= startOfDay &&
                                   ((x.EndDate.HasValue && x.EndDate <= endOfDay) || x.StartDate <= endOfDay)));

            case TimePeriodEnum.Week:
                var startOfWeek = DateTime.Now.StartOfWeek(DayOfWeek.Monday);
                var endOfWeek   = DateTime.Now.EndOfWeek(DayOfWeek.Monday);
                return(query.Where(x => x.StartDate >= startOfWeek &&
                                   ((x.EndDate.HasValue && x.EndDate <= endOfWeek) || x.StartDate <= endOfWeek)));

            case TimePeriodEnum.Month:
                var startOfMonth = DateTime.Now.StartOfMonth();
                var endOfMonth   = DateTime.Now.EndOfMonth();
                return(query.Where(x => x.StartDate >= startOfMonth &&
                                   ((x.EndDate.HasValue && x.EndDate <= endOfMonth) || x.StartDate <= endOfMonth)));

            case TimePeriodEnum.AllTime:
            default:
                return(query);
            }
        }
Пример #2
0
        public static ITimePeriod Create(TimePeriodEnum type)
        {
            switch (type)
            {
            case TimePeriodEnum.Month:
                return(TimePeriodBase.Month);

            case TimePeriodEnum.Month3:
                return(TimePeriodBase.Month3);

            case TimePeriodEnum.Month6:
                return(TimePeriodBase.Month6);

            case TimePeriodEnum.Year:
                return(TimePeriodBase.Year);

            case TimePeriodEnum.Lifetime:
                return(TimePeriodBase.LifeTime);

            case TimePeriodEnum.Zero:
                return(TimePeriodBase.Zero);

            case TimePeriodEnum.Month15:
                return(TimePeriodBase.Month15);

            case TimePeriodEnum.Month18:
                return(TimePeriodBase.Month18);

            case TimePeriodEnum.Year2:
                return(TimePeriodBase.Year2);

            default:
                throw new NotImplementedException();
            }
        }
Пример #3
0
        public List <WorkLog> GetWorkLogsFromPeriod(List <WorkLog> logs, TimePeriodEnum period)
        {
            var      currentDate = DateTime.Now;
            DateTime startTime;
            DateTime endTime;

            switch (period)
            {
            case TimePeriodEnum.Month:
                startTime = new DateTime(currentDate.Year, currentDate.Month, 1);
                endTime   = WorkLogsInput.SearchStartDate.AddMonths(1).AddDays(-1);
                break;

            case TimePeriodEnum.Week:
                var days = currentDate.DayOfWeek - DayOfWeek.Sunday;
                startTime = currentDate.AddDays(-days);
                endTime   = startTime.AddDays(6);
                break;

            case TimePeriodEnum.Day:
                startTime = currentDate;
                endTime   = currentDate;
                break;

            default:
                startTime = currentDate;
                endTime   = currentDate;
                break;
            }

            var logsInTime = logs.Where(log => log.DateStarted >= startTime && log.DateStarted <= endTime).ToList();

            return(logsInTime);
        }
Пример #4
0
        protected TimePeriodBase(TimePeriodEnum timePeriodType, Guid internalId)
        {
            TimePeriodType = timePeriodType;
            InternalId     = internalId;

            ConvertedTypeInfo info = new DatabaseAnalysisFunctionTimePeriodTypeConverter().Convert(timePeriodType);

            Name        = info.Name;
            DisplayName = info.DisplayName;
            Description = info.Description;
        }
Пример #5
0
 public BudgetSummary(
     TimePeriodEnum timePeriod,
     DateTime startDate,
     DateTime endDate,
     decimal totalIncome,
     decimal totalOutcome)
 {
     TimePeriod            = timePeriod;
     StartDate             = startDate;
     EndDate               = endDate;
     TotalIncome           = totalIncome;
     TotalOutcome          = totalOutcome;
     NetChange             = totalIncome - totalOutcome;
     IncomeCategoryTotals  = new Dictionary <IncomeCategoryEnum, decimal>();
     OutcomeCategoryTotals = new Dictionary <OutcomeCategoryEnum, decimal>();
 }
Пример #6
0
        public static FeedbackPeriod ConvertToAmazonTimePeriod(TimePeriodEnum timePeriod)
        {
            switch (timePeriod)
            {
            case TimePeriodEnum.Lifetime:
                return(FeedbackPeriod.Lifetime);

            case TimePeriodEnum.Month:
                return(FeedbackPeriod.Days30);

            case TimePeriodEnum.Month3:
                return(FeedbackPeriod.Days90);

            case TimePeriodEnum.Year:
                return(FeedbackPeriod.Days365);

            default:
                throw new NotImplementedException();
            }
        }
Пример #7
0
        internal void Run()
        {
            ConsoleHelper.WriteSpacedLine("Enter Budget FilePath (including filename)");
            IBudget budget = JsonBudget.LoadBudget(Console.ReadLine());

            TimePeriodEnum summaryPeriod = ConsoleHelper.GetEnumValueFromConsoleInput <TimePeriodEnum>("Select Summary TimePeriod: ");
            DateTime       endDate;

            if (ConsoleHelper.GetBooleanInput("From Current Date?"))
            {
                endDate = DateTime.Today;
            }
            else
            {
                endDate = ConsoleHelper.GetDateInput("Enter the last date of the period to summarise");
            }

            BudgetSummariser summariser = new BudgetSummariser(budget, summaryPeriod, endDate);

            OutputSummary(summariser.BuildSummary());
        }
Пример #8
0
        private int GetFeedbackByPeriod(FeedbackPeriodType[] feedbackPeriodType, TimePeriodEnum period)
        {
            if (feedbackPeriodType == null || feedbackPeriodType.Length == 0)
            {
                return(0);
            }

            var tp = TimePeriodFactory.Create(period);

            int days = tp.DaysInPeriod;

            FeedbackPeriodType rez = feedbackPeriodType.FirstOrDefault(p => p.PeriodInDays == days);

            Debug.Assert(rez != null);

            if (rez == null)
            {
                return(0);
            }

            return(rez.Count);
        }
Пример #9
0
 public DatabaseEbayFeedbackDataByPeriod(TimePeriodEnum timePeriod) : base(timePeriod)
 {
 }
Пример #10
0
 public TimePeriodLifeTime(TimePeriodEnum lifetime, Guid guid)
     : base(lifetime, guid)
 {
 }
Пример #11
0
 public int GetNeutralFeedbackByPeriod(TimePeriodEnum period)
 {
     return(_response.FeedbackSummary == null ? 0 : GetFeedbackByPeriod(_response.FeedbackSummary.NeutralFeedbackPeriodArray, period));
 }
Пример #12
0
 public ReceivedDataListTimeDependentInfo(ReceivedDataListTimeDependentBase <T> data, TimePeriodEnum timePeriodType)
 {
     Data           = data;
     TimePeriodType = timePeriodType;
 }
Пример #13
0
        }         // GetAggregations

        private void AppendAggregations(
            List <IAnalysisDataParameterInfo> target,
            List <EbayAggregation> ag,
            TimePeriodEnum timePeriod,
            DateTime firstOfMonth
            )
        {
            ITimePeriod time = TimePeriodFactory.Create(timePeriod);

            if (time.TimePeriodType != TimePeriodEnum.Lifetime)
            {
                ag = ag.Where(x => x.TheMonth > firstOfMonth.AddMonths(-time.MonthsInPeriod)).ToList();
            }

            var parameterInfos = new List <IAnalysisDataParameterInfo>();

            AddAnalysisItem(parameterInfos, time, AggregationFunction.Turnover, ag.Sum(x => x.Turnover));

            AddAnalysisItem(
                parameterInfos,
                time,
                AggregationFunction.AverageSumOfOrder,
                ag.Sum(x => x.AverageSumOfOrderNumerator),
                ag.Sum(x => x.AverageSumOfOrderDenominator)
                );

            AddAnalysisItem(
                parameterInfos,
                time,
                AggregationFunction.AverageItemsPerOrder,
                ag.Sum(x => x.AverageItemsPerOrderNumerator),
                ag.Sum(x => x.AverageItemsPerOrderDenominator)
                );

            AddAnalysisItem(
                parameterInfos,
                time,
                AggregationFunction.CancelledOrdersCount,
                ag.Sum(x => x.CancelledOrdersCount)
                );

            AddAnalysisItem(parameterInfos, time, AggregationFunction.NumOfOrders, ag.Sum(x => x.NumOfOrders));

            AddAnalysisItem(
                parameterInfos,
                time,
                AggregationFunction.OrdersCancellationRate,
                ag.Sum(x => x.OrdersCancellationRateNumerator),
                ag.Sum(x => x.OrdersCancellationRateDenominator)
                );

            AddAnalysisItem(parameterInfos, time, AggregationFunction.TotalItemsOrdered, ag.Sum(x => x.TotalItemsOrdered));

            AddAnalysisItem(parameterInfos, time, AggregationFunction.TotalSumOfOrders, ag.Sum(x => x.TotalSumOfOrders));

            if (time.MonthsInPeriod <= MonthsInYear)
            {
                AddAnalysisItem(
                    parameterInfos,
                    time,
                    AggregationFunction.TotalSumOfOrdersAnnualized,
                    ag.Sum(x => x.TotalSumOfOrders) * (MonthsInYear / (decimal)time.MonthsInPeriod)
                    );
            }             // if

            target.AddRange(parameterInfos);
        }         // AppendAggregations
Пример #14
0
 public DatabaseAmazonFeedbackDataByPeriod(TimePeriodEnum timePeriod)
     : base(timePeriod)
 {
 }
Пример #15
0
 public BudgetSummariser(IBudget budget, TimePeriodEnum period, DateTime endDate)
 {
     Budget  = budget;
     Period  = period;
     EndDate = endDate;
 }
 public DatabaseEbayRaitingDataByPeriod(TimePeriodEnum timePeriod)
     : base(timePeriod)
 {
 }
Пример #17
0
 public TimePeriodYearly(TimePeriodEnum year, Guid guid, int countYears)
     : base(year, guid)
 {
     _CountYears = countYears;
 }
Пример #18
0
 public TimePeriodNone(TimePeriodEnum periodType, Guid guid)
     : base(periodType, guid)
 {
 }
Пример #19
0
 public TimePeriodMonthly(TimePeriodEnum month, Guid guid, int countMonths)
     : base(month, guid)
 {
     _CountMonths = countMonths;
 }
Пример #20
0
 protected DataByPeriodBase(TimePeriodEnum timePeriod)
 {
     TimePeriod = timePeriod;
 }