public List <SalesSummary> Calculate(List <SalesSummary> salesSummaries, List <Transaction> transactions) { var dateTimeNow = DateTime.Now; var salesReps = transactions.Select(x => x.SalesRep).Distinct(); foreach (var salesRep in salesReps) { var summary = new SalesSummary { SalesRep = salesRep }; var repTransactions = transactions.Where(x => x.SalesRep == salesRep); summary.Y2DSold = repTransactions.Where(x => x.Date >= new DateTime(dateTimeNow.Year, 1, 1)) .Select(x => CalculateTransaction(x)) .Sum(); summary.M2DSold = repTransactions.Where(x => x.Date >= new DateTime(dateTimeNow.Year, dateTimeNow.Month, 1)) .Select(x => CalculateTransaction(x)) .Sum(); summary.Q2DSold = repTransactions.Where(x => GetQuarter(x.Date) == GetQuarter(dateTimeNow)) .Select(x => CalculateTransaction(x)) .Sum(); summary.I2DSold = repTransactions .Select(x => CalculateTransaction(x)) .Sum(); salesSummaries.Add(summary); } return(salesSummaries); }
public void Write(string path, SalesSummary salesSummary) { var salesSummaryForSerialization = SalesSummaryForSerialization.FromSaleSummary(salesSummary); var engine = new FileHelperEngine <SalesSummaryForSerialization>(); engine.WriteFile(path, new List <SalesSummaryForSerialization> { salesSummaryForSerialization }); }
public string SalesSummaryChartForMobile(SalesSummary duration) { try { List <SalesSummaryViewModel> saleObj = Mapper.Map <List <SalesSummary>, List <SalesSummaryViewModel> >(_dashboardBusiness.GetSalesSummaryChart(duration)); return(JsonConvert.SerializeObject(new { Result = true, Records = saleObj })); } catch (Exception ex) { return(JsonConvert.SerializeObject(new { Result = false, Message = ex.Message })); } }
private void BindReport() { ToCaption.Visible = true; FromCaption.Visible = false; DateTime fromDate = StartDate.SelectedStartDate; DateTime toDate = EndDate.SelectedEndDate; SalesSummary salesSummary = ReportDataSource.GetSalesSummary(fromDate, toDate, true); if (salesSummary != null) { ProductSales.Text = salesSummary.ProductTotal.LSCurrencyFormat("lc"); ProductDiscounts.Text = salesSummary.DiscountTotal.LSCurrencyFormat("lc"); ProductSalesLessDiscounts.Text = String.Format("{0}", (salesSummary.ProductTotal + salesSummary.DiscountTotal).LSCurrencyFormat("lc")); GiftWrapCharges.Text = salesSummary.GiftWrapTotal.LSCurrencyFormat("lc"); CouponsRedeemed.Text = salesSummary.CouponTotal.LSCurrencyFormat("lc"); TaxesCollected.Text = salesSummary.TaxTotal.LSCurrencyFormat("lc"); ShippingCharges.Text = salesSummary.ShippingTotal.LSCurrencyFormat("lc"); TotalCharges.Text = salesSummary.TotalReceivables.LSCurrencyFormat("lc"); TotalOrders.Text = salesSummary.OrderCount.ToString(); TotalItemsSold.Text = salesSummary.ProductCount.ToString(); NumberOfCustomers.Text = salesSummary.UserCount.ToString(); CostOfGoods.Text = salesSummary.CostOfGoodTotal.LSCurrencyFormat("lc"); decimal avgOrderAmount = 0; if (salesSummary.OrderCount > 0) { avgOrderAmount = salesSummary.GrandTotal / salesSummary.OrderCount; } AverageOrderAmount.Text = avgOrderAmount.LSCurrencyFormat("lc"); ReportPanel.Visible = true; // update captions if (fromDate > DateTime.MinValue) { FromCaption.Visible = true; FromCaption.Text = string.Format(FromCaption.Text, fromDate.ToShortDateString()); } if (toDate > DateTime.MinValue) { ToCaption.Text = string.Format(ToCaption.Text, toDate.ToShortDateString()); } else { ToCaption.Text = string.Format(ToCaption.Text, "present"); } } else { ReportPanel.Visible = false; } }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); Stream = null; OutputContentType = "image/png"; ETag = string.Empty; SalesSummary summary = new SalesSummary(MTApp.CurrentStore.Id); GenerateChart(summary.GetWeeklySummary(TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, MTApp.CurrentStore.Settings.TimeZone), MTApp.OrderServices), "Sales This Week", 600, 200); RenderChart(); }
public List <SalesSummary> GetSalesSummary(DateTime startTime, DateTime endTime) { SalesSummary salesSummary; List <SalesSummary> salesSummaries = new List <SalesSummary>(); //every sales will have a payment entry, even if zero payed. So look for payments List <Payment> paymentsForDay = PaymentCache.GetInstance().GetPaymentsByTime(startTime, endTime); foreach (Payment payment in paymentsForDay) { salesSummary = new SalesSummary(); salesSummary.Payment = payment; salesSummaries.Add(salesSummary); } return(salesSummaries); }
public List <SalesSummary> GetSalesSummaryChart(SalesSummary dueObj) { List <SalesSummary> SalesSummaryList = null; Settings settings = new Settings(); try { using (SqlConnection con = _databaseFactory.GetDBConnection()) { using (SqlCommand cmd = new SqlCommand()) { if (con.State == ConnectionState.Closed) { con.Open(); } cmd.Connection = con; cmd.CommandText = "[Accounts].[GetSalesSummaryChart]"; cmd.Parameters.Add("@duration", SqlDbType.NVarChar, 20).Value = dueObj.duration; cmd.Parameters.Add("@includeinternal", SqlDbType.Bit).Value = dueObj.IsinternalComp; cmd.CommandType = CommandType.StoredProcedure; using (SqlDataReader sdr = cmd.ExecuteReader()) { if ((sdr != null) && (sdr.HasRows)) { SalesSummaryList = new List <SalesSummary>(); while (sdr.Read()) { SalesSummary SSList = new SalesSummary(); { SSList.Period = (sdr["Period"].ToString() != "" ? sdr["Period"].ToString() : SSList.Period); SSList.Amount = (sdr["INAmount"].ToString() != "" ? (sdr["INAmount"].ToString()): SSList.Amount); } SalesSummaryList.Add(SSList); } } } } } } catch (Exception ex) { throw ex; } return(SalesSummaryList); }
public List <SalesSummary> GetSalesSummary() { List <SalesSummary> SalesInvoiceSummaryList = new List <SalesSummary>(); SalesSummary SalesInvoiceSummary = null; try { using (SqlConnection con = _databaseFactory.GetDBConnection()) { using (SqlCommand cmd = new SqlCommand()) { if (con.State == ConnectionState.Closed) { con.Open(); } cmd.Connection = con; cmd.CommandText = "[PSA].[GetSalesSummary]"; cmd.CommandType = CommandType.StoredProcedure; using (SqlDataReader sdr = cmd.ExecuteReader()) { if ((sdr != null) && (sdr.HasRows)) { while (sdr.Read()) { SalesInvoiceSummary = new SalesSummary(); SalesInvoiceSummary.Month = (sdr["Month"].ToString() != "" ? sdr["Month"].ToString() : SalesInvoiceSummary.Month); SalesInvoiceSummary.MonthCode = (sdr["MonthCode"].ToString() != "" ? int.Parse(sdr["MonthCode"].ToString()) : SalesInvoiceSummary.MonthCode); SalesInvoiceSummary.Year = (sdr["Year"].ToString() != "" ? int.Parse(sdr["Year"].ToString()) : SalesInvoiceSummary.Year); SalesInvoiceSummary.Sales = (sdr["Sales"].ToString() != "" ? decimal.Parse(sdr["Sales"].ToString()) : SalesInvoiceSummary.Sales); SalesInvoiceSummary.LastYear = (sdr["LastYear"].ToString() != "" ? int.Parse(sdr["LastYear"].ToString()) : SalesInvoiceSummary.LastYear); SalesInvoiceSummary.LastYearSales = (sdr["LastYearSales"].ToString() != "" ? decimal.Parse(sdr["LastYearSales"].ToString()) : SalesInvoiceSummary.LastYearSales); SalesInvoiceSummaryList.Add(SalesInvoiceSummary); } } } } } } catch (Exception ex) { throw ex; } return(SalesInvoiceSummaryList); }
private void SendResponse(SalesSummary salesSummary, Headers headers) { var customHeaders = CopyCustomHeaders(headers); var header = customHeaders.First(h => h.Key.Equals("CTM_SALES_ANALYSIS_OUTPUT_TOPIC")); var outputTopic = Encoding.ASCII.GetString(header.GetValueBytes()); var serializeSaleSummary = JsonConvert.SerializeObject(salesSummary, Formatting.Indented); using (var producer = new ProducerBuilder <Null, string>(_producerConfig).Build()) { producer.Produce(outputTopic, new Message <Null, string> { Value = serializeSaleSummary, Headers = customHeaders }); producer.Flush(TimeSpan.FromSeconds(5)); PrintLogs(customHeaders); } }
private void OnOpenDailySalesReportCommand(object showAll) { try { var showRestrictedCustomers = false; if (showAll != null) { showRestrictedCustomers = bool.Parse(showAll.ToString()); } SalesSummary salesSummary = new SalesSummary(false); salesSummary.ShowDialog(); } catch (Exceptions.RMSException ex) { Utility.ShowErrorBox(ex.Message); } catch (Exception ex) { Utility.ShowErrorBox(ex.Message); //log here } }
public async Task <List <SalesSummary> > GetSalesSummary() { List <SalesSummary> Result = new List <SalesSummary>(); try { using (SqlCommand cmd = new SqlCommand()) { cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "ESP_Hub_UKDashboard"; using (SqlDataReader dr = await _data.OpenQuery(cmd)) { while (dr.Read()) { SalesSummary so = new SalesSummary(); so.Warehouse = dr["Warehouse"].ToString(); so.NotProcessed = dr["NotProcessed"].ToString(); so.Hold = dr["Hold"].ToString(); so.Failed = dr["Failed"].ToString(); so.AwaitingStock = dr["AwaitingStock"].ToString(); so.ReadyToShip = dr["ReadyToShip"].ToString(); so.Shipped = dr["Shipped"].ToString(); so.Cancelled = dr["Cancelled"].ToString(); so.Total = dr["Total"].ToString(); Result.Add(so); } } } } catch (Exception ex) { throw ex; } return(Result); }
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 SalesSummaryForSerialization FromSaleSummary(SalesSummary salesSummary) { return(new SalesSummaryForSerialization(salesSummary.AmountSalesman, salesSummary.AmountCustomer, salesSummary.WorstSellers, salesSummary.MostExpensiveSales)); }
public List <SalesSummary> GetSalesSummaryChart(SalesSummary duration) { return(_dashboardRepository.GetSalesSummaryChart(duration)); }
private static SalesSummary GetSalesSummary(Cashier cashier) { var salesSummary = new SalesSummary { DaylyBalance = cashier.DaylyBalance.Value, DailyCreditLimit = cashier.DailyCreditLimit, TodaySales = cashier.TodaySales, WeeklyBalance = cashier.WeeklyBalance.Value, WeeklyCreditLimit = cashier.WeeklyCreditLimit }; return salesSummary; }