Example #1
0
        public List <VE_ProgramationDetail> GetProgramationDetailResumen(int year, int month, int headquartersId, int dietId)
        {
            VE_ProgramationDetail        _vE_ProgramationDetail = null;
            List <VE_ProgramationDetail> _lstProgramationDetail = new List <VE_ProgramationDetail>();
            Dictionary <string, object>  parameters             = new Dictionary <string, object>();

            parameters.Add("_headquartersId", (headquartersId == 0) ? DBNull.Value : (object)headquartersId);
            parameters.Add("_dietId", (dietId == 0) ? DBNull.Value : (object)dietId);
            parameters.Add("_month", (month == 0) ? DBNull.Value : (object)month);
            parameters.Add("_year", (year == 0) ? DBNull.Value : (object)year);

            util _util = new util();
            var  rows  = _database.QuerySP("sp_getProgramationDetailResumen", parameters);

            foreach (var row in rows)
            {
                _vE_ProgramationDetail = new VE_ProgramationDetail();
                _vE_ProgramationDetail.programationId      = string.IsNullOrEmpty(row["programationId"]) ? 0 : int.Parse(row["programationId"]);
                _vE_ProgramationDetail.date                = string.IsNullOrEmpty(row["date"]) ? DateTime.Now : DateTime.Parse(row["date"]);
                _vE_ProgramationDetail.dateFormat          = _vE_ProgramationDetail.date.ToShortDateString();
                _vE_ProgramationDetail.dayOfWeek           = _vE_ProgramationDetail.date.DayOfWeek;
                _vE_ProgramationDetail.dayOfMonth          = _vE_ProgramationDetail.date.Day;
                _vE_ProgramationDetail.weekOfMonth         = _util.GetWeekOfMonth(_vE_ProgramationDetail.date).WeekOfMonth;
                _vE_ProgramationDetail.productCost         = string.IsNullOrEmpty(row["productCost"]) ? 0 : decimal.Parse(row["productCost"]);
                _vE_ProgramationDetail.productId           = string.IsNullOrEmpty(row["productId"]) ? 0 : int.Parse(row["productId"]);
                _vE_ProgramationDetail.productKcal         = string.IsNullOrEmpty(row["productKcal"]) ? 0 : int.Parse(row["productKcal"]);
                _vE_ProgramationDetail.productCategoryId   = string.IsNullOrEmpty(row["productCategoryId"]) ? 0 : int.Parse(row["productCategoryId"]);
                _vE_ProgramationDetail.productCategoryName = row["productCategoryName"];
                _vE_ProgramationDetail.productName         = row["productName"];
                _vE_ProgramationDetail.headquartersName    = row["headquartersName"];
                _vE_ProgramationDetail.dietName            = row["dietName"];

                _vE_ProgramationDetail.quantity = string.IsNullOrEmpty(row["quantity"]) ? 0 : decimal.Parse(row["quantity"]);
                _lstProgramationDetail.Add(_vE_ProgramationDetail);
            }

            return(_lstProgramationDetail);
        }
Example #2
0
        public List <VE_Programation> GetProgramationResumen(int year, int month, int headquartersId, int dietId)
        {
            VE_Programation             _vE_Programation = null;
            List <VE_Programation>      _lstProgramation = new List <VE_Programation>();
            Dictionary <string, object> parameters       = new Dictionary <string, object>();

            parameters.Add("_headquartersId", (headquartersId == 0) ? DBNull.Value : (object)headquartersId);
            parameters.Add("_dietId", (dietId == 0) ? DBNull.Value : (object)dietId);
            parameters.Add("_month", (month == 0) ? DBNull.Value : (object)month);
            parameters.Add("_year", (month == 0) ? DBNull.Value : (object)year);

            util _util = new util();
            var  rows  = _database.QuerySP("sp_getProgramationResumen", parameters);

            foreach (var row in rows)
            {
                _vE_Programation = new VE_Programation();
                _vE_Programation.programationId   = string.IsNullOrEmpty(row["programationId"]) ? 0 : int.Parse(row["programationId"]);
                _vE_Programation.date             = string.IsNullOrEmpty(row["date"]) ? DateTime.Now : DateTime.Parse(row["date"]);
                _vE_Programation.dateFormat       = _vE_Programation.date.ToString(util.CustomeDateFormat());
                _vE_Programation.dayOfWeek        = _vE_Programation.date.DayOfWeek;
                _vE_Programation.dayOfMonth       = _vE_Programation.date.Day;
                _vE_Programation.weekOfMonth      = _util.GetWeekOfMonth(_vE_Programation.date).WeekOfMonth;
                _vE_Programation.costTotal        = string.IsNullOrEmpty(row["costTotal"]) ? 0 : decimal.Parse(row["costTotal"]);
                _vE_Programation.feedingTimeId    = string.IsNullOrEmpty(row["feedingTimeId"]) ? 0 : int.Parse(row["feedingTimeId"]);
                _vE_Programation.feedingTimeName  = row["feedingTimeName"];
                _vE_Programation.kcalTotal        = string.IsNullOrEmpty(row["kcalTotal"]) ? 0 : int.Parse(row["kcalTotal"]);
                _vE_Programation.isEnabled        = string.IsNullOrEmpty(row["isEnabled"]) ? false : row["isEnabled"].Equals("1") ? true : false;
                _vE_Programation.productName      = row["productName"];
                _vE_Programation.headquartersName = row["headquartersName"];
                _vE_Programation.dietName         = row["dietName"];
                _vE_Programation.quantity         = string.IsNullOrEmpty(row["quantity"]) ? 0 : decimal.Parse(row["quantity"]);
                _lstProgramation.Add(_vE_Programation);
            }

            return(_lstProgramation);
        }
