예제 #1
0
 public JsonResult Dupliquer(DupliquerView duplicate)
 {
     if (ModelState.IsValid)
     {
         reservation resa = cnx.reservation.Where(r => r.id_reservation == duplicate.id_resa).Single();
         recurrence rec = new recurrence();
         resa.recurrence = rec;
         DateTime debut = resa.date_debut;
         DateTime fin = resa.date_fin;
         int diffDays = duplicate.frequenceInt;
         while (debut.AddDays(diffDays) < duplicate.dateFin.AddDays(1))
         {
             reservation resaCopie = resa.ClonerPourDupliquer();
             debut = debut.AddDays(diffDays);
             fin = fin.AddDays(diffDays);
             resaCopie.date_debut = debut;
             resaCopie.date_fin = fin;
             //verification si on le garde ou pas
             // si c'est un samedi ou un dimanche
             if ((debut.DayOfWeek == DayOfWeek.Saturday) || (debut.DayOfWeek == DayOfWeek.Sunday) ) continue;
             if (cnx.reservation.Where(r => r.id_materiel == resaCopie.id_materiel && r.date_fin > resaCopie.date_debut && r.date_debut < resaCopie.date_fin && r.employe.z_actif == true).Any() == false)
             {
                 resaCopie.recurrence = rec;
                 cnx.AddToreservation(resaCopie);
             }
         }
         cnx.SaveChanges();
         return Json(new { succes = 1 });
     }
     else
     {
         return Json(new { succes = 0, erreurs = ModelState.ListeErreurs() });
     }
 }
예제 #2
0
 public PartialViewResult Dupliquer(int id)
 {
     reservation resa = cnx.reservation.Where(r => r.id_reservation == id).Single();
     DupliquerView dpv = new DupliquerView();
     dpv.dateFin = resa.date_debut.AddDays(1);
     dpv.id_resa = id;
     return PartialView("_formDupliquer", dpv);
 }