Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 3
0
        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
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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;
                }
            }
        }
Ejemplo n.º 8
0
 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);
                        }
                    }
                }

            }
        }
Ejemplo n.º 10
0
        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;
        }
Ejemplo n.º 11
0
        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);
            }
        }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 14
0
        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;
        }