Пример #1
0
        public JsonResult SaveEvent(Disponibilite e)
        {
            var status = false;

            using (H18_Proj_Eq07Entities1 dc = new H18_Proj_Eq07Entities1())
            {
                if (e.Disponibilite_ID > 0)
                {
                    //Update the event
                    var v = dc.Disponibilite.Where(a => a.Disponibilite_ID == e.Disponibilite_ID).FirstOrDefault();
                    if (v != null)
                    {
                        v.Photographe_ID         = e.Photographe_ID;
                        v.DateDebutDisponibilite = e.DateDebutDisponibilite;
                        v.DateFinDisponibilite   = e.DateFinDisponibilite;
                    }
                }
                else
                {
                    dc.Disponibilite.Add(e);
                }

                dc.SaveChanges();
                status = true;
            }
            return(new JsonResult {
                Data = new { status = status }
            });
        }
Пример #2
0
        public async Task <IActionResult> DispoAjout(int?Id)
        {
            ViewBag.IdMembre = Id;
            IQueryable <string> RecupJours = from m in _context.JourDeLaSemaines
                                             orderby m.Id
                                             select m.NomDuJour;

            ViewBag.Cree = false;

            Disponibilite newDispo = new Disponibilite
            {
                ValiditeDebutDate = DateTime.Now
            };

            Membre membre = _context.Membres
                            .Where(b => b.Id == Id).FirstOrDefault();

            ViewBag.IdMembre     = membre.Id;
            ViewBag.PrenomMembre = membre.Prenom;
            ViewBag.NomMembre    = membre.Nom;


            ViewBag.ListJour = new SelectList(await RecupJours.Distinct().ToListAsync());

            return(View(newDispo));
        }
        public ActionResult Create([Bind(Include = "Seance_ID,Photographe_ID,Agent_ID,Adresse,DateSeance,Ville,Statut")] Seance seance)
        {
            seance.Photographe_ID = null;
            seance.Statut         = "demandée";

            var errors = ModelState.Values.SelectMany(v => v.Errors);

            if (ModelState.IsValid && seance.DateSeance >= DateTime.Now)
            {
                Disponibilite dispo = unitOfWork.DisponibiliteRepository.Get(filter: x => x.DateDebutDisponibilite == seance.DateSeance).FirstOrDefault();
                seance.Photographe_ID = dispo.Photographe_ID;
                unitOfWork.SeanceRepository.Insert(seance);
                unitOfWork.Save();

                return(RedirectToAction("IndexSeancesAgent", new { agentID = seance.Agent_ID }));
            }
            else
            {
                if (seance.DateSeance > seance.DateFinSeance)
                {
                    ViewBag.MessageError = "La date choisie n'est pas valide. (La date de fin est plus tôt que la date de réservation)";
                }
                else
                {
                    ViewBag.MessageError = "La date choisie n'est pas valide. (Une date plus tard que maintenant)";
                }
            }

            ViewBag.Agent_ID       = new SelectList(unitOfWork.AgentRepository.Get(), "Agent_ID", "Nom", seance.Agent_ID);
            ViewBag.Disponibilites = new SelectList(unitOfWork.DisponibiliteRepository.Get().OrderBy(x => x.DateDebutDisponibilite).Where(x => x.DateDebutDisponibilite >= DateTime.Now), "DateDebutDisponibilite", "DateDebutDisponibilite");

            return(View());
        }
