コード例 #1
0
        public IActionResult Demandes(int?id)
        {
            Ami         ami         = new Ami();
            Festivalier festivalier = API.Instance.GetFestivalierAsync((int)HttpContext.Session.GetInt32("idf")).Result;

            IEnumerable <Ami> amitiés = API.Instance.GetAmitiésAsync().Result.Where(a => a.AmiReceveur == festivalier.Id && !a.Accepted);

            ICollection <Festivalier> festivaliers = new List <Festivalier>();
            Festivalier fvl = API.Instance.GetFestivalierAsync((int)HttpContext.Session.GetInt32("idf")).Result;

            foreach (var item in amitiés)
            {
                item.Vue = true;
                var URI = API.Instance.ModifAmiAsync(item);
            }
            amitiés = API.Instance.GetAmitiésAsync().Result.Where(a => a.AmiReceveur == festivalier.Id && !a.Accepted);
            foreach (var item in amitiés)
            {
                fvl = API.Instance.GetFestivalierAsync(item.AmiDemandeur).Result;
                festivaliers.Add(fvl);
            }
            if (id != null)
            {
                Ami amitié = API.Instance.GetAmitiéAsync((int)id, festivalier.Id).Result;
                amitié.Accepted = true;
                var URI = API.Instance.ModifAmiAsync(amitié);
            }

            return(View(festivaliers.Where(f => f.IsPublished)));
        }
コード例 #2
0
        public IActionResult Create(Festivalier festivalier, double somme, int festivalId)
        {
            festivalier.Somme      = festivalier.Nb_ParticipantsPT * somme + festivalier.Nb_ParticipantsDT * somme * 0.5;
            festivalier.FestivalId = festivalId;
            int drapeau = 0;
            IEnumerable <Festivalier> Festivaliers = API.Instance.GetFestivaliersAsync().Result;

            foreach (var item in Festivaliers)
            {
                if (item.Nom == festivalier.Nom)
                {
                    drapeau++;
                }
            }

            if (ModelState.IsValid && drapeau == 0)
            {
                var URI = API.Instance.AjoutFestivalierAsync(festivalier);
                return(RedirectToAction(nameof(Index)));
            }
            else if (drapeau != 0)
            {
                return(RedirectToAction(nameof(Index)));
            }
            return(View(festivalier));
        }
コード例 #3
0
        public Festivalier Display_One_Festivalier_Login(string Login, int FestivalId)
        {
            Festivalier festivalier = new Festivalier();

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                string     sqlQuery = "Select * from dbo.Festivalier where Login = "******"and FestivalId = " + FestivalId;
                SqlCommand command  = new SqlCommand(sqlQuery, connection);
                connection.Open();
                SqlDataReader reader = command.ExecuteReader();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        festivalier.Id                = reader.GetInt32(0);
                        festivalier.Login             = reader.GetString(3);
                        festivalier.Nb_ParticipantsPT = reader.GetInt32(5);
                        festivalier.Nb_ParticipantsDT = reader.GetInt32(5);
                        festivalier.Nom               = reader.GetString(1);
                        festivalier.Prenom            = reader.GetString(2);
                        festivalier.Pwd               = reader.GetString(4);
                        festivalier.Somme             = reader.GetDouble(6);
                    }
                }
            }

            return(festivalier);
        }
コード例 #4
0
        public ActionResult AjoutAmi(int?id)
        {
            int         drapeau     = 0;
            Ami         ami         = new Ami();
            Festivalier festivalier = API.Instance.GetFestivalierAsync((int)HttpContext.Session.GetInt32("idf")).Result;


            if (id == null)
            {
                return(Redirect("/Festivals/Festivaliers"));
            }
            else
            {
                ami.AmiDemandeur = (int)HttpContext.Session.GetInt32("idf");
                ami.AmiReceveur  = (int)id;
                ami.Accepted     = false;
                ami.Vue          = false;
                IEnumerable <Ami> amitiés = API.Instance.GetAmitiésAsync().Result;
                foreach (var item in amitiés)
                {
                    if ((item.AmiDemandeur == ami.AmiDemandeur && item.AmiReceveur == ami.AmiReceveur) || (item.AmiDemandeur == ami.AmiReceveur && item.AmiDemandeur == ami.AmiReceveur))
                    {
                        drapeau++;
                        ami.Id           = item.Id;
                        ami.AmiDemandeur = item.AmiReceveur;
                        ami.AmiReceveur  = item.AmiReceveur;

                        var URI2 = API.Instance.ModifAmiAsync(ami);
                        return(Redirect("/Festivals/Festivaliers"));
                    }
                }
                var URI = API.Instance.AjoutAmiAsync(ami);
            }
            return(Redirect("/Festivals/Festivaliers"));
        }
