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); }