예제 #1
0
        public IActionResult RiddleList(int?idCategory)
        {
            UserConnect(ViewBag);
            ViewBag.Category = Category.LoadCategory();
            List <Riddle1> liste = Riddle1.RiddleLoad(idCategory);

            return(View(liste));
        }
예제 #2
0
        public IActionResult RiddleDeposit()
        {
            UserConnect(ViewBag);
            Riddle1 r = new Riddle1();

            ViewBag.CategoryList = Category.LoadCategory();
            return(View());
        }
예제 #3
0
        public async Task <IActionResult> AddRiddlePost(string titre, string enonce, string indice, string solution, int?category, List <IFormFile> image)
        {
            Riddle1 r = new Riddle1()
            {
                Titre = titre, Enonce = enonce, Indice = indice, Solution = solution, IdCategory = (int)category
            };

            r.IdUser = Convert.ToInt32(HttpContext.Session.GetString("idUser"));
            List <string> errors = new List <string>();

            if (titre == null)
            {
                errors.Add("Merci d'indiquer un titre");
            }
            if (enonce == null)
            {
                errors.Add("Merci d'indiquer un énoncé");
            }
            if (indice == null)
            {
                errors.Add("Merci d'indiquer un indice");
            }
            if (solution == null)
            {
                errors.Add("Merci d'indiquer la solution");
            }
            if (category == 0)
            {
                errors.Add("Merci d'indiquer la catégorie de l'énigme");
            }
            ViewBag.errors = errors;
            if (errors.Count > 0)
            {
                //ViewBag.error = true;
                //ViewBag.errors = errors;
                //return RedirectToAction("RiddleDeposit", r);
                //return View("RiddleDeposit", r);
            }
            else
            {
                foreach (IFormFile f in image)
                {
                    if (f.FileName.Contains(".png") || f.FileName.Contains(".jpg"))
                    {
                        var path   = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/Images/Enigme/", r.IdUser.ToString() + "-" + f.FileName);
                        var stream = new FileStream(path, FileMode.Create);
                        await f.CopyToAsync(stream);

                        r.Image.Add(new RiddleImage {
                            Url = "Images/Enigme/" + r.IdUser.ToString() + "-" + f.FileName
                        });
                    }
                }
                r.AddRiddle();
            }
            return(RedirectToAction("RiddleList", r));
            //return View("RiddleList", r);
        }
예제 #4
0
        public void DeleteRiddleDb(Riddle1 r)
        {
            SqlCommand command = new SqlCommand("DELETE FROM Riddle WHERE Id = @id", Connection.Instance);

            command.Parameters.Add(new SqlParameter("@id", r.Id));
            Connection.Instance.Open();
            command.ExecuteNonQuery();
            Connection.Instance.Close();
        }
예제 #5
0
        public IActionResult DeleteRiddle(int id)
        {
            UserConnect(ViewBag);
            Riddle1 r = new Riddle1 {
                Id = id
            };

            r.DeleteRiddle();
            return(RedirectToRoute(new { controller = "Riddle", action = "RiddleList" }));
        }
예제 #6
0
        public IActionResult AddRiddle()
        {
            UserConnect(ViewBag);
            bool connected = Convert.ToBoolean(HttpContext.Session.GetString("logged"));

            if (connected)
            {
                Riddle1 r = new Riddle1();
                ViewBag.CategoryList = Category.LoadCategory();
                return(View("RiddleDeposit", r));
            }
            else
            {
                return(RedirectToRoute(new { controller = "User", action = "Login" }));
            }
        }
예제 #7
0
        public IActionResult RiddleDetail(int Id)
        {
            UserConnect(ViewBag);
            bool connected = Convert.ToBoolean(HttpContext.Session.GetString("logged"));

            if (connected)
            {
                Riddle1        r     = new Riddle1();
                List <Riddle1> liste = Riddle1.GetRiddle(Id);
                return(View("RiddleDetail", liste));
            }
            else
            {
                return(RedirectToRoute(new { controller = "User", action = "Login" }));
            }
        }