コード例 #5
0
        public List <Festivalier> list_festivalier()
        {
            List <Festivalier> returnList = new List <Festivalier>();

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                string     sqlQuery = "Select * from dbo.Festivalier";
                SqlCommand command  = new SqlCommand(sqlQuery, connection);
                connection.Open();

                SqlDataReader reader = command.ExecuteReader();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        Festivalier festivalier = new Festivalier();

                        festivalier.Id                = reader.GetInt32(0);
                        festivalier.Login             = reader.GetString(3);
                        festivalier.Nb_ParticipantsPT = reader.GetInt32(5);
                        festivalier.Nb_ParticipantsDT = reader.GetInt32(5);
                        festivalier.Nom               = reader.GetString(1);
                        festivalier.Prenom            = reader.GetString(2);
                        festivalier.Pwd               = reader.GetString(4);
                        festivalier.Somme             = reader.GetDouble(6);

                        returnList.Add(festivalier);
                    }
                }
            }

            return(returnList);
        }
コード例 #6
0
        public Festivalier Display_One_Festivalier(int Id)
        {
            Festivalier festivalier = new Festivalier();

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                string     sqlQuery = "Select * from dbo.Festivalier where Id = " + Id;
                SqlCommand command  = new SqlCommand(sqlQuery, connection);
                command.Parameters.Add("@Id", System.Data.SqlDbType.Int).Value = Id;
                connection.Open();
                SqlDataReader reader = command.ExecuteReader();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        festivalier.Id                = reader.GetInt32(0);
                        festivalier.Login             = reader.GetString(3);
                        festivalier.Nb_ParticipantsPT = reader.GetInt32(5);
                        festivalier.Nb_ParticipantsDT = reader.GetInt32(5);
                        festivalier.Nom               = reader.GetString(1);
                        festivalier.Prenom            = reader.GetString(2);
                        festivalier.Pwd               = reader.GetString(4);
                        festivalier.Somme             = reader.GetDouble(6);
                    }
                }
            }

            return(festivalier);
        }
コード例 #7
0
        public async Task <IHttpActionResult> PutFestivalier(int id, Festivalier festivalier)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != festivalier.Id)
            {
                return(BadRequest());
            }

            db.Entry(festivalier).State = EntityState.Modified;

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

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #8
0
        public Festivalier Insert(int JourId, int nbr_personne, string Nom, string Prenom, String Login, string Pwd, Double somme, int FestivalId, int nbr_Jour, int coefficient)
        {
            FestivalierDAO festivalierDAO = new FestivalierDAO();
            TarifDAO       tarifDAO       = new TarifDAO();
            Tarif          tarif          = new Tarif();
            Festivalier    festivalier    = new Festivalier();

            tarif = tarifDAO.valeur_tarif(JourId, coefficient);

            somme = tarif.Montant * tarif.Coefficient * nbr_personne * nbr_Jour;

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                string sqlQuery = "Insert into Festivalier (Id, Nom, Prenom, Login, Pwd, Nb_Participants, Somme, FestivalId) " +
                                  "Values (Id.nextVal, @Nom, @Prenom, @Login, @Pwd, @Nb_Participants, @Somme, @FestiavalId)";

                SqlCommand command = new SqlCommand(sqlQuery, connection);

                command.Parameters["@Nom"].Value             = Nom;
                command.Parameters["@Prenom"].Value          = Prenom;
                command.Parameters["@Login"].Value           = Login;
                command.Parameters["@Pwd"].Value             = Pwd;
                command.Parameters["@Nb_Participants"].Value = nbr_personne;
                command.Parameters["@Somme"].Value           = somme;
                command.Parameters["@FestivalId"].Value      = FestivalId;

                connection.Open();
                command.ExecuteNonQuery();
                connection.Close();

                festivalier = festivalierDAO.Display_One_Festivalier_Login(Login, FestivalId);

                return(festivalier);
            }
        }
