public async Task GetSalesTodayAsyncNeverNegative() { LocalSalesStatsService salesStatsService = new LocalSalesStatsService(); int res = await salesStatsService.GetSalesTodayAsync(); Logger.Debug("Total sales today was ~".GetFormated(res)); Assert.Greater(res, -1, "How did you achieve negative sales? I should be interested to know sir."); }
private async Task <List <Row> > LoadListData(bool forceRemote) { LocalSalesStatsService salesStatsService = new LocalSalesStatsService(); switch (this.CurrentPeriod) { case Period.Day: this.Columns[0] = this._deviceResource.ColumnDay; break; case Period.Week: this.Columns[0] = this._deviceResource.ColumnWeek; break; case Period.Month: this.Columns[0] = this._deviceResource.ColumnMonth; break; } var stats = await salesStatsService.GetAggregatedStats(this.CurrentPeriod); if (stats == null || stats.Count == 0 || forceRemote) { stats = await new RemoteSalesStatsService().UpdateStats(this.CurrentPeriod); } List <Row> rows = new List <Row>(); if (stats != null && stats.Count > 0) { foreach (var aggStat in stats) { var row = new Row { IsSelected = false, Items = new List <string> { this.GetPeriodDateString(aggStat.From, aggStat.To), aggStat.Sales.ToString(), aggStat.Prospects.ToString() } }; rows.Add(row); } } if (this.DataFetched != null) { this.DataFetched.Invoke(this, new StatsListFetchedEvent(rows)); } return(rows); }
private async Task <List <Block> > LoadSummaryData() { LocalSalesStatsService salesStatsService = new LocalSalesStatsService(); DateTime lastUpdated = await salesStatsService.GetLastUpdatedTime(); int salesToday = await salesStatsService.GetSalesTodayAsync(); int salesThisWeek = await salesStatsService.GetSalesThisWeekAsync(); int salesThisMonth = await salesStatsService.GetSalesThisMonth(); List <Block> blocks = new List <Block> { new Block { Level = 0, BottomValue = string.Empty, Caption = string.Empty, TopValue = salesToday.ToString(), LastUpdateTime = lastUpdated }, new Block { Level = 1, Caption = string.Empty, BottomValue = string.Empty, TopValue = salesThisWeek.ToString(), LastUpdateTime = lastUpdated }, new Block { Level = 2, Caption = string.Empty, BottomValue = string.Empty, TopValue = salesThisMonth.ToString(), LastUpdateTime = lastUpdated } }; for (int i = 0; i < blocks.Count; i++) { string caption = this.GetBlockCaption(i); blocks[i].Caption = caption; } this.Summary = new ObservableCollection <Block>(blocks); return(blocks); }
public void TestDaysBelongsToCorrectWeek() { string dateFormat = "dd-MMM-yyyy"; Settings.Instance.StartOfWeek = DayOfWeek.Sunday; DayOfWeek startofDayOfWeek = Settings.Instance.StartOfWeek; LocalSalesStatsService salesStatsService = new LocalSalesStatsService(); DateTime dateToTest = new DateTime ( 2015, 08, 1 ); DateTime startOfWeek = new DateTime(2015, 07, 26); for (int i = 0; i < 365; i++) { Logger.Debug("Testing ~".GetFormated(dateToTest.ToLongDateString())); Tuple <DateTime, DateTime> range = salesStatsService.GetWeekDayBelongsTo(dateToTest); DateTime start = range.Item1; DateTime end = range.Item2; Logger.Debug("Week starts on ~".GetFormated(start.ToLongDateString())); Logger.Debug("Week ends on ~".GetFormated(end.ToLongDateString())); Assert.IsTrue ( startOfWeek.ToString(dateFormat) == start.ToString(dateFormat) , "Expected start of week to be ~ but instead it was ~" .GetFormated(startOfWeek.ToString(dateFormat), start.ToString(dateFormat)) ); dateToTest = dateToTest.AddDays(1); if (dateToTest.DayOfWeek == startofDayOfWeek) { Logger.Debug("Start of week has now been changed to ~".GetFormated(dateToTest.ToLongDateString())); startOfWeek = dateToTest; } } }