public static void TestTo(string to) { var recipient = new ApplicationUser { Email = to }; var email = new WeeklySummary(recipient, default(IReadOnlyList <Allocation>), default(IReadOnlyList <Request>)); Assert.Equal(to, email.To); }
public void Insert(WeeklySummary _week) { using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand _command = new SqlCommand(); _command.Connection = connection; _command.CommandText = "SP_INS_Table"; SqlParameter _param = _command.Parameters.Add("@value1", System.Data.SqlDbType.VarChar); _param.Value = "Weekly_Summary"; SqlParameter _param2 = _command.Parameters.Add("@value2", System.Data.SqlDbType.VarChar); StringBuilder _content = new StringBuilder(); _content.AppendFormat("{0}{1}",_week.Period.ID , ","); _content.AppendFormat("{0}{1}", _week.Entity.EntityID, ","); _content.AppendFormat("{0}{1}", _week.BaseCurrency, ","); _content.AppendFormat("{0}{1}", _week.ExchangeRate, ","); _content.AppendFormat("{0}{1}", _week.BasePrevBalance, ","); _content.AppendFormat("{0}{1}", _week.SGDPrevBalance, ","); _content.AppendFormat("{0}{1}", _week.BaseWinAndLoss, ","); _content.AppendFormat("{0}{1}", _week.SGDWinAndLoss, ","); _content.AppendFormat("{0}{1}", _week.BaseTransfer, ","); _content.AppendFormat("{0}{1}", _week.SGDTransfer, ","); _content.AppendFormat("{0}{1}", _week.BaseTransaction, ","); _content.AppendFormat("{0}{1}", _week.SGDTransaction, ","); _content.AppendFormat("{0}{1}", _week.BaseBalance, ","); _content.AppendFormat("{0}{1}", _week.SGDBalance, ","); try { if (_week.ConfirmUser.UserID.Equals(0)) { _param2.Value = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"; _content.AppendFormat("{0}", (int)_week.Status); } else { _param2.Value = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16"; _content.AppendFormat("{0}{1}", (int)_week.Status, ","); _content.AppendFormat("{0}", _week.ConfirmUser.UserID, ","); } } catch { _param2.Value = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"; _content.AppendFormat("{0}", (int)_week.Status); } SqlParameter _param3 = _command.Parameters.Add("@value3", System.Data.SqlDbType.VarChar); _param3.Value = _content.ToString(); _command.CommandType = System.Data.CommandType.StoredProcedure; connection.Open(); _command.ExecuteNonQuery(); } }
public async Task <WeeklySummary> GetWeeklySummary(int weekNumber) { DateTime firstDayOfWeek = GetFirstDayByWeekNumber(weekNumber); DateTime lastDayOfWeek = firstDayOfWeek.AddDays(6); var result = await _dataAccess.GetTop10PlayersByScoreAndDuration(firstDayOfWeek, lastDayOfWeek); WeeklySummary summary = new WeeklySummary() { WeekNumber = weekNumber, TopPlayers = result.ToList() }; return(summary); //TODO: Convert seconds text }
public static void TestSubject() { var allocations = new[] { new Allocation { Date = 21.December(2018) }, new Allocation { Date = 17.December(2018) } }; var email = new WeeklySummary(new ApplicationUser(), allocations, default(IReadOnlyList <Request>)); Assert.Equal("Weekly provisional allocations summary for 17 Dec - 21 Dec", email.Subject); }
private void LoadSummary() { SalesSummary manager = new SalesSummary(MyPage.MTApp.CurrentStore.Id); WeeklySummary summary = manager.GetWeeklySummary(TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, MyPage.MTApp.CurrentStore.Settings.TimeZone), MyPage.MTApp.OrderServices); if (summary == null) { return; } this.litM.Text = summary.Monday.ToString("c"); this.litT.Text = summary.Tuesday.ToString("c"); this.litW.Text = summary.Wednesday.ToString("c"); this.litR.Text = summary.Thursday.ToString("c"); this.litF.Text = summary.Friday.ToString("c"); this.litS.Text = summary.Saturday.ToString("c"); this.litY.Text = summary.Sunday.ToString("c"); this.litWeek.Text = summary.Week.ToString("c"); this.litML.Text = summary.MondayLast.ToString("c"); this.litTL.Text = summary.TuesdayLast.ToString("c"); this.litWL.Text = summary.WednesdayLast.ToString("c"); this.litRL.Text = summary.ThursdayLast.ToString("c"); this.litFL.Text = summary.FridayLast.ToString("c"); this.litSL.Text = summary.SaturdayLast.ToString("c"); this.litYL.Text = summary.SundayLast.ToString("c"); this.litWeekL.Text = summary.WeekLast.ToString("c"); this.litMC.Text = FormatPercent(summary.MondayChange); this.litTC.Text = FormatPercent(summary.TuesdayChange); this.litWC.Text = FormatPercent(summary.WednesdayChange); this.litRC.Text = FormatPercent(summary.ThursdayChange); this.litFC.Text = FormatPercent(summary.FridayChange); this.litSC.Text = FormatPercent(summary.SaturdayChange); this.litYC.Text = FormatPercent(summary.SundayChange); this.litWeekC.Text = FormatPercent(summary.WeekChange); }
public static void TestBody() { var recipient = Create.User("Pierre-Emerick Aubameyang"); var firstDateAllocatedUsers = Create.Users("Petr Čech", "Héctor Bellerín").Concat(new[] { recipient }); var firstDateInterruptedUsers = Create.Users("Sokratis Papastathopoulos", "Mohamed Elneny"); var secondDateAllocatedUsers = Create.Users("Henrikh Mkhitaryan", "Laurent Koscielny"); var secondDateInterruptedUsers = Create.Users("Aaron Ramsey", "Alexandre Lacazette").Concat(new[] { recipient }); var allFirstDateUsers = firstDateAllocatedUsers.Concat(firstDateInterruptedUsers); var allSecondDateUsers = secondDateAllocatedUsers.Concat(secondDateInterruptedUsers); var allocations = Create.Allocations(secondDateAllocatedUsers, 21.December(2018)) .Concat(Create.Allocations(firstDateAllocatedUsers, 17.December(2018))); var requests = Create.Requests(allSecondDateUsers, 21.December(2018)) .Concat(Create.Requests(allFirstDateUsers, 17.December(2018))); var email = new WeeklySummary(recipient, allocations.ToArray(), requests.ToArray()); var expectedHtmlValues = new[] { "17 Dec:", "<strong>Pierre-Emerick Aubameyang</strong>", "Héctor Bellerín", "Petr Čech", "(Interrupted: Mohamed Elneny, Sokratis Papastathopoulos)", "21 Dec:", "Laurent Koscielny", "Henrikh Mkhitaryan", "(Interrupted: <strong>Pierre-Emerick Aubameyang</strong>, Alexandre Lacazette, Aaron Ramsey)" }; var expectedPlainTextValues = new[] { "17 Dec:", "*Pierre-Emerick Aubameyang*", "Héctor Bellerín", "Petr Čech", "(Interrupted: Mohamed Elneny, Sokratis Papastathopoulos)", "21 Dec:", "Laurent Koscielny", "Henrikh Mkhitaryan", "(Interrupted: *Pierre-Emerick Aubameyang*, Alexandre Lacazette, Aaron Ramsey)" }; Check_TextAppearsInOrder(expectedHtmlValues, email.HtmlBody); Check_TextAppearsInOrder(expectedPlainTextValues, email.PlainTextBody); }
public bool IsWeeklyConfirm(int periodID, int entityID) { WeeklySummaryCollection collection = new WeeklySummaryCollection(); using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(); command.Connection = connection; command.CommandText = "SP_SEL_Table"; SqlParameter _param = command.Parameters.Add("@value1", System.Data.SqlDbType.VarChar); _param.Value = "Weekly_Summary"; SqlParameter _param2 = command.Parameters.Add("@value2", System.Data.SqlDbType.VarChar); _param2.Value = "1,2"; SqlParameter _param3 = command.Parameters.Add("@value3", System.Data.SqlDbType.VarChar); _param3.Value = periodID + "," + entityID; SqlParameter _param4 = command.Parameters.Add("@order_by1", System.Data.SqlDbType.VarChar); _param4.Value = "1"; SqlParameter _param5 = command.Parameters.Add("@order_by2", System.Data.SqlDbType.TinyInt); _param5.Value = 0; command.CommandType = System.Data.CommandType.StoredProcedure; connection.Open(); SqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { WeeklySummary _week = new WeeklySummary(); PeriodAccess _perioda = new PeriodAccess(); _week.Period = new PeriodCollection(_perioda.Query(Convert.ToInt32(reader["Period_ID"])))[0]; //_periodc[0]; EntityAccess _entity = new EntityAccess(); _week.Entity = new EntityCollection(_entity.Query(Convert.ToInt32(reader["Entity_Id"])))[0]; _week.BaseCurrency = reader["Base_Currency"].ToString(); _week.ExchangeRate = Convert.ToDecimal(reader["Exchange_Rate"].ToString()); _week.BasePrevBalance = Convert.ToDecimal(reader["Base_Prev_Balance"].ToString()); _week.SGDPrevBalance = Convert.ToDecimal(reader["SGD_Prev_Balance"].ToString()); _week.BaseWinAndLoss = Convert.ToDecimal(reader["Base_Win_Lose"].ToString()); _week.SGDWinAndLoss = Convert.ToDecimal(reader["SGD_Win_Lose"].ToString()); _week.BaseTransfer = Convert.ToDecimal(reader["Base_Transfer"].ToString()); _week.SGDTransfer = Convert.ToDecimal(reader["SGD_Transfer"].ToString()); _week.BaseTransaction = Convert.ToDecimal(reader["Base_Transaction"].ToString()); _week.SGDTransaction = Convert.ToDecimal(reader["SGD_Transaction"].ToString()); _week.BaseBalance = Convert.ToDecimal(reader["Base_Balance"].ToString()); _week.SGDBalance = Convert.ToDecimal(reader["SGD_Balance"].ToString()); _week.Status = (WeeklySummaryStatus)Convert.ToInt32(reader["Status"].ToString()); string userinfo = reader["Confirm_User"].ToString(); try { UserAccess usera = new UserAccess(); _week.ConfirmUser = new UserCollection(usera.Query(Convert.ToInt32(reader["Confirm_User"])))[0]; } catch { _week.ConfirmUser = new User(); } collection.Add(_week); } reader.Close(); if (collection.Count > 0) { if (collection[0].ConfirmUser.UserID.Equals(0)) return false; else return true; } else { return false; } } else { reader.Close(); return false; } } }
static PeriodType() { // Define ordering of period types. WeeklySummary.SetToEncompass(DailySummary); MonthlySummary.SetToEncompass(WeeklySummary); }
private void HasWeeklySummary(int entityID) { WeeklySummaryCollection _wsa; using (WeeklySummaryAccessClient _weeklySummaryAccessClient = new WeeklySummaryAccessClient(EndpointName.WeeklySummaryAccess)) { var _period = PeriodService.Instance.GetCurrentPeriod()[0]; _wsa = new WeeklySummaryCollection(_weeklySummaryAccessClient.Query(_period.ID, entityID)); if (!_wsa.Any()) { using (EntityAccessClient _entityAccessClient = new EntityAccessClient(EndpointName.EntityAccess)) { var _entity = _entityAccessClient.Query2(entityID)[0]; if (_entity.SumType != SumType.Not) { WeeklySummary _newWeeklySummary = new WeeklySummary { Entity = _entity, ExchangeRate = _entity.ExchangeRate, Period = _period, BaseCurrency = _entity.Currency.CurrencyID, }; _weeklySummaryAccessClient.Insert1(_newWeeklySummary); } } } } }
public Transfer Subtotal(int entryUserID, Entity entity) { User _user = (new UserAccessClient(EndpointName.UserAccess)).QueryuserID(entryUserID)[0]; Dictionary<Entity, WeeklySummary> _pair = new Dictionary<Entity, WeeklySummary>(); HasWeeklySummary(entity, _pair); Record _record = RecordHelper.GenerateTempRecord(); _record.Type = RecordType.WinAndLoss; WeeklySummary _weeklySummary = _pair[entity]; //Transfer Transfer _transfer = new Transfer() { RecordID = _record.RecordID, ToEntity = entity, }; if (_weeklySummary == null) { using (WeeklySummaryAccessClient _weeklySummaryAccessClient = new WeeklySummaryAccessClient(EndpointName.WeeklySummaryAccess)) { _weeklySummaryAccessClient.Insert1(_weeklySummary = new WeeklySummary(PeriodService.Instance.GetCurrentPeriod()[0], entity)); } } _transfer.ExchangeRate = _weeklySummary.ExchangeRate; _transfer.BaseBefore = _weeklySummary.BaseBalance; _transfer.SGDBefore = _weeklySummary.SGDBalance; _transfer.Currency.CurrencyID = _weeklySummary.BaseCurrency; foreach (Entity _entity in _pair.Keys) { if (_entity == entity) { continue; } else if ((_weeklySummary = _pair[_entity]) == null) { using (WeeklySummaryAccessClient _weeklySummaryAccessClient = new WeeklySummaryAccessClient(EndpointName.WeeklySummaryAccess)) { _weeklySummaryAccessClient.Insert1(_weeklySummary = new WeeklySummary(PeriodService.Instance.GetCurrentPeriod()[0], _entity)); } } TransferDetail _transferDetail = new TransferDetail() { RecordID = _record.RecordID, Entity = _entity, BaseCurrency = _weeklySummary.BaseCurrency, ExchangeRate = _weeklySummary.ExchangeRate, BaseBefore = _weeklySummary.BaseBalance, SGDBefore = _weeklySummary.SGDBalance, }; _transferDetail.BaseTransfer = _transferDetail.BaseBefore; _transferDetail.SGDTransfer = _transferDetail.SGDBefore; _transferDetail.ProfitAndLoss = 0; _transferDetail.BaseResult = 0; _transferDetail.SGDResult = 0; _transfer.TransferDetailCollection.Add(_transferDetail); } _transfer.SGDResult = _transfer.TransferDetailCollection.Sum(TransferDetail => TransferDetail.SGDBefore).ExtRound(); _transfer.BaseResult = (_transfer.SGDResult * _transfer.ExchangeRate).ExtRound(); //Record Journal _journal = new Journal() { RecordID = _record.RecordID, EntityID = entity.EntityID, BaseCurrency = entity.Currency.CurrencyID, ExchangeRate = _transfer.ExchangeRate, BaseAmount = _transfer.TransferDetailCollection.Sum(TransferDetail => TransferDetail.BaseTransfer), SGDAmount = _transfer.TransferDetailCollection.Sum(TransferDetail => TransferDetail.SGDTransfer), EntryUser = _user, }; _record.JournalCollection.Add(_journal); foreach (Entity _entity in _pair.Keys) { if (_entity == entity) { continue; } else if ((_weeklySummary = _pair[_entity]) == null) { continue; } _journal = new Journal() { RecordID = _record.RecordID, EntityID = _entity.EntityID, BaseCurrency = _weeklySummary.BaseCurrency, ExchangeRate = _weeklySummary.ExchangeRate, BaseAmount = _weeklySummary.BaseBalance * -1, SGDAmount = _weeklySummary.SGDBalance * -1, EntryUser = _user, }; _record.JournalCollection.Add(_journal); } _transfer.RecordNotInDB = _record; return _transfer; }
public void SetConfirm(Transaction transaction) { using (TransactionAccessClient _tran = new TransactionAccessClient(EndpointName.TransactionAccess)) { SettleService _settle = new SettleService(); WeeklySummaryCollection _weekco = new WeeklySummaryCollection(); //From Entity WeeklySummary _weekFrom = new WeeklySummary(); _weekFrom.ExchangeRate = transaction.ExchangeRate; _weekFrom.Period = transaction.Period; _weekFrom.Entity = transaction.FromEntity; _weekFrom.BaseTransaction = -(transaction.Amount); _weekFrom.BaseCurrency = transaction.FromCurrency; //To Entity WeeklySummary _weekTo = new WeeklySummary(); _weekTo.ExchangeRate = transaction.ExchangeRate; _weekTo.Period = transaction.Period; _weekTo.Entity = transaction.ToEntity; _weekTo.BaseTransaction = transaction.To_Amount; _weekTo.BaseCurrency = transaction.ToCurrency; _weekco.Add(_weekFrom); _weekco.Add(_weekTo); _settle.TransactionConfirm(_weekco); _tran.SetConfirm(transaction.ID, transaction.Updater.UserID, transaction.Period.ID); } }
private EntityCollection SetTransaction(EntityCollection entityCollection, WeeklySummaryCollection weeklySummaryCollection) { for (int i = 0; i < entityCollection.Count; i++) { if (entityCollection[i].SumType == SumType.Transaction) { entityCollection[i].SubEntities = SetSubtotal(entityCollection[i].SubEntities, weeklySummaryCollection); WeeklySummaryCollection _weeklySummaryCollection = CalculateService.Instance.GetWeeklySummary(entityCollection[i].EntityID); if (_weeklySummaryCollection.Count == 0) { WeeklySummary _weeklySummary = new WeeklySummary(PeriodService.Instance.GetCurrentPeriod()[0], entityCollection[i]); using (WeeklySummaryAccessClient _weeklySummaryAccessClient = new WeeklySummaryAccessClient(EndpointName.WeeklySummaryAccess)) { _weeklySummaryAccessClient.Insert1(_weeklySummary); } weeklySummaryCollection.Add(_weeklySummary); } else { weeklySummaryCollection.AddRange(_weeklySummaryCollection); } continue; } EntityCollection _subEntities = entityCollection[i].SubEntities; entityCollection.RemoveAt(i); if (_subEntities.Count > 0) { entityCollection.InsertRange(i, _subEntities); } i--; } return entityCollection; }
/// <summary> /// Handles the Click event of the MnuWeeklySummary control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="RoutedEventArgs" /> instance containing the event data.</param> private void MnuWeeklySummary_Click(object sender, RoutedEventArgs e) { WeeklySummary summary = Statistics.CalculateWeeklySummary(controller.Manager.Timesheet); MessageBox.Show("Number of days worked so far: " + summary.NumberOfDaysWorkedSoFar + "\nTotal hours so far: " + summary.TotalHoursWorkedSoFar + "\nNumber of weeks worked so far: " + summary.NumberOfWeeksWorkedSoFar + "\nNumber of hours per week: " + summary.NumberOfHoursPerWeek + "\nExpected hours per week: " + summary.ExpectedHoursPerWeek, "Weekly Summary", MessageBoxButton.OK, MessageBoxImage.Information); }
public void GenerateChart(WeeklySummary data, string chartTitle, int width, int height) { Chart c = new Chart(); // Default Chart Styles c.ID = "DynamicChart"; c.ImageType = ChartImageType.Png; c.RenderType = RenderType.BinaryStreaming; c.AntiAliasing = AntiAliasingStyles.All; c.Height = height; c.Width = width; c.BackColor = Color.White; //c.BorderSkin.SkinStyle = BorderSkinStyle.Sunken; c.BorderSkin.SkinStyle = BorderSkinStyle.None; // Default Chart Area ChartArea ca = c.ChartAreas.Add("Default"); ca.BackGradientStyle = GradientStyle.TopBottom; ca.BackSecondaryColor = Color.White; ca.BackColor = Color.LightSteelBlue; ca.AxisX.IsMarginVisible = true; ca.AxisX.MajorGrid.Enabled = false; ca.AxisX.LineColor = Color.FromArgb(255, 200, 200, 200); ca.AxisX.LineWidth = 2; ca.AxisY.LineColor = ca.AxisX.LineColor; ca.AxisY.LineWidth = ca.AxisX.LineWidth; ca.AxisY.MajorGrid.LineColor = Color.FromArgb(200, 255, 255, 255); ca.AxisY.MajorGrid.LineWidth = 2; ca.AxisY.MinorGrid.LineColor = Color.FromArgb(100, 255, 255, 255); ca.AxisY.MinorGrid.LineWidth = 1; ca.AxisY.MinorGrid.Enabled = true; // Formating of Labels ca.AxisY.LabelStyle.Format = "c"; // Default Title Settings Title t = c.Titles.Add("MainTitle"); t.Text = chartTitle; t.Visible = true; t.Font = new Font("Verdana", 14, FontStyle.Bold); Legend l = new Legend("Last Week Legend"); c.Legends.Add(l); // Custom Data Points Series s2 = c.Series.Add("Last Week"); s2.ChartType = SeriesChartType.Column; s2.Color = Color.FromArgb(148, 168, 187); s2.BackSecondaryColor = Color.FromArgb(50, 148, 168, 187); s2.BackGradientStyle = GradientStyle.TopBottom; s2.BorderColor = Color.FromArgb(121, 137, 153); s2.BorderWidth = 1; s2.MarkerStyle = MarkerStyle.None; s2.MarkerSize = 1; s2.MarkerColor = Color.White; s2.MarkerBorderWidth = 2; s2.MarkerBorderColor = Color.FromArgb(200, 200, 0); if (data != null) { s2.Points.Add(SetDataPoint(data.SundayLast, "Sun")); s2.Points.Add(SetDataPoint(data.MondayLast, "Mon")); s2.Points.Add(SetDataPoint(data.TuesdayLast, "Tue")); s2.Points.Add(SetDataPoint(data.WednesdayLast, "Wed")); s2.Points.Add(SetDataPoint(data.ThursdayLast, "Thr")); s2.Points.Add(SetDataPoint(data.FridayLast, "Fri")); s2.Points.Add(SetDataPoint(data.SaturdayLast, "Sat")); //s1.Points.Add(SetDataPoint(data.Week, "TOTAL")); } // Custom Data Points Series s1 = c.Series.Add("This Week"); //s1.ChartType = SeriesChartType.Area; s1.ChartType = SeriesChartType.Column; s1.Color = Color.FromArgb(235, 137, 9); s1.BackSecondaryColor = Color.FromArgb(50, 235, 137, 9); s1.BackGradientStyle = GradientStyle.TopBottom; s1.BorderColor = Color.FromArgb(158, 100, 27); s1.BorderWidth = 1; s1.MarkerStyle = MarkerStyle.None;// MarkerStyle.Circle; s1.MarkerSize = 1; s1.MarkerColor = Color.White; s1.MarkerBorderWidth = 2; s1.MarkerBorderColor = Color.FromArgb(200, 200, 0); if (data != null) { s1.Points.Add(SetDataPoint(data.Sunday, "Sun")); s1.Points.Add(SetDataPoint(data.Monday, "Mon")); s1.Points.Add(SetDataPoint(data.Tuesday, "Tue")); s1.Points.Add(SetDataPoint(data.Wednesday, "Wed")); s1.Points.Add(SetDataPoint(data.Thursday, "Thr")); s1.Points.Add(SetDataPoint(data.Friday, "Fri")); s1.Points.Add(SetDataPoint(data.Saturday, "Sat")); //s1.Points.Add(SetDataPoint(data.Week, "TOTAL")); } ca.AxisX.IntervalType = DateTimeIntervalType.Auto; //ca.AxisX.IntervalType = DateTimeIntervalType.Days; //ca.AxisX.LabelStyle.Format = "d"; // Render Chart MemoryStream img = new MemoryStream(); c.SaveImage(img); OutputContentType = "image/png"; Stream = img; }