コード例 #9
0
        public async Task <ActionResult <Festivalier> > PostFestivalier(Festivalier festivalier)
        {
            _context.Festivalier.Add(festivalier);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetFestivalier", new { id = festivalier.Id }, festivalier));
        }
コード例 #10
0
        public async Task <IActionResult> PutFestivalier(int id, Festivalier festivalier)
        {
            if (id != festivalier.Id)
            {
                return(BadRequest());
            }

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

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

            return(NoContent());
        }
コード例 #11
0
        public async Task <IHttpActionResult> PostArtiste(Festivalier festival)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Festivaliers.Add(festival);
            await db.SaveChangesAsync();

            var dto = new FestivalierDTO()
            {
                ID         = festival.ID,
                Nom        = festival.Nom,
                Prenom     = festival.Prenom,
                Naissance  = festival.Naissance,
                Email      = festival.Email,
                Mdp        = festival.Mdp,
                Genre      = festival.Genre,
                Telephone  = festival.Telephone,
                CodePostal = festival.CodePostal,
                Ville      = festival.Ville,
                Rue        = festival.Rue,
                Pays       = festival.Pays,
                FestivalId = festival.FestivalId,
            };

            return(CreatedAtRoute("DefaultApi", new { id = festival.ID }, dto));
        }
コード例 #12
0
        public IActionResult AjoutFestivalier(Festivalier festivalier)
        {
            DateTime today    = DateTime.Now;
            var      days     = (today.Date - festivalier.Birthday.Date).TotalDays;
            Festival festival = API.Instance.GetFestivalAsync(festivalier.FestivalId).Result;

            festivalier.IsPublished = false;
            festival.NbPlacesDispo  = festival.NbPlacesDispo - (festivalier.Nb_ParticipantsDT + festivalier.Nb_ParticipantsPT);

            if (days < 18 * 365)
            {
                ModelState.AddModelError("error", "Vous n'êtes pas majeur!!!");
                return(AjoutFestivalier(festivalier.FestivalId));
            }
            if (festival.NbPlacesDispo < (festivalier.Nb_ParticipantsDT + festivalier.Nb_ParticipantsPT))
            {
                ModelState.AddModelError("error", "Pas assez de  places disponibles ? veuillez en prendre moins!");
                return(AjoutFestivalier(festivalier.FestivalId));
            }
            festivalier.Somme = (festivalier.Nb_ParticipantsPT * festival.Montant + festivalier.Nb_ParticipantsDT * festival.Montant * 0.5) * festivalier.NbJours;

            festivalier.Date_Inscription = DateTime.Now;
            int drapeau = 0;

            IEnumerable <Festivalier> Festivaliers = API.Instance.GetFestivaliersAsync().Result;

            if (festival.NbPlacesDispo > 0)
            {
                foreach (var item in Festivaliers)
                {
                    if (item.Nom == festivalier.Nom)
                    {
                        drapeau++;
                    }
                }

                if (ModelState.IsValid && drapeau == 0)
                {
                    sendMail = new FestivalAPI.Data.SendMail();
                    string mailSubject = "Inscription au festival " + festival.Nom;
                    string content     = "Votre inscripion au festival " + festival.Nom + " a bien été prise en compte vous allez bientôt recevoir un mail de validation de paiement. <br> pour l'instant vous pouvez d'ores et déjà vous connecter sur notre site internet <br> <br> Cordialement <br> <br> A bientôt sur Festi'Normandie.";

                    sendMail.ActionSendMail(festivalier.Login, mailSubject, content);

                    var URI  = API.Instance.AjoutFestivalierAsync(festivalier);
                    var URI2 = API.Instance.ModifFestivalAsync(festival);
                    return(RedirectToAction(nameof(Index)));
                }
                else if (drapeau != 0)
                {
                    return(RedirectToAction(nameof(Index)));
                }
            }
            else
            {
                return(RedirectToAction(nameof(Index)));
            }

            return(View(festivalier));
        }
コード例 #13
0
        public ActionResult DeleteFavoris(int id)
        {
            Festivalier festivalier = API.Instance.GetFestivalierAsync((int)HttpContext.Session.GetInt32("idf")).Result;

            if (id != null)
            {
                Favoris favoris = API.Instance.GetFavorisAsync((int)id, festivalier.Id).Result;
                var     URI     = API.Instance.SupprFavorisAsync(favoris.Id);
            }
            return(Redirect("/Artistes/Favoris"));
        }