Пример #4
0
        public async Task <IActionResult> PutDisponibilite([FromRoute] int id, [FromBody] Disponibilite disponibilite)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != disponibilite.DisponibiliteId)
            {
                return(BadRequest());
            }

            _context.Entry(disponibilite).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DisponibiliteExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Disponibilite disponibilite = db.Disponibilite.Find(id);

            db.Disponibilite.Remove(disponibilite);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public static DisponibiliteModel ToModel(this Disponibilite dto)
        {
            DisponibiliteModel result = new DisponibiliteModel();

            result.Id          = dto.Id;
            result.EncadrantId = dto.EncadrantId;
            result.Date        = dto.Date;
            result.Matin       = dto.Matin;
            result.Role        = dto.Role.ToString();
            return(result);
        }
 public ActionResult Edit([Bind(Include = "Disponibilite_ID,Photographe_ID,DateDebutDisponibilite,DateFinDisponibilite")] Disponibilite disponibilite)
 {
     if (ModelState.IsValid)
     {
         db.Entry(disponibilite).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Photographe_ID = new SelectList(db.Photographe, "Photographe_ID", "Nom", disponibilite.Photographe_ID);
     return(View(disponibilite));
 }
        // GET: Disponibilites/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Disponibilite disponibilite = db.Disponibilite.Find(id);

            if (disponibilite == null)
            {
                return(HttpNotFound());
            }
            return(View(disponibilite));
        }
        // GET: Disponibilites/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Disponibilite disponibilite = db.Disponibilite.Find(id);

            if (disponibilite == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Photographe_ID = new SelectList(db.Photographe, "Photographe_ID", "Nom", disponibilite.Photographe_ID);
            return(View(disponibilite));
        }
Пример #10
0
        private async Task <Disponibilite> DispoBuilder(DisponibilitéDTO disponibilitéDTO)
        {
            var dispo = new Disponibilite();

            if (disponibilitéDTO.Username != null)
            {
                var user = await _context.Utilisateurs.FirstOrDefaultAsync(u => u.UserName.Equals(disponibilitéDTO.Username));

                dispo.UtilisateurId = user.Id;
            }
            if (disponibilitéDTO.ComplexeSportif != null)
            {
                var comp = await _context.ComplexeSportifs.FirstOrDefaultAsync(c => c.Libellé.Equals(disponibilitéDTO.ComplexeSportif));

                dispo.ComplexeSportifId = comp.ComplexeSportifId;
            }
            var sport = await _context.Sports.FirstOrDefaultAsync(s => s.Libellé.Equals(disponibilitéDTO.LibelléSport));

            dispo.SportId = sport.SportId;
            return(dispo);
        }
        public static Disponibilite ToDTO(this DisponibiliteModel model, Role role = Role.Administrateur)
        {
            Disponibilite result = new Disponibilite();

            if (model.Id != 0)
            {
                result.Id = model.Id;
            }

            result.EncadrantId = model.EncadrantId;
            result.Date        = model.Date;
            result.Matin       = model.Matin;
            if (model.Role != null)
            {
                result.Role = new EnumConverter <Role>().ConvertToEnum(model.Role);
            }
            else
            {
                result.Role = role;
            }
            return(result);
        }
        public ActionResult Create([Bind(Include = "Disponibilite_ID,Photographe_ID,DateDebutDisponibilite,DateFinDisponibilite")] Disponibilite disponibilite)
        {
            if (TryValidateModel(disponibilite))// ModelState.IsValid)


            {
                int heureDebut = disponibilite.DateDebutDisponibilite.Hour;
                int heureFin   = disponibilite.DateFinDisponibilite.Hour;
                int nbHeures   = heureFin - heureDebut;
                for (int i = 0; i < nbHeures; i++)
                {
                    db.Disponibilite.Add(new Disponibilite {
                        Photographe_ID = disponibilite.Photographe_ID, DateDebutDisponibilite = disponibilite.DateDebutDisponibilite.AddHours(i), DateFinDisponibilite = disponibilite.DateDebutDisponibilite.AddHours(i + 1)
                    });
                }
                db.SaveChanges();
                return(RedirectToAction("Create", new { photographeID = disponibilite.Photographe_ID }));
            }
            ViewBag.Photographe_ID = new SelectList(db.Photographe, "Photographe_ID", "Nom", disponibilite.Photographe_ID);
            //return View(disponibilite);
            return(RedirectToAction("Create", new { photographeID = disponibilite.Photographe_ID }));
        }