예제 #8
0
        public List <Riddle1> RiddleLoadDb(int?idCategory)
        {
            List <Riddle1> liste = new List <Riddle1>();
            SqlCommand     command;

            if (idCategory == null)
            {
                command = new SqlCommand("SELECT Id, Titre, Enonce, Indice, Solution, DatePublication, IdCategory, IdUser From Riddle", Connection.Instance);
            }
            else
            {
                command = new SqlCommand("SELECT Id, Titre, Enonce, Indice, Solution, DatePublication, IdCategory, IdUser From Riddle WHERE IdCategory = @idcategory", Connection.Instance);
                command.Parameters.Add(new SqlParameter("@idcategory", idCategory));
            }
            Connection.Instance.Open();
            SqlDataReader reader = command.ExecuteReader();

            while (reader.Read())
            {
                Riddle1 r = new Riddle1 {
                    Id = reader.GetInt32(0), Titre = reader.GetString(1), Enonce = reader.GetString(2), Indice = reader.GetString(3), Solution = reader.GetString(4), DatePublication = reader.GetDateTime(5), IdCategory = reader.GetInt32(6), IdUser = reader.GetInt32(7)
                };
                liste.Add(r);
            }

            reader.Close();
            command.Dispose();
            for (int i = 0; i < liste.Count; i++)
            {
                command = new SqlCommand("SELECT Id, Url from RiddleImage WHERE idRiddle = @idRiddle", Connection.Instance);
                command.Parameters.Add(new SqlParameter("@idRiddle", liste[i].Id));
                reader = command.ExecuteReader();
                while (reader.Read())
                {
                    liste[i].Image.Add(new RiddleImage {
                        Id = reader.GetInt32(0), Url = reader.GetString(1)
                    });
                }
                reader.Close();
                command.Dispose();
            }
            Connection.Instance.Close();
            return(liste);
        }
예제 #9
0
        public List <Riddle1> GetRiddleDb(int Id)
        {
            List <Riddle1> liste   = new List <Riddle1>();
            SqlCommand     command = new SqlCommand("SELECT * FROM Riddle WHERE Id=@Id", Connection.Instance);

            command.Parameters.Add(new SqlParameter("@Id", SqlDbType.Int)
            {
                Value = Id
            });
            Connection.Instance.Open();
            SqlDataReader reader = command.ExecuteReader();

            while (reader.Read())
            {
                Riddle1 r = new Riddle1 {
                    Id = reader.GetInt32(0), Titre = reader.GetString(1), Enonce = reader.GetString(2), Indice = reader.GetString(3), Solution = reader.GetString(4)
                };
                liste.Add(r);
            }
            reader.Close();
            command.Dispose();
            for (int i = 0; i < liste.Count; i++)
            {
                command = new SqlCommand("SELECT Id, Url from RiddleImage WHERE idRiddle = @Id", Connection.Instance);
                command.Parameters.Add(new SqlParameter("@Id", liste[i].Id));
                reader = command.ExecuteReader();
                while (reader.Read())
                {
                    liste[i].Image.Add(new RiddleImage {
                        Id = reader.GetInt32(0), Url = reader.GetString(1)
                    });
                }
                reader.Close();
                command.Dispose();
            }

            Connection.Instance.Close();
            return(liste);
        }
예제 #10
0
        //RIDDLE

        public void AddRiddleDb(Riddle1 r)
        {
            SqlCommand command = new SqlCommand("INSERT INTO Riddle (Titre, Enonce, Indice, Solution, DatePublication, IdCategory, IdUser) OUTPUT INSERTED.ID VALUES (@Titre, @Enonce, @Indice, @Solution, @DatePublication, @IdCategory, @IdUser)", Connection.Instance);

            command.Parameters.Add(new SqlParameter("@Titre", r.Titre));
            command.Parameters.Add(new SqlParameter("@Enonce", r.Enonce));
            command.Parameters.Add(new SqlParameter("@Indice", r.Indice));
            command.Parameters.Add(new SqlParameter("@Solution", r.Solution));
            command.Parameters.Add(new SqlParameter("@DatePublication", r.DatePublication));
            command.Parameters.Add(new SqlParameter("@IdCategory", r.IdCategory));
            command.Parameters.Add(new SqlParameter("@IdUser", r.IdUser));
            Connection.Instance.Open();
            r.Id = (int)command.ExecuteScalar();
            command.Dispose();
            foreach (RiddleImage img in r.Image)
            {
                command = new SqlCommand("INSERT INTO RiddleImage (Url,idRiddle) values(@Url,@idRiddle)", Connection.Instance);
                command.Parameters.Add(new SqlParameter("@Url", img.Url));
                command.Parameters.Add(new SqlParameter("@idRiddle", r.Id));
                command.ExecuteNonQuery();
                command.Dispose();
            }
            Connection.Instance.Close();
        }