コード例 #14
0
        public ActionResult DeleteAmitié(int?id)
        {
            Festivalier festivalier = API.Instance.GetFestivalierAsync((int)HttpContext.Session.GetInt32("idf")).Result;

            if (id != null)
            {
                Ami amitié = API.Instance.GetAmitiéAsync((int)id, festivalier.Id).Result;
                var URI    = API.Instance.SupprAmiAsync(amitié.Id);
            }
            return(Redirect("/Festivals/Festivaliers"));
        }
コード例 #15
0
        public async Task <IHttpActionResult> GetFestivalier(int id)
        {
            Festivalier festivalier = await db.Festivaliers.FindAsync(id);

            if (festivalier == null)
            {
                return(NotFound());
            }

            return(Ok(festivalier));
        }
コード例 #16
0
        public async Task <IHttpActionResult> PostFestivalier(Festivalier festivalier)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Festivaliers.Add(festivalier);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = festivalier.Id }, festivalier));
        }
コード例 #17
0
        public ActionResult AccepterAmitié(int?id)
        {
            Festivalier festivalier = API.Instance.GetFestivalierAsync((int)HttpContext.Session.GetInt32("idf")).Result;

            if (id != null)
            {
                Ami amitié = API.Instance.GetAmitiéAsync((int)id, festivalier.Id).Result;
                amitié.Accepted = true;
                var URI = API.Instance.ModifAmiAsync(amitié);
            }
            return(Redirect("/Festivals/Festivaliers"));
        }
コード例 #18
0
ファイル: API.cs プロジェクト: GastonMAPANGOU/FestivalAPI
        public async Task <Festivalier> GetFestivalier(string login, string pwd)
        {
            Festivalier         festivalier = null;
            HttpResponseMessage response    = client.GetAsync("api/festivaliers/" + login + "/" + pwd).Result;

            if (response.IsSuccessStatusCode)
            {
                var resp = await response.Content.ReadAsStringAsync();

                festivalier = JsonConvert.DeserializeObject <Festivalier>(resp);
            }
            return(festivalier);
        }
コード例 #19
0
        public async Task <IHttpActionResult> DeleteFestivalier(int id)
        {
            Festivalier festivalier = await db.Festivaliers.FindAsync(id);

            if (festivalier == null)
            {
                return(NotFound());
            }

            db.Festivaliers.Remove(festivalier);
            await db.SaveChangesAsync();

            return(Ok(festivalier));
        }
コード例 #20
0
        public IActionResult Festivaliers()
        {
            if (HttpContext.Session.GetInt32("idf") == null)
            {
                return(null);
            }
            Festivalier festivalier = API.Instance.GetFestivalierAsync((int)HttpContext.Session.GetInt32("idf")).Result;
            Festival    festival    = API.Instance.GetFestivalAsync(festivalier.FestivalId).Result;

            if (festival == null)
            {
                return(null);
            }

            return(View(API.Instance.GetFestivaliersAsync().Result.Where(f => f.Id != festivalier.Id && f.FestivalId == festivalier.FestivalId && f.IsPublished)));
        }
コード例 #21
0
        public IActionResult Edit(int id, [Bind("Id,Nom,Prenom,Login,Pwd,Nb_ParticipantsPT,Nb_ParticipantsDT,Somme,FestivalId")] Festivalier festivalier, double somme, int festivalId)
        {
            festivalier.Somme      = festivalier.Nb_ParticipantsPT * somme + festivalier.Nb_ParticipantsDT * somme * 0.5;
            festivalier.FestivalId = festivalId;
            if (id != festivalier.Id)
            {
                return(NotFound());
            }


            if (ModelState.IsValid)
            {
                var URI = API.Instance.ModifFestivalierAsync(festivalier);
                return(RedirectToAction(nameof(Index)));
            }
            return(View(festivalier));
        }