Пример #13
0
        public async Task <IActionResult> DispoAjout(int?Id, [Bind("ValiditeDebutDate, ValiditeFinDate")] Disponibilite newDispo, bool matin, bool apresMidi, string Jour, int IdMembre)
        {
            ViewBag.Cree  = false;
            newDispo.Jour = _context.JourDeLaSemaines.Where((m => m.NomDuJour == Jour)).FirstOrDefault();

            newDispo.membre = _context.Membres.Where(m => m.Id == IdMembre).FirstOrDefault();
            if (matin & apresMidi)
            {
                newDispo.DebutHeure = new System.DateTime(1, 1, 1, 8, 0, 0);
                newDispo.FinHeure   = new System.DateTime(1, 1, 1, 21, 0, 0);
            }
            else if (matin)
            {
                newDispo.DebutHeure = new System.DateTime(1, 1, 1, 8, 0, 0);
                newDispo.FinHeure   = new System.DateTime(1, 1, 1, 14, 0, 0);
            }
            else if (apresMidi)
            {
                newDispo.DebutHeure = new System.DateTime(1, 1, 1, 14, 0, 0);
                newDispo.FinHeure   = new System.DateTime(1, 1, 1, 21, 0, 0);
            }
            if (ModelState.IsValid)
            {
                _context.Add(newDispo);
                await _context.SaveChangesAsync();

                ViewBag.Cree = true;



                return(View(newDispo));
            }



            return(View());
        }
Пример #14
0
        public ActionResult Index(int typeInscription, string[] jours)
        {
            int idPers = SessionBag.Current.id_Pers;

            ViewBag.TypeInscription = Liste.ListeTypeInscription();
            var sessionActuelle = _db.Session.AsNoTracking().OrderByDescending(y => y.Annee).ThenByDescending(x => x.id_Saison).FirstOrDefault();

            if (sessionActuelle != null)
            {
                var inscriptionBd = new Inscription
                {
                    id_Pers               = idPers,
                    id_Sess               = sessionActuelle.id_Sess,
                    id_Statut             = 1,
                    BonEchange            = false,
                    ContratEngagement     = false,
                    TransmettreInfoTuteur = false,
                    DateInscription       = DateTime.Now,
                    id_TypeInscription    = typeInscription
                };
                _db.Inscription.Add(inscriptionBd);
            }
            _db.SaveChanges();
            if (jours != null)
            {
                var dispo          = new DisponibiliteStruct();
                var disponibilites = new List <DisponibiliteStruct>();
                Array.Sort(jours, new AlphanumComparatorFast());
                foreach (var jour in jours)
                {
                    //TODO: Valider si les heures se suivent, formatter pour demander confirmation à l'utilisateur.
                    var splitValue1 = jour.Split('-');
                    dispo.Minutes = int.Parse(splitValue1[1]);
                    dispo.Jour    = splitValue1[0];
                    disponibilites.Add(dispo);
                }

                var dispoBd        = new Disponibilite();
                var inscriptionEtu = _db.Inscription.FirstOrDefault(x => x.id_Pers == idPers);
                foreach (var m in disponibilites)
                {
                    if (inscriptionEtu != null)
                    {
                        dispoBd.id_Inscription = inscriptionEtu.id_Inscription;
                    }
                    dispoBd.id_Jour = (int)Enum.Parse(typeof(Semaine), m.Jour);
                    dispoBd.minutes = m.Minutes;
                    _db.Disponibilite.Add(dispoBd);
                    _db.SaveChanges();
                }
                SessionBag.Current.id_Inscription = typeInscription;
                switch ((TypeInscription)typeInscription)
                {
                case TypeInscription.eleveAide:
                    SessionBag.Current.id_TypeUsag = TypeUsagers.Eleve;
                    return(RedirectToAction("EleveAide1"));

                case TypeInscription.tuteurDeCours:
                    SessionBag.Current.id_TypeUsag = TypeUsagers.Tuteur;
                    return(RedirectToAction("Tuteur"));

                case TypeInscription.tuteurBenevole:
                    SessionBag.Current.id_TypeUsag = TypeUsagers.Tuteur;
                    return(RedirectToAction("Benevole"));

                case TypeInscription.tuteurRemunere:
                    SessionBag.Current.id_TypeUsag = TypeUsagers.Tuteur;
                    return(RedirectToAction("Benevole"));

                default:
                    return(Json(new { success = false, message = MsgErreurRemplir }));
                }
            }
            return(Json(new { success = false, message = MsgErreurRemplir }));
        }