public async Task InsertAsync(EleveEnrollement eleveEnrollement) { await _context.EleveEnrollements.AddAsync(eleveEnrollement); Enrollement enrollement = await _context.Enrollements.Where(e => e.Id == eleveEnrollement.EnrollementId).FirstOrDefaultAsync(); if (enrollement.Type == "Groupe") { EleveEnrollement currentEleveEnrollement = await _context.EleveEnrollements.Include(ee => ee.Enrollement).Where(ee => ee.Enrollement.Type == "Groupe" && ee.DateDeFin > eleveEnrollement.DateDeDebut && ee.EleveId == eleveEnrollement.EleveId).FirstOrDefaultAsync(); if (currentEleveEnrollement != null) { PayementEnrollement currentPayementEnrollement = new PayementEnrollement(); var paid = 0; List <PayementEnrollement> currentPayementEnrollements = await _context.PayementEnrollements.Where(pe => pe.EleveEnrollementId == currentEleveEnrollement.Id && pe.DateDeFin == currentEleveEnrollement.DateDeFin).ToListAsync(); if (currentPayementEnrollements.Count > 0) { foreach (PayementEnrollement cpe in currentPayementEnrollements) { if (cpe.DateDeDebut >= eleveEnrollement.DateDeDebut) { paid = paid + cpe.Paid; _context.PayementEnrollements.Remove(cpe); } else { currentPayementEnrollement = cpe; } } PayementEnrollementViewModel payementEnrollement = new PayementEnrollementViewModel() { Section = "Scolarité", Paid = 0, EleveEnrollementId = eleveEnrollement.Id, DateDeDebut = eleveEnrollement.DateDeDebut, DateDeFin = currentEleveEnrollement.DateDeFin.Value, }; currentEleveEnrollement.DateDeFin = eleveEnrollement.DateDeDebut; _context.Entry(currentEleveEnrollement).State = EntityState.Modified; await _context.SaveChangesAsync(); currentPayementEnrollement.DateDeFin = eleveEnrollement.DateDeDebut; _context.Entry(currentPayementEnrollement).State = EntityState.Modified; await _context.SaveChangesAsync(); var pe = _mapper.Map <PayementEnrollement>(payementEnrollement); await _context.PayementEnrollements.AddAsync(pe); } else { currentEleveEnrollement.DateDeFin = eleveEnrollement.DateDeDebut; _context.Entry(currentEleveEnrollement).State = EntityState.Modified; await _context.SaveChangesAsync(); } } } }
public async Task <ActionResult <PayementEnrollement> > GetPayementEnrollement(int id) { PayementEnrollement payementenrollement = await _payementEnrollementRepository.GetByIdAsync(id); if (payementenrollement == null) { return(NotFound()); } return(payementenrollement); }
public async Task <PayementEnrollement> GetCurrentEleveEnrollement(DateTime Date, int EleveId) { PayementEnrollement pe = await _context.PayementEnrollements.Include(pe => pe.EleveEnrollement).Where(pe => pe.EleveEnrollement.EleveId == EleveId && pe.Section == "Groupe" && pe.DateDeDebut <= Date && pe.DateDeFin > Date).FirstOrDefaultAsync(); return(pe); }
public void Update(PayementEnrollement payementenrollement) { _context.Entry(payementenrollement).State = EntityState.Modified; }
public async Task DeleteAsync(int payementenrollementId) { PayementEnrollement payementenrollement = await _context.PayementEnrollements.FindAsync(payementenrollementId); _context.PayementEnrollements.Remove(payementenrollement); }
public async Task InsertAsync(PayementEnrollement payementenrollement) { await _context.PayementEnrollements.AddAsync(payementenrollement); }