Example #1
0
        ReportRootObject IReportingManager.GetFCP(string business_id, string report, string interval, string start, string end)
        {
            DateTime startTime = DateTime.Parse(start);
            DateTime endTime   = DateTime.Parse(end);

            //get food cost/sales
            var foodResult = _jsonManager.GetOrderedItemsJson();

            foodResult.data.ForEach((item) =>
            {
                totalCost  += item.cost;
                totalSales += item.price;
            });

            var value = (totalCost / totalSales) * 100;
            //ReportTimeFrame timeFrame;

            ReportTimeFrame tf = new ReportTimeFrame();
            {
                tf.start = startTime;
                tf.end   = endTime;
            }

            ReportDTO rptDTO = new ReportDTO();

            {
                rptDTO.timeFrame = tf;
                rptDTO.value     = value;
            }

            List <ReportDTO> rptList = new List <ReportDTO>();
            {
                rptList.Add(rptDTO);
            }


            ReportRootObject rpt = new ReportRootObject();

            {
                rpt.report       = "FCP";
                rpt.timeInterval = interval;
                rpt.data         = rptList;
            };


            return(rpt);
        }
Example #2
0
        ReportRootObject IReportingManager.GetLCP(string business_id, string report, string interval, string start, string end)
        {
            DateTime startTime = DateTime.Parse(start);
            DateTime endTime   = DateTime.Parse(end);

            //if (startTime < endTime)
            //{
            //switch (interval)
            //{
            //case "hours":
            //    var hour = (endTime - startTime).TotalHours;
            //    break;
            //case "days":
            //var days = (endTime - startTime).TotalDays;
            //break;
            //case "weeks":
            //    var week = (endTime - startTime).TotalDays;
            //    break;
            //case "months":
            //var month = (endTime - startTime).TotalDays;
            //break;
            //error handling

            //}

            //};


            //get laborcost (hours worked * pay_rate)
            var laborResult = _jsonManager.GetLaborEntriesJson();

            laborResult.data.ForEach((entry) =>
            {
                if ((entry.clock_out <= endTime) && (entry.clock_in >= startTime))

                {
                    int hours  = (int)(entry.clock_out - entry.clock_in).TotalHours;
                    laborCost += entry.pay_rate * hours;
                }
            });

            //get total sales

            var priceResult = _jsonManager.GetOrderedItemsJson();

            priceResult.data.ForEach((order) =>
            {
                if (order.updated_at >= startTime && order.updated_at <= endTime)
                {
                    totalSales += order.price;
                }
            });

            var value = (laborCost / totalSales) * 100;


            ReportTimeFrame tf = new ReportTimeFrame();
            {
                tf.start = startTime;
                tf.end   = endTime;
            }

            ReportDTO rptDTO = new ReportDTO();

            {
                value = rptDTO.value;
                tf    = rptDTO.timeFrame;
            }

            List <ReportDTO> rptList = new List <ReportDTO>();
            {
                rptList.Add(rptDTO);
            }

            ReportRootObject rpt = new ReportRootObject();

            {
                rpt.report       = "LCP";
                rpt.timeInterval = interval;
                rpt.data         = rptList;
            };


            return(rpt);
        }