コード例 #1
0
ファイル: temps.cs プロジェクト: esteban973/Tactile
 public void UpdateFromView(AbsenceView absenceview)
 {
     this.id_employe = absenceview.id_employe;
     this.date_debut = absenceview.dateAbsence;
     this.date_fin = absenceview.dateAbsence;
     this.date_debut=this.date_debut.ChangeTimeString(absenceview.debutAbsence);
     this.date_fin=this.date_fin.ChangeTimeString(absenceview.finAbsence);
     this.commentaires = absenceview.commentairesTemps;
     this.id_type_temps = absenceview.type_absence;
     this.id_tache = null;
     this.id_projet = null;
     this.repas_ext = false;
 }
コード例 #2
0
 public PartialViewResult AjoutFormulaireAbsence(DateTime debut, DateTime fin, int id_employe)
 {
     var typesAbsences = from absence in cnx.type_temps
                         where (absence.absence == true)
                         select new { nomAbsence = absence.nom, id_type_absence = absence.id_type_temps };
     ViewBag.type_absence = new SelectList(typesAbsences, "id_type_absence", "nomAbsence");
     AbsenceView absenceview = new AbsenceView();
     absenceview.id_employe = id_employe;
     absenceview.dateAbsence = debut;
     absenceview.debutAbsence = debut.ToShortTimeString();
     absenceview.finAbsence = fin.ToShortTimeString();
     return PartialView("_formAbsence", absenceview);
 }
コード例 #3
0
        public JsonResult EnregistrerAbsence(int? id, AbsenceView absenceview)
        {
            if (ModelState.IsValid)
            {
                if (!id.HasValue)
                {
                    temps absence = new temps();
                    absence.UpdateFromView(absenceview);
                    var employe = cnx.employe.Where(e => e.id_employe == absence.id_employe).Single();
                    absence.CorrigerEnDemiJournee(employe.horaires_matin, employe.horaires_matin_fin, employe.horaires_apresmidi, employe.horaires_apresmidi_fin);
                    // s'assurer qu'il n'y a pas d'autres congés en même temps sinon lancer une erreur
                    if (this.IsThereAchevauchement(absence, true) == false)
                    {
                        cnx.AddTotemps(absence);
                        cnx.SaveChanges();
                        return Json(new { succes = 1, creation = 1, temps = absence.PourJson() });
                    }
                    else
                    {
                        ModelState.AddModelError("", "Les dates ne conviennent pas. (superposition d'absence et de travail) ");
                    }
                }
                else
                {
                    temps absence = cnx.temps.Where(t => t.id_temps == id).Single();
                    absence.UpdateFromView(absenceview);
                    // va faire coller l'absence à exactement à une demi journée en comprant avec la date de début de l'évenement
                    absence.CorrigerEnDemiJournee(absence.employe.horaires_matin, absence.employe.horaires_matin_fin, absence.employe.horaires_apresmidi, absence.employe.horaires_apresmidi_fin);
                    // dans le cas d'une modification d'un évenement de travail en congé s'assurer que tous les frais ont bien été enlevé
                    if (absence.id_frais.HasValue)
                    {
                        cnx.DeleteObject(absence.frais);
                        absence.id_frais = null;
                    }
                    // s'assurer qu'il n'y a pas d'autres congés en même temps sinon lancer une erreur
                    if (this.IsThereAchevauchement(absence, true) == false)
                    {
                        cnx.ObjectStateManager.ChangeObjectState(absence, EntityState.Modified);
                        cnx.SaveChanges();
                        return Json(new { succes = 1 });
                    }
                    else
                    {
                        ModelState.AddModelError("", "Les dates ne conviennent pas. (superposition d'absence et de travail) ");
                    }

                }
            }
            return Json(new { succes = 0, erreurs = ModelState.ListeErreurs() });
        }
コード例 #4
0
 public PartialViewResult EditionFormulaireAbsence(int id)
 {
     temps tps = cnx.temps.Where(t => t.id_temps == id).Single();
     var typesAbsences = from absence in cnx.type_temps
                         where (absence.absence == true)
                         select new { nomAbsence = absence.nom, id_type_absence = absence.id_type_temps };
     ViewBag.type_absence = new SelectList(typesAbsences, "id_type_absence", "nomAbsence", tps.id_type_temps);
     AbsenceView absenceview = new AbsenceView();
     absenceview.UpdateFromModel(tps);
     ViewBag.type = "editer";
     return PartialView("_formAbsence", absenceview);
 }