コード例 #22
0
        public ActionResult Depublier()
        {
            if (HttpContext.Session.GetInt32("idf") == null)
            {
                return(null);
            }
            Festivalier festivalier = API.Instance.GetFestivalierAsync((int)HttpContext.Session.GetInt32("idf")).Result;
            Festival    festival    = API.Instance.GetFestivalAsync(festivalier.FestivalId).Result;

            if (festival == null)
            {
                return(null);
            }
            festivalier.IsPublished = false;
            var uri = API.Instance.ModifFestivalierAsync(festivalier);

            return(Redirect("/Home/Index"));
        }
コード例 #23
0
        public ActionResult ValiderPaiement(int?id)
        {
            if (id != null)
            {
                return(Redirect("/Festivals/Festivaliers"));
            }
            Festivalier festivalier = API.Instance.GetFestivalierAsync(id).Result;
            Festival    festival    = API.Instance.GetFestivalAsync(festivalier.Id).Result;

            festivalier.InscriptionAccepted = true;
            var uri = API.Instance.ModifFestivalierAsync(festivalier);

            sendMail = new FestivalAPI.Data.SendMail();
            string mailSubject = "Validation de paiement pour le festival" + festival.Nom;
            string content     = "Votre paiement de ticket pour le festival " + festival.Nom + " a bien été validée. Ci dessous votre facture: <br> <br> Nom:" + festivalier.Prenom + " " + festivalier.Nom + "< br> Nombre de places Demi-Tarif:" + festivalier.Nb_ParticipantsDT + " <br>Nombre de places Plein-Tarif:" + festivalier.Nb_ParticipantsPT + " Nombre de jours:" + festivalier.NbJours + "<br>Tarif-Plein: " + festival.Montant + " < br > Demi-Tarif: " + (festival.Montant / 2) + " < br > Total: " + festivalier.Somme + "< br >Cordialement <br> <br> A bientôt sur Festi'Normandie.";

            sendMail.ActionSendMail(festivalier.Login, mailSubject, content);

            return(Redirect("/Festivals/Festivaliers"));
        }
コード例 #24
0
 public IActionResult ConnexionFestivalier(Festivalier festivalier)
 {
     if (festivalier.Login != null && festivalier.Pwd != null)
     {
         festivalier = API.Instance.GetFestivalier(festivalier.Login, festivalier.Pwd).Result;
         if (festivalier != null)
         {
             HttpContext.Session.SetInt32("idf", festivalier.Id);
             HttpContext.Session.SetString("email", festivalier.Login);
             HttpContext.Session.SetString("category", "Festivalier");
             return(Redirect("/Home/Index"));
         }
         else
         {
             ModelState.AddModelError("error", "Login et/ou mot de passe incorrect(s)");
         }
     }
     else
     {
         ModelState.AddModelError("error", "Login et/ou mot de passe incorrect(s)");
     }
     return(View());
 }
コード例 #25
0
        public IActionResult Favoris(int?id)
        {
            int         drapeau     = 0;
            Favoris     favoris     = new Favoris();
            Festivalier festivalier = API.Instance.GetFestivalierAsync((int)HttpContext.Session.GetInt32("idf")).Result;
            var         Artistes    = API.Instance.GetArtistesAsync().Result;


            if (id == null)
            {
                return(View(API.Instance.GetArtistesAsync().Result));
            }
            else
            {
                favoris.ArtisteId     = (int)id;
                favoris.FestivalierId = (int)HttpContext.Session.GetInt32("idf");
                favoris.Like          = true;
                IEnumerable <Favoris> fav = API.Instance.GetFavorisAsync().Result;
                foreach (var item in fav)
                {
                    if ((item.ArtisteId == favoris.ArtisteId && item.FestivalierId == favoris.FestivalierId))
                    {
                        favoris.Id = item.Id;
                        var URI = API.Instance.ModifFavorisAsync(favoris);
                        return(View(API.Instance.GetArtistesAsync().Result));
                    }
                }

                if (ModelState.IsValid && drapeau == 0)
                {
                    var URI = API.Instance.AjoutFavorisAsync(favoris);
                    return(View(API.Instance.GetArtistesAsync().Result));
                }
            }
            return(View(API.Instance.GetArtistesAsync().Result.Where(f => f.IdA != festivalier.Id && f.FestivalId == festivalier.FestivalId)));
        }
コード例 #26
0
        // GET: Connexion
        public IActionResult ConnexionFestivalier()
        {
            Festivalier festivalier = new Festivalier();

            return(View(festivalier));
        }