public static MonthSummary GetMonthSummary() { var today = DateTime.Now; MonthSummary month = new MonthSummary(today, MonthVisualActivitiesList()); return(month); }
public void Test_Get_Current_Week_Start_Date() { MonthSummary month = new MonthSummary(today, (List <VisualActivity>)visualActivities); var result = month.WeekStartDate; Assert.AreEqual(thisMonday.Date, result.Date); }
private OverviewDto(MonthYear monthYear, MonthSummary summary, IReadOnlyList <Category> categories) { this.monthYear = monthYear ?? throw new ArgumentNullException(nameof(monthYear)); this.summary = summary ?? throw new ArgumentNullException(nameof(summary)); this.categories = categories ?? throw new ArgumentNullException(nameof(categories)); BuildOverview(); }
public void Test_Get_Activities_For_Week() { MonthSummary month = new MonthSummary(today, (List <VisualActivity>)visualActivities); var result = month.getActivitiesForThisWeek((List <VisualActivity>)visualActivities); Assert.AreEqual(7, result.Count); }
public void Test_Get_Current_Week_Start_Date_On_Sunday() { var sunday = new DateTime(2019, 10, 20); MonthSummary month = new MonthSummary(sunday, (List <VisualActivity>)visualActivities); var result = month.WeekStartDate; Assert.AreEqual(thisMonday.Date, result.Date); }
public void Test_Get_Activities_For_Month() { MonthSummary month = new MonthSummary(today, (List <VisualActivity>)visualActivities); var result = (List <VisualActivity>)month.Activites; Assert.AreEqual(30, result.Count); Assert.AreEqual(today.Month, result[0].Summary.StartDate.Value.Month); }
public void Test_Get_Current_Week_Start_Date_On_A_New_MOnth() { var dateOnNewMonth = new DateTime(2019, 11, 01); var startOfTheWeek = new DateTime(2019, 10, 28); MonthSummary month = new MonthSummary(dateOnNewMonth, (List <VisualActivity>)visualActivities); var result = month.WeekStartDate; Assert.AreEqual(startOfTheWeek.Date, result.Date); }
public void GetTotalIncome() { // Arrange MonthSummary summary = BuildSummary(); // Act decimal total = summary.GetTotalIncome(); // Assert Assert.Equal(1300.50m, total); }
public void GetPendingExpenses() { // Arrange MonthSummary summary = BuildSummary(); // Act var statements = summary.GetPendingExpenses(); // Assert Assert.Equal(2, statements.Count); Assert.Equal(621.10m, statements.Sum(x => x.Amount.Value)); }
public void GetExpenses() { // Arrange MonthSummary summary = BuildSummary(); // Act var statements = summary.GetExpenses(); // Assert Assert.Equal(4, statements.Count); Assert.Equal(621.10m, statements.Where(x => x.Category.Name == IncomeCategoryName).Sum(x => x.Amount.Value)); Assert.Equal(500.20m, statements.Where(x => x.Category.Name == IncomePaidCategoryName).Sum(x => x.Amount.Value)); }
public ActionResult GetMonthSummary() { var _objects = IssueManager.GetAllOf(User.Identity.Name) .Where(t => t.IsInMonth(DateTime.Now.Month)); MonthSummary summary = new MonthSummary(_objects); if (Request.IsAjaxRequest()) { return(PartialView("Dashboards/_MonthDashboard", summary)); } return(View("Dashboards/_MonthDashboard", summary)); }
public void GetCurrentBalance_FutureBankStatementsAndPaidStatements() { // Arrange var statementList = BuildStatementList(); List <Bank> bankList = BuildBankWithStatements(DateTime.Parse("2018-04-20")); var summary = new MonthSummary(statementList, bankList); // Act decimal result = summary.GetCurrentBalance(); // Assert Assert.Equal(401m, result); }
public void GetCurrentBalance_NoBankStatementsAndPaidStatements() { // Arrange var statementList = BuildStatementList(); List <Bank> bankList = new List <Bank>() { new Bank() }; var summary = new MonthSummary(statementList, bankList); // Act decimal result = summary.GetCurrentBalance(); // Assert Assert.Equal(-500.20m, result); }
public PartialViewResult LoadCalendarPartial(DateTime date) { if (!User.Identity.IsAuthenticated) { MonthSummary exampleMonthSummary = ExampleData.GetMonthSummary(); return(PartialView("_CalendarPartial", exampleMonthSummary)); } _httpContextHelper.Context = HttpContext; string accessToken = _httpContextHelper.getAccessToken(); int stravaId = Convert.ToInt32(User.FindFirst("stravaId").Value); var user = getUpdatedUserActivities(accessToken, stravaId); MonthSummary monthSummary = new MonthSummary(date, user.VisualActivities.ToList()); return(PartialView("_CalendarPartial", monthSummary)); }
private void LoadMonthlySummary() { try { XmlSerializer serializer = new XmlSerializer(typeof(History)); string fileName = System.IO.Path.Combine(Application.CommonAppDataPath, "positions.xml"); using (FileStream fs = new FileStream(fileName, FileMode.Open)) { Program.myHistory = (History)serializer.Deserialize(fs); } } catch (Exception ex) { Program.myHistory = new History(); } ArrayList meses = new ArrayList(); foreach (Position position in Program.myHistory.positions) { //descobre mes da posicao int mes = DateTime.Parse(position.DataAbertura).Month; bool existe = false; foreach (MonthSummary month in meses) { if (month.Mes == mes) { month.Posicoes.Add(position); existe = true; break; //ja tem o mes criado } } //cria novo mes if (!existe) { MonthSummary novoMes = new MonthSummary(mes); novoMes.Posicoes.Add(position); meses.Add(novoMes); } } drawMonthSummary(meses); }
public MonthSummary ToMonthSummary() { var monthSummary = new MonthSummary { Id = Id.ToUUID(), When = When.ToTimestamp(), IsExpanded = IsExpanded, UncategorizedCount = _payments.Values.SelectMany(v => v.Payments).Count(v => v.CategoryId == null && v.DebtId == null), Summary = { _payments.Values.SelectMany(v => v.Payments).GroupBy(v => v.Ccy).Select(v => new CurrencySummary { Amount = v.Sum(t => t.Amount), Currency = v.Key }) } }; var visiblePayments = _payments.Values .OrderByDescending(v => v.GetVisiblePayments(ShowCategorized).Select(t => t.When).Concat(new[] { DateTime.MinValue }).Max()) .ToList(); if (IsExpanded) { foreach (var group in visiblePayments) { var matchingPayments = group.GetVisiblePayments(ShowCategorized); if (matchingPayments.Count == 0) { continue; } monthSummary.Payments.Add(matchingPayments.Count == 1 ? new PaymentView { Payment = PaymentTransformers.ToPaymentView(matchingPayments[0]) } : new PaymentView { Group = PaymentTransformers.ToPaymentGroup(group, ShowCategorized) }); } } return(monthSummary); }
public void GetCurrentBalance_MultipleStatementsInOneBank() { // Arrange var statementList = new List <Statement>(); var bankList = new List <Bank>() { BuildBank(1, new List <BankStatement> { BuildBankStatement(200.50m, DateTime.Parse("2018-04-01")), BuildBankStatement(300.80m, DateTime.Parse("2018-04-02")) }) }; var summary = new MonthSummary(statementList, bankList); // Act decimal result = summary.GetCurrentBalance(); // Assert Assert.Equal(300.80m, result); }
public static IList <VisualActivity> MonthVisualActivitiesList() { IList <VisualActivity> activities = new List <VisualActivity>(); Random gen = new Random(); var firstDayOfMonth = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1); var firstDayOfTheWeek = MonthSummary.getCurrentWeekStartDate(DateTime.Today); var dates = randomDatesThisMonth(gen, firstDayOfMonth, firstDayOfTheWeek); if (dates.Contains(firstDayOfTheWeek)) { dates.Remove(firstDayOfTheWeek); } int id = 1; foreach (var date in dates) { var summary = new SummaryActivity(startLatlng: new LatLng(), endLatlng: new LatLng(), type: ActivityType.Crossfit, movingTime: 60, distance: 3, elapsedTime: 3000, athlete: new MetaAthlete(123), startDate: date, id: id); summary.StartLatlng.Add(30.0F); summary.StartLatlng.Add(40.0F); summary.EndLatlng.Add(30.0F); summary.EndLatlng.Add(40.0F); activities.Add(new VisualActivity(summary)); id++; } var summaryForCurrentDay = new SummaryActivity(name: "Morning run", startLatlng: new LatLng(), endLatlng: new LatLng(), type: ActivityType.Run, movingTime: 60, distance: 5000, elapsedTime: 1380, athlete: new MetaAthlete(123), startDate: DateTime.Today, id: id); summaryForCurrentDay.StartLatlng.Add(30.0F); summaryForCurrentDay.StartLatlng.Add(40.0F); summaryForCurrentDay.EndLatlng.Add(30.0F); summaryForCurrentDay.EndLatlng.Add(40.0F); activities.Add(new VisualActivity(summaryForCurrentDay)); return(activities); }
public void IsUpToDate_MonthSummaryOutOfDate_ReturnsCorrect() { // PREPARE THE TEST // setup the default mocks MockRepository mocks = new MockRepository(); var target = new MonthSummary() { GuideEntries = new List<ArticleSummary> { ArticleSummaryTest.CreateArticleSummaryTest() } }; var reader = mocks.DynamicMock<IDnaDataReader>(); reader.Stub(x => x.HasRows).Return(true); reader.Stub(x => x.Read()).Return(false); var creator = mocks.DynamicMock<IDnaDataReaderCreator>(); creator.Stub(x => x.CreateDnaDataReader("cachegettimeofmostrecentguideentry")).Return(reader); mocks.ReplayAll(); Assert.AreEqual(false, target.IsUpToDate(creator)); }
public void CloneTest() { var target = new MonthSummary { GuideEntries = new List<ArticleSummary> { ArticleSummaryTest.CreateArticleSummaryTest() } , LastUpdated = DateTime.Now }; var actual = (MonthSummary)target.Clone(); Assert.AreEqual(1, actual.GuideEntries.Count); }
private void DrawPanelMonth(MonthSummary mes) { // // lblMes // Label lblMes = new Label(); lblMes.AutoSize = true; lblMes.Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); lblMes.ForeColor = System.Drawing.SystemColors.Highlight; lblMes.Location = new System.Drawing.Point(10, 11); lblMes.Name = "lblMes"; lblMes.Size = new System.Drawing.Size(55, 24); lblMes.TabIndex = 0; lblMes.Text = mes.MesNome; // // pctAcerto // PictureBox pctAcerto = new PictureBox(); pctAcerto.BackgroundImage = global::Positions.Properties.Resources.if_piechart_1055011__1_; pctAcerto.Location = new System.Drawing.Point(30, lblMes.Location.Y + lblMes.Height + 15); pctAcerto.Name = "pctAcerto"; pctAcerto.SizeMode = PictureBoxSizeMode.AutoSize; pctAcerto.Size = new System.Drawing.Size(20, 20); pctAcerto.TabIndex = 9; pctAcerto.TabStop = false; // // lblTxAcerto // Label lblTxAcerto = new Label(); lblTxAcerto.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); lblTxAcerto.Name = "lblTxAcerto"; lblTxAcerto.Location = new System.Drawing.Point(pctAcerto.Location.X + pctAcerto.Width + 5, pctAcerto.Location.Y); lblTxAcerto.Size = new System.Drawing.Size(140, 20); lblTxAcerto.Text = "Taxa de acerto:"; // // lblTxAcertoVal // Label lblTxAcertoVal = new Label(); lblTxAcertoVal.Name = "lblTxAcertoVal"; lblTxAcertoVal.Location = new System.Drawing.Point(lblTxAcerto.Location.X + lblTxAcerto.Width + 5, lblTxAcerto.Location.Y); lblTxAcertoVal.AutoSize = true; lblTxAcertoVal.Text = mes.TaxaAcerto.ToString("0.00") + "%"; /* * // * // pctWallet * // * PictureBox pctWallet = new PictureBox(); * pctWallet.BackgroundImage = global::Positions.Properties.Resources._309020_24; * pctWallet.Location = new System.Drawing.Point(36, 49); * pctWallet.Name = "pctWallet"; * pctWallet.Size = new System.Drawing.Size(25, 25); * pctWallet.TabIndex = 9; * pctWallet.TabStop = false; * // * // lblLucro * // * Label lblLucro = new Label(); * lblLucro.AutoSize = true; * lblLucro.Location = new System.Drawing.Point(67, 49); * lblLucro.Name = "lblLucro"; * lblLucro.Size = new System.Drawing.Size(73, 13); * lblLucro.TabIndex = 1; * lblLucro.Text = "Lucro mensal:"; * // * // lblLucroValue * // * Label lblLucroValue = new Label(); * lblLucroValue.AutoSize = true; * lblLucroValue.ForeColor = System.Drawing.Color.Green; * lblLucroValue.Location = new System.Drawing.Point(146, 49); * lblLucroValue.Name = "lblLucroValue"; * lblLucroValue.Size = new System.Drawing.Size(88, 13); * lblLucroValue.TabIndex = 2; * lblLucroValue.Text = "0.00347893 BTC"; * // * // lblPercentCapital * // * Label lblPercentCapital = new Label(); * lblPercentCapital.AutoSize = true; * lblPercentCapital.ForeColor = System.Drawing.Color.Green; * lblPercentCapital.Location = new System.Drawing.Point(146, 73); * lblPercentCapital.Name = "lblPercentCapital"; * lblPercentCapital.Size = new System.Drawing.Size(145, 13); * lblPercentCapital.TabIndex = 3; * lblPercentCapital.Text = "23% do capital inicial de maio"; * // * // pctOperacoes * // * PictureBox pctOperacoes = new PictureBox(); * pctOperacoes.BackgroundImage = global::Positions.Properties.Resources.if_statistics_383213; * pctOperacoes.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; * pctOperacoes.Location = new System.Drawing.Point(380, 49); * pctOperacoes.Name = "pctOperacoes"; * pctOperacoes.Size = new System.Drawing.Size(25, 25); * pctOperacoes.TabIndex = 10; * pctOperacoes.TabStop = false; */ // // lblOperacoes // Label lblOperacoes = new Label(); lblOperacoes.AutoSize = true; lblOperacoes.Location = new System.Drawing.Point(320, lblTxAcerto.Location.Y); lblOperacoes.Name = "lblOperacoes"; lblOperacoes.Size = new System.Drawing.Size(112, 13); lblOperacoes.TabIndex = 4; lblOperacoes.Text = "Operações realizadas:"; // // lblOperacoesValue // Label lblOperacoesValue = new Label(); lblOperacoesValue.AutoSize = true; lblOperacoesValue.Location = new System.Drawing.Point(lblOperacoes.Location.X + lblOperacoes.Width + 5, lblOperacoes.Location.Y); lblOperacoesValue.Name = "lblOperacoesValue"; lblOperacoesValue.Size = new System.Drawing.Size(19, 13); lblOperacoesValue.TabIndex = 5; lblOperacoesValue.Text = mes.Posicoes.Count.ToString(); // // lblDuracao // Label lblDuracao = new Label(); lblDuracao.AutoSize = true; lblDuracao.Location = new System.Drawing.Point(lblOperacoes.Location.X, lblOperacoes.Location.Y + 20); lblDuracao.Name = "lblDuracao"; lblDuracao.Size = new System.Drawing.Size(82, 13); lblDuracao.TabIndex = 6; lblDuracao.Text = "Duração média:"; // // lblDuracaoValue // Label lblDuracaoValue = new Label(); lblDuracaoValue.AutoSize = true; lblDuracaoValue.Location = new System.Drawing.Point(lblDuracao.Location.X + lblDuracao.Width + 5, lblDuracao.Location.Y); lblDuracaoValue.Name = "lblDuracaoValue"; lblDuracaoValue.Size = new System.Drawing.Size(99, 13); lblDuracaoValue.TabIndex = 7; lblDuracaoValue.Text = mes.DuracaoMedia; // // btnDetalhes // Button btnDetalhes = new Button(); btnDetalhes.Location = new System.Drawing.Point(619, 14); btnDetalhes.Name = "btnDetalhes"; btnDetalhes.Size = new System.Drawing.Size(75, 23); btnDetalhes.TabIndex = 8; btnDetalhes.Text = "Detalhes"; btnDetalhes.UseVisualStyleBackColor = true; // // lblDiv // Label lblDiv = new Label(); lblDiv.AutoSize = true; lblDiv.Location = new System.Drawing.Point(7, 94); lblDiv.Name = "lblDiv"; lblDiv.Size = new System.Drawing.Size(697, 13); lblDiv.TabIndex = 11; lblDiv.Text = "_________________________________________________________________________________" + "__________________________________"; // // pnlMonthSummary // Panel pnlMonthSummary = new Panel(); pnlMonthSummary.BackColor = System.Drawing.Color.White; pnlMonthSummary.Location = new System.Drawing.Point(0, 0); pnlMonthSummary.Name = "pnlMonthSummary"; pnlMonthSummary.Dock = DockStyle.Top; pnlMonthSummary.Size = new System.Drawing.Size(0, 115); pnlMonthSummary.Controls.AddRange(new Control[] { lblMes, pctAcerto, lblTxAcerto, lblTxAcertoVal, /*pctWallet, lblLucro, lblLucroValue, lblPercentCapital, pctOperacoes,*/ lblOperacoes, lblOperacoesValue, lblDuracao, lblDuracaoValue, btnDetalhes, lblDiv }); panelMainContainer.Controls.Add(pnlMonthSummary); }
/// <summary> /// Returns a test MonthSummary /// </summary> /// <returns></returns> public static MonthSummary CreateTestMonthSummary() { var monthSummary = new MonthSummary() { GuideEntries = new List<ArticleSummary> { ArticleSummaryTest.CreateArticleSummaryTest() } }; return monthSummary; }
public void Test_Get_Current_Month() { MonthSummary month = new MonthSummary(today, (List <VisualActivity>)visualActivities); Assert.AreEqual(today.Month, month.Month); }
public void GetCacheKeyTest() { var monthSummary = new MonthSummary(); string expected = string.Format("{0}|0|0|0|0|True|0|", typeof(MonthSummary).AssemblyQualifiedName); string actual = monthSummary.GetCacheKey(0, 0, 0, 0, true, 0); Assert.AreEqual(expected, actual); }
public List <ChartData> YearlyReport(int type, int subType, int year) { DateTime dateFrom = new DateTime(year, 1, 1); DateTime dateTo = new DateTime(year, 12, 31); // Get data List <PoDetailModel> poList = (from pd in _unitOfWork.GetRepository <Txn_PODetail>().GetQueryable(o => o.Status == 1) join p in _unitOfWork.GetRepository <Txn_PO>().GetQueryable(o => o.Status == 1 && dateFrom <= o.PoDate && o.PoDate <= dateTo) on pd.PoId equals p.PoId select new PoDetailModel { PoDate = p.PoDate, TotalPrice = pd.TotalPrice, Profit = pd.Profit, }).ToList(); List <ChartData> data = new List <ChartData>(); MonthSummary summary = new MonthSummary(); foreach (PoDetailModel po in poList) { decimal value = decimal.Zero; if (type == 0) { value = po.TotalPrice; } else if (type == 1) { value = po.Profit; } if (po.PoDate.Month == 1) { summary.Jan += value; } else if (po.PoDate.Month == 2) { summary.Feb += value; } else if (po.PoDate.Month == 3) { summary.Mar += value; } else if (po.PoDate.Month == 4) { summary.Apr += value; } else if (po.PoDate.Month == 5) { summary.May += value; } else if (po.PoDate.Month == 6) { summary.Jun += value; } else if (po.PoDate.Month == 7) { summary.Jul += value; } else if (po.PoDate.Month == 8) { summary.Aug += value; } else if (po.PoDate.Month == 9) { summary.Sep += value; } else if (po.PoDate.Month == 10) { summary.Oct += value; } else if (po.PoDate.Month == 11) { summary.Nov += value; } else if (po.PoDate.Month == 12) { summary.Dec += value; } } if (subType == 0) { data.Add(new ChartData { label = "Jan", y = summary.Jan }); data.Add(new ChartData { label = "Feb", y = summary.Feb }); data.Add(new ChartData { label = "Mar", y = summary.Mar }); data.Add(new ChartData { label = "Apr", y = summary.Apr }); data.Add(new ChartData { label = "May", y = summary.May }); data.Add(new ChartData { label = "Jun", y = summary.Jun }); data.Add(new ChartData { label = "Jul", y = summary.Jul }); data.Add(new ChartData { label = "Aug", y = summary.Aug }); data.Add(new ChartData { label = "Sep", y = summary.Sep }); data.Add(new ChartData { label = "Oct", y = summary.Oct }); data.Add(new ChartData { label = "Nov", y = summary.Nov }); data.Add(new ChartData { label = "Dec", y = summary.Dec }); } else if (subType == 1) { data.Add(new ChartData { label = "Q1", y = summary.Jan + summary.Feb + summary.Mar }); data.Add(new ChartData { label = "Q2", y = summary.Apr + summary.May + summary.Jun }); data.Add(new ChartData { label = "Q3", y = summary.Jul + summary.Aug + summary.Sep }); data.Add(new ChartData { label = "Q4", y = summary.Oct + summary.Nov + summary.Dec }); } return(data); }
public void MonthSummaryXmlTest() { MonthSummary monthSummary = new MonthSummary(); XmlDocument xml = Serializer.SerializeToXml(monthSummary); Assert.IsNotNull(xml.SelectSingleNode("MONTHSUMMARY")); }
public static OverviewDto Create(MonthYear monthYear, MonthSummary summary, IReadOnlyList <Category> categories) => new OverviewDto(monthYear, summary, categories);