public async Task <IActionResult> GetClient([FromBody] TimeByWeek time)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                var client = await _statistiqueRepository.GetAllStatistiqueByWeekAsync(time);

                if (client == null)
                {
                    return(NotFound());
                }
                else
                {
                    return(Ok(client));
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex));
            }
        }
        public async Task <Statistique> GetAllStatistiqueByWeekAsync(TimeByWeek timeWeek)
        {
            int yeara    = timeWeek.AnyDayInWeek.Year;
            var timeNows = FirstDateOfWeekISO8601(yeara, GetIso8601WeekOfYear(timeWeek.AnyDayInWeek));
            var weeaka   = WeekDays(timeNows);

            foreach (var item in weeaka)
            {
                totaltrituration   = 0; totalachat = 0; totalvente = 0; totalgrignons = 0; totalCaisse = 0;
                montanttrituration = 0; montantachat = 0; montantvente = 0; montantgrignons = 0; montantcaisse = 0;
                var gloablFacture = await _context.Factures.Include(c => c.Grignon).Include(c => c.Trituration)
                                    .Include(c => c.Achat).Include(c => c.VenteHuile).Where(c => c.Date.DayOfYear == item.DayOfYear)
                                    .Include(c => c.TypeFacture).ToListAsync();

                var toatalCaisseMon = await _context.Caisses.Where(c => c.Date.DayOfYear == item.DayOfYear).ToListAsync();


                foreach (var itemaa in toatalCaisseMon)
                {
                    montantcaisse = montantcaisse + itemaa.Montant;
                    statistiqueb.MontantCaiseTotal = statistiqueb.MontantCaiseTotal + itemaa.Montant;
                    statistiqueb.NbrCaisseTotal++;
                    totalCaisse++;
                }
                StatiqueWeekTrituration statcaisee = new StatiqueWeekTrituration()
                {
                    Total   = totalCaisse,
                    Montant = montantcaisse
                };
                statistiqueb.WeekCaisse.Add(statcaisee);
                foreach (var itema in gloablFacture)
                {
                    if (itema.TypeFactureId == 1)
                    {
                        montanttrituration = montanttrituration + itema.Montant;
                        statistiqueb.MontantTriturationTotal = statistiqueb.MontantTriturationTotal + itema.Montant;
                        statistiqueb.NbrTriturationTotal     = statistiqueb.NbrTriturationTotal + itema.Trituration.Poids;
                        totaltrituration = statistiqueb.NbrTriturationTotal;
                    }
                    else if (itema.TypeFactureId == 2)
                    {
                        montantachat = montantachat + itema.Montant;
                        statistiqueb.MontantAchatTotal = statistiqueb.MontantAchatTotal + itema.Montant;
                        statistiqueb.NbrAchatTotal     = statistiqueb.NbrAchatTotal + itema.Achat.QteAchete;;
                        totalachat = statistiqueb.NbrAchatTotal;
                    }
                    else if (itema.TypeFactureId == 3)
                    {
                        montantvente = montantvente + itema.Montant;
                        statistiqueb.MontantVenteTotal = statistiqueb.MontantVenteTotal + itema.Montant;
                        statistiqueb.NbrVenteTotal     = statistiqueb.NbrVenteTotal + itema.VenteHuile.Qte_Vente;
                        totalvente = statistiqueb.NbrVenteTotal;
                    }
                    else if (itema.TypeFactureId == 4)
                    {
                        montantgrignons = montantgrignons + itema.Montant;
                        statistiqueb.MontantGrigonsTotal = statistiqueb.MontantGrigonsTotal + itema.Montant;
                        statistiqueb.NbrGrigonsTotal     = statistiqueb.NbrGrigonsTotal + itema.Grignon.Poids;
                        totalgrignons = statistiqueb.NbrGrigonsTotal;
                    }
                }
                StatiqueWeekTrituration statrituration = new StatiqueWeekTrituration()
                {
                    Total   = totaltrituration,
                    Montant = montanttrituration
                };
                statistiqueb.WeekTriturations.Add(statrituration);
                ///////////////////////
                StatiqueWeekTrituration statachat = new StatiqueWeekTrituration()
                {
                    Total   = totalachat,
                    Montant = montantachat
                };
                statistiqueb.WeekAchats.Add(statachat);
                //////////////////////////
                StatiqueWeekTrituration statvente = new StatiqueWeekTrituration()
                {
                    Total   = totalvente,
                    Montant = montantvente
                };
                statistiqueb.WeekVentes.Add(statvente);
                //////////////////////////
                StatiqueWeekTrituration statgrignons = new StatiqueWeekTrituration()
                {
                    Total   = totalgrignons,
                    Montant = montantgrignons
                };
                statistiqueb.WeekGrignons.Add(statgrignons);
            }
            var staLocal = statistiqueb;

            statistiqueb = null;
            return(staLocal);
        }