Example #3
0
        public List <RequestResumenByWeekOfMonth> GetRequestResumen(int year, int month, int headquartersId, int dietId)
        {
            _database = new MySQLDatabase(connectionString);

            var listProgramationDetail = new DA_Programation(_database).GetProgramationDetailResumen(year, month, headquartersId, dietId);


            List <RequestResumenByWeekOfMonth> ListRequestResumenByWeek = new List <RequestResumenByWeekOfMonth>();
            List <RequestResumen>       ListRequestResumen       = new List <RequestResumen>();
            List <RequestByWeekOfMonth> ListRequestByWeekOfMonth = new List <RequestByWeekOfMonth>();

            util _util = new util();

            foreach (var item in listProgramationDetail)
            {
                var validate = ListRequestByWeekOfMonth.Find(x => x.WeekOfMonth.WeekOfMonth == item.weekOfMonth);
                if (validate == null)
                {
                    RequestByWeekOfMonth rwm = new RequestByWeekOfMonth();
                    rwm.WeekOfMonth = _util.GetWeekOfMonth(item.date);
                    rwm.listRequest.Add(item);
                    ListRequestByWeekOfMonth.Add(rwm);
                }
                else
                {
                    ListRequestByWeekOfMonth.Find(x => x.WeekOfMonth.WeekOfMonth == item.weekOfMonth).listRequest.Add(item);
                }
            }

            List <RequestResumen> lrr = null;

            foreach (var listByWeek in ListRequestByWeekOfMonth)
            {
                lrr = new List <RequestResumen>();

                RequestResumen rr          = null;
                decimal        totalToWeek = 0;


                foreach (var item in listByWeek.listRequest)
                {
                    rr = new RequestResumen();
                    var validProductCategoryId = lrr.Find(x => x.productCategoryId == item.productCategoryId);
                    if (validProductCategoryId == null)
                    {
                        rr.headquartersName    = item.headquartersName;
                        rr.dietName            = item.dietName;
                        rr.productCategoryId   = item.productCategoryId;
                        rr.productCategoryName = item.productCategoryName;
                        rr.amount     = item.productCost;
                        rr.dateFormat = item.dateFormat;
                        totalToWeek  += item.productCost;
                        lrr.Add(rr);
                    }
                    else
                    {
                        lrr.Find(x => x.productCategoryId == item.productCategoryId).amount += item.productCost;
                        totalToWeek += item.productCost;
                    }
                }


                foreach (var p in lrr)
                {
                    p.percentage = (totalToWeek == 0) ? 0 : Math.Round((p.amount / totalToWeek) * 100, 2);
                }


                RequestResumenByWeekOfMonth rrwm = new RequestResumenByWeekOfMonth();
                rrwm.WeekOfMonth = listByWeek.WeekOfMonth;
                rrwm.listRequest = lrr;
                ListRequestResumenByWeek.Add(rrwm);
            }

            List <RequestResumenByWeekOfMonth> orderList = ListRequestResumenByWeek.OrderBy(x => x.WeekOfMonth.WeekOfMonth).ToList();

            return(orderList);
        }
Example #4
0
        public List <ProgramationResumenByWeekOfMonth> GetProgramationResumen(int year, int month, int headquartersId, int dietId)
        {
            _database = new MySQLDatabase(connectionString);

            var listProgramation = new DA_Programation(_database).GetProgramationResumen(year, month, headquartersId, dietId);


            List <ProgramationByWeekOfMonth>        ListProgramationByWeek        = new List <ProgramationByWeekOfMonth>();
            List <ProgramationResumenByWeekOfMonth> ListProgramationResumenByWeek = new List <ProgramationResumenByWeekOfMonth>();

            util _util = new util();

            foreach (var item in listProgramation)
            {
                var validate = ListProgramationByWeek.Find(x => x.WeekOfMonth.WeekOfMonth == item.weekOfMonth);
                if (validate == null)
                {
                    ProgramationByWeekOfMonth pwm = new ProgramationByWeekOfMonth();
                    pwm.WeekOfMonth = _util.GetWeekOfMonth(item.date);
                    pwm.listProgramation.Add(item);
                    ListProgramationByWeek.Add(pwm);
                }
                else
                {
                    ListProgramationByWeek.Find(x => x.WeekOfMonth.WeekOfMonth == item.weekOfMonth).listProgramation.Add(item);
                }
            }

            List <ProgramationResumen> lpr = null;

            foreach (var listByWeek in ListProgramationByWeek)
            {
                lpr = new List <ProgramationResumen>();

                ProgramationResumen pr = null;

                foreach (var item in listByWeek.listProgramation)
                {
                    pr = new ProgramationResumen();
                    var validFeedingTimeId = lpr.Find(x => x.feedingTimeId == item.feedingTimeId);
                    if (validFeedingTimeId == null)
                    {
                        pr.feedingTimeId        = item.feedingTimeId;
                        pr.feedingTimeName      = item.feedingTimeName;
                        pr.monday.date          = listByWeek.WeekOfMonth.MondayDate;
                        pr.monday.dateFormat    = listByWeek.WeekOfMonth.MondayDateFormat;
                        pr.tuesday.date         = listByWeek.WeekOfMonth.TuesdayDate;
                        pr.tuesday.dateFormat   = listByWeek.WeekOfMonth.TuesdayDateFormat;
                        pr.wednesday.date       = listByWeek.WeekOfMonth.WednesdayDate;
                        pr.wednesday.dateFormat = listByWeek.WeekOfMonth.WednesdayDateFormat;
                        pr.thursday.date        = listByWeek.WeekOfMonth.ThursdayDate;
                        pr.thursday.dateFormat  = listByWeek.WeekOfMonth.ThursdayDateFormat;
                        pr.friday.date          = listByWeek.WeekOfMonth.FridayDate;
                        pr.friday.dateFormat    = listByWeek.WeekOfMonth.FridayDateFormat;
                        pr.saturday.date        = listByWeek.WeekOfMonth.SaturdayDate;
                        pr.saturday.dateFormat  = listByWeek.WeekOfMonth.SaturdayDateFormat;
                        pr.sunday.date          = listByWeek.WeekOfMonth.SundayDate;
                        pr.sunday.dateFormat    = listByWeek.WeekOfMonth.SundayDateFormat;
                        switch (item.dayOfWeek)
                        {
                        case DayOfWeek.Monday: pr.monday.programation.Add(item); break;

                        case DayOfWeek.Tuesday: pr.tuesday.programation.Add(item); break;

                        case DayOfWeek.Wednesday: pr.wednesday.programation.Add(item); break;

                        case DayOfWeek.Thursday: pr.thursday.programation.Add(item); break;

                        case DayOfWeek.Friday: pr.friday.programation.Add(item); break;

                        case DayOfWeek.Saturday: pr.saturday.programation.Add(item); break;

                        case DayOfWeek.Sunday: pr.sunday.programation.Add(item); break;
                        }

                        lpr.Add(pr);
                    }
                    else
                    {
                        switch (item.dayOfWeek)
                        {
                        case DayOfWeek.Monday: lpr.Find(x => x.feedingTimeId == item.feedingTimeId).monday.programation.Add(item); break;

                        case DayOfWeek.Tuesday: lpr.Find(x => x.feedingTimeId == item.feedingTimeId).tuesday.programation.Add(item); break;

                        case DayOfWeek.Wednesday: lpr.Find(x => x.feedingTimeId == item.feedingTimeId).wednesday.programation.Add(item); break;

                        case DayOfWeek.Thursday: lpr.Find(x => x.feedingTimeId == item.feedingTimeId).thursday.programation.Add(item); break;

                        case DayOfWeek.Friday: lpr.Find(x => x.feedingTimeId == item.feedingTimeId).friday.programation.Add(item); break;

                        case DayOfWeek.Saturday: lpr.Find(x => x.feedingTimeId == item.feedingTimeId).saturday.programation.Add(item); break;

                        case DayOfWeek.Sunday: lpr.Find(x => x.feedingTimeId == item.feedingTimeId).sunday.programation.Add(item); break;
                        }
                    }
                }

                ProgramationResumenByWeekOfMonth prwm = new ProgramationResumenByWeekOfMonth();
                prwm.WeekOfMonth      = listByWeek.WeekOfMonth;
                prwm.listProgramation = lpr;
                ListProgramationResumenByWeek.Add(prwm);
            }

            List <ProgramationResumenByWeekOfMonth> orderList = ListProgramationResumenByWeek.OrderBy(x => x.WeekOfMonth.WeekOfMonth).ToList();

            return(orderList);
        }