public List <MemeCreation> SearchForMeme(string searchString)
        {
            string sql = $"SELECT MemeCreations.*, Url, AltText FROM MemeCreations JOIN MemeImages ON MemeCreations.MemeImg = MemeImages.Id WHERE MemeText LIKE '%{searchString}%'";

            DataTable MemeTable = ExecuteQuery(sql);

            List <MemeCreation> memeList = new List <MemeCreation>();

            foreach (DataRow row in MemeTable.Rows)
            {
                int          memeImg   = (int)row["MemeImg"];
                DateTime     timeStamp = (DateTime)row["TimeStamp"];
                string       memeText  = (string)row["MemeText"];
                string       position  = (string)row["Position"];
                string       color     = (string)row["Color"];
                string       size      = (string)row["Size"];
                string       url       = (string)row["Url"];
                string       altText   = (string)row["AltText"];
                MemeImage    memeImage = new MemeImage(memeImg, url, altText);
                MemeCreation meme      = new MemeCreation(memeImage, memeImg, timeStamp, memeText, position, color, size);

                memeList.Add(meme);
            }

            return(memeList);
        }
Beispiel #2
0
        private MemeCreation ExtractMemeCreation(DataRow row)
        {
            int      memeCreationId = (int)row["Id"];
            string   url            = (string)row["Url"];
            string   altText        = (string)row["AltText"];
            int      memeImageId    = (int)row["MemeImg"];
            string   memeText       = (string)row["MemeText"];
            string   position       = (string)row["Position"];
            string   size           = (string)row["Size"];
            string   color          = (string)row["Color"];
            DateTime creationTime   = (DateTime)row["TimeStamp"];

            MemeImage    memeImage    = new MemeImage(memeImageId, url, altText);
            MemeCreation memeCreation = new MemeCreation()
            {
                Id           = memeCreationId,
                Color        = color,
                CreationTime = creationTime,
                MemeImage    = memeImage,
                Position     = position,
                MemeImageId  = memeImageId,
                Size         = size,
                Text         = memeText
            };

            return(memeCreation);
        }
        public MemeCreation GetRandomMeme(out MemeImage memeImage)
        {
            DataTable memeCreationTable = ExecuteQuery($"SELECT TOP 1 MemeCreations.Id, Url, MemeText, Position, Color, Size FROM MemeCreations JOIN MemeImages ON MemeImages.Id = MemeCreations.MemeImg ORDER BY NEWID()");

            if (memeCreationTable.Rows.Count > 0)
            {
                DataRow row      = memeCreationTable.Rows[0];
                int     id       = (int)row["Id"];
                string  url      = (string)row["Url"];
                string  memeText = (string)row["MemeText"];
                string  position = (string)row["Position"];
                string  color    = (string)row["Color"];
                string  size     = (string)row["Size"];
                memeImage = new MemeImage()
                {
                    Url = url
                };
                MemeCreation memeCreation = new MemeCreation()
                {
                    Id       = id,
                    MemeText = memeText,
                    Position = position,
                    Color    = color,
                    Size     = size
                };
                return(memeCreation);
            }
            else
            {
                throw new ArgumentException($"No memes were found");
            }
        }
Beispiel #4
0
        public MemeCreation GetMostRecentMeme()
        {
            string sql = $"SELECT TOP(1) MemeCreations.*, MemeImages.Url, MemeImages.AltText FROM MemeCreations JOIN MemeImages ON MemeCreations.MemeImg = MemeImages.Id ORDER BY TimeStamp DESC";

            DataTable memeCreationsTable = ExecuteQuery(sql);

            if (memeCreationsTable.Rows.Count == 1)
            {
                int      memeCreationsId = (int)memeCreationsTable.Rows[0]["Id"];
                string   url             = (string)memeCreationsTable.Rows[0]["Url"];
                string   altText         = (string)memeCreationsTable.Rows[0]["AltText"];
                int      memeImageId     = (int)memeCreationsTable.Rows[0]["MemeImg"];
                DateTime creationTime    = (DateTime)memeCreationsTable.Rows[0]["TimeStamp"];
                string   memeText        = (string)memeCreationsTable.Rows[0]["MemeText"];
                string   position        = (string)memeCreationsTable.Rows[0]["Position"];
                string   color           = (string)memeCreationsTable.Rows[0]["Color"];
                string   size            = (string)memeCreationsTable.Rows[0]["Size"];

                MemeImage    memeImage    = new MemeImage(memeImageId, url, altText);
                MemeCreation memeCreation = new MemeCreation(memeCreationsId, memeImage, creationTime, memeText, position, color, size);
                return(memeCreation);
            }
            else
            {
                throw new ArgumentException($"GetMostRecentMeme was not found");
            }
        }
Beispiel #5
0
        public int Insert(MemeCreation memeCreation)
        {
            string sql =
                $"INSERT INTO MemeCreations " +
                $"VALUES ({memeCreation.MemeImageId}, CURRENT_TIMESTAMP, '{memeCreation.Text}', '{memeCreation.Position}', '{memeCreation.Color}', '{memeCreation.Size}')";

            return(ExecuteNonQuery(sql));
        }
        public void OnGet()
        {
            MemeImageRepository    memeImageRepo    = new MemeImageRepository(@"Data Source=(localdb)\mssqllocaldb;Initial Catalog=MemeGenerator;Integrated Security=True;");
            MemeCreationRepository memeCreationRepo = new MemeCreationRepository(@"Data Source=(localdb)\mssqllocaldb;Initial Catalog=MemeGenerator;Integrated Security=True;");

            MostUsedImage = memeImageRepo.GetMostUsedImg();

            MostUsedPosition = memeCreationRepo.GetMostUsedPosition();

            MostUsedColor = memeCreationRepo.GetMostUsedColor();
        }
        private List <MemeCreation> HandleData(DataTable dataTable)
        {
            List <MemeCreation> memeCreations = new List <MemeCreation>();

            foreach (DataRow row in dataTable.Rows)
            {
                MemeCreation memeCreation = new MemeCreation((int)row["Id"], MemeImage.GetMemeImage((int)row["MemeImg"]), (DateTime)row["TimeStamp"], (string)row["MemeText"], (string)row["Position"], (string)row["Color"], (string)row["Size"]);
                memeCreations.Add(memeCreation);
            }
            return(memeCreations);
        }
Beispiel #8
0
        public int Insert(MemeCreation memeCreation)
        {
            string sql = $"INSERT INTO MemeCreations VALUES(" +
                         $"{memeCreation.MemeImg.Id}, " +
                         $"CURRENT_TIMESTAMP, " +
                         $"'{memeCreation.MemeText}', " +
                         $"'{memeCreation.Position}', " +
                         $"'{memeCreation.Color}', " +
                         $"'{memeCreation.Size}')";

            return(ExecuteNonQuery(sql));
        }
        public int Insert(MemeCreation memeCreation)
        {
            if (memeCreation.MemeImg.Id != 0)
            {
                string sql = $"INSERT INTO MemeCreations VALUES ({memeCreation.MemeImg.Id}, '{memeCreation.TimeStamp.ToString("yyyy-MM-dd HH:mm:ss")}','{memeCreation.MemeText}', '{memeCreation.Position}', '{memeCreation.Color}', '{memeCreation.Size}')";

                return(ExecuteNonQuery(sql));
            }
            else
            {
                return(0);
            }
        }
        public MemeCreation GetMostUsedColor()
        {
            string sql = "SELECT TOP(1) COUNT(Id), Color " +
                         "FROM MemeCreations " +
                         "GROUP BY Color " +
                         "ORDER BY COUNT(Id) DESC";

            DataTable memeCreationTable = ExecuteQuery(sql);

            MemeCreation memeColor = new MemeCreation();

            memeColor.Color = (string)memeCreationTable.Rows[0]["Color"];

            return(memeColor);
        }
Beispiel #11
0
        private void SaveMemeInDb()
        {
            MemeCreationRepository memeCreationRepo = new MemeCreationRepository(@"Data Source=(localdb)\mssqllocaldb;Initial Catalog=MemeGenerator;Integrated Security=True;");

            MemeCreation memeCreation = new MemeCreation()
            {
                MemeImageId = ImageSelected,
                Text        = MemeText,
                Position    = PositionOfText,
                Color       = FontColor,
                Size        = FontSize
            };

            int rowsAffected = memeCreationRepo.Insert(memeCreation);
        }
        public MemeCreation GetMostUsedPosition()
        {
            string sql = "SELECT TOP(1) COUNT(Id), Position " +
                         "FROM MemeCreations " +
                         "GROUP BY Position " +
                         "ORDER BY COUNT(Id) DESC";

            DataTable memeCreationTable = ExecuteQuery(sql);

            MemeCreation memePosition = new MemeCreation();

            memePosition.Position = (string)memeCreationTable.Rows[0]["Position"];

            return(memePosition);
        }
Beispiel #13
0
        private MemeCreation GetRandomMemeInSql()
        {
            string sql = "SELECT TOP(1) MemeCreations.*, Url, AltText FROM MemeCreations JOIN MemeImages ON MemeCreations.MemeImg = MemeImages.Id ORDER BY NEWID()";

            DataTable memeImagesTable = ExecuteQuery(sql);


            if (memeImagesTable.Rows.Count > 0)
            {
                DataRow row = memeImagesTable.Rows[0];

                MemeCreation memeCreation = ExtractMemeCreation(row);
                return(memeCreation);
            }
            return(null);
        }
Beispiel #14
0
        private MemeCreation GetRandomMemeInCsharp()
        {
            List <MemeCreation> memeCreations = new List <MemeCreation>();
            string sql = "SELECT MemeCreations.*, Url, AltText FROM MemeCreations JOIN MemeImages ON MemeCreations.MemeImg = MemeImages.Id";

            DataTable memeImagesTable = ExecuteQuery(sql);

            foreach (DataRow row in memeImagesTable.Rows)
            {
                MemeCreation memeCreation = ExtractMemeCreation(row);

                memeCreations.Add(memeCreation);
            }
            Random rnd = new Random();

            return(memeCreations[rnd.Next(0, memeCreations.Count)]);
        }
Beispiel #15
0
        public void OnGet()
        {
            MemeImageRepository memeImageRepo = new MemeImageRepository(@"Data Source=(localdb)\mssqllocaldb;Initial Catalog=MemeGenerator;Integrated Security=True;");

            SelectedImageUrl = memeImageRepo.GetUrlFrom(ImageSelected);
            MemeCreationRepository memeCreationRepo = new MemeCreationRepository(@"Data Source=(localdb)\mssqllocaldb;Initial Catalog=MemeGenerator;Integrated Security=True;");
            MemeCreation           memeCreation     = new MemeCreation()
            {
                MemeImg  = ImageSelected,
                MemeText = MemeText,
                Position = TextPosition,
                Size     = FontSize,
                Color    = TextColor
            };

            memeCreationRepo.Insert(memeCreation);
        }
Beispiel #16
0
        private void SaveMemeInDb()
        {
            MemeCreationRepository memeCreateionRepo = new MemeCreationRepository();

            MemeCreation memeCreation = new MemeCreation()
            {
                MemeImageId = ImageSelected,
                Text        = MemeText
            };

            int rowsAffected = memeCreateionRepo.Insert(memeCreation);

            if (rowsAffected != 1)
            {
                ErrorMessage = "Memet blev ikke oprettet i databasen :(";
                //Create an errormessage or log the problem somewhere
            }
        }
Beispiel #17
0
        public MemeCreation GetMostUsedPosition()
        {
            string sql = $"SELECT TOP(1) COUNT(Id) as TimesUsed, Position FROM MemeCreations GROUP BY Position ORDER BY TimesUsed DESC";

            DataTable memeCreationsTable = ExecuteQuery(sql);

            if (memeCreationsTable.Rows.Count == 1)
            {
                int    memeCreationsId = (int)memeCreationsTable.Rows[0]["TimesUsed"];
                string position        = (string)memeCreationsTable.Rows[0]["Position"];

                MemeCreation memeCreation = new MemeCreation()
                {
                    Id       = memeCreationsId,
                    Position = position
                };
                return(memeCreation);
            }
            else
            {
                throw new ArgumentException($"GetMostUsedPosition was not found");
            }
        }
        public MemeCreation GetLatestMeme()
        {
            string sql = "SELECT TOP(1) MemeCreations.*, MemeImages.Url, MemeImages.AltText " +
                         "FROM MemeCreations " +
                         "JOIN MemeImages ON MemeCreations.MemeImg = MemeImages.Id " +
                         "ORDER BY TimeStamp DESC; ";

            DataTable MemeImagesTable = ExecuteQuery(sql);
            DataRow   row             = MemeImagesTable.Rows[0];

            int          memeImg   = (int)row["MemeImg"];
            DateTime     timeStamp = (DateTime)row["TimeStamp"];
            string       memeText  = (string)row["MemeText"];
            string       position  = (string)row["Position"];
            string       color     = (string)row["Color"];
            string       size      = (string)row["Size"];
            string       url       = (string)row["Url"];
            string       altText   = (string)row["AltText"];
            MemeImage    memeImage = new MemeImage(memeImg, url, altText);
            MemeCreation meme      = new MemeCreation(memeImage, memeImg, timeStamp, memeText, position, color, size);

            return(meme);
        }
Beispiel #19
0
        public void OnGet()
        {
            MemeCreationRepository repo = new MemeCreationRepository();

            Meme = repo.GetRandomMeme();
        }
Beispiel #20
0
        public void OnGet()
        {
            MemeCreationRepository memeCreationRepo = new MemeCreationRepository(@"Data Source=(localdb)\mssqllocaldb;Initial Catalog=MemeGenerator;Integrated Security=True;");

            randomMeme = memeCreationRepo.GetRandomMeme();
        }
 public void GenerateMeme()
 {
     MemeCreated = memeCreationRepository.GetRandomMeme();
     MemeImg     = MemeCreated.MemeImg;
 }
 public int Insert(MemeCreation memeCreation)
 {
     return(ExecuteNonQuery($"INSERT INTO MemeCreations VALUES ('{memeCreation.MemeImg}', CURRENT_TIMESTAMP, '{memeCreation.MemeText}', '{memeCreation.Position}', '{memeCreation.Color}', '{memeCreation.Size}')"));
 }