Пример #1
0
        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");
            }
        }
        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);
        }
Пример #3
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);
        }
Пример #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");
            }
        }
Пример #5
0
        public void OnGet()
        {
            MemeCreationRepository memeCreationRepo = new MemeCreationRepository(@"Data Source=(localdb)\mssqllocaldb;Initial Catalog=MemeGenerator;Integrated Security=True;");
            MemeImage memeImage;

            MemeCreation = memeCreationRepo.GetRandomMeme(out memeImage);
            MemeImage    = memeImage;
        }
Пример #6
0
 public void OnGet()
 {
     memeImage              = memeImageRepository.GetMemeImage(ImageSelected);
     memeCreation.MemeImg   = memeImage;
     memeCreation.TimeStamp = DateTime.Now;
     memeCreation.MemeText  = MemeText;
     memeCreation.Position  = TextPosition;
     memeCreation.Color     = TextColor;
     memeCreation.Size      = TextSize;
     memeCreationRepository.Insert(memeCreation);
 }
Пример #7
0
        private List <MemeImage> HandleData(DataTable dataTable)
        {
            List <MemeImage> memeImages = new List <MemeImage>();

            foreach (DataRow row in dataTable.Rows)
            {
                MemeImage memeImage = new MemeImage((int)row["Id"], (string)row["Url"], (string)row["AltText"]);
                memeImages.Add(memeImage);
            }
            return(memeImages);
        }
Пример #8
0
        public MemeImage GetMostUsed()
        {
            string sql = "SELECT TOP(1) MemeImg, url, alttext, COUNT(*) FROM MemeCreations JOIN MemeImages on MemeCreations.MemeImg = MemeImages.Id GROUP BY MemeImg, url, alttext ORDER BY COUNT(*) DESC";

            DataTable data = ExecuteQuery(sql);

            List <MemeImage> memeImages = new List <MemeImage>();

            foreach (DataRow row in data.Rows)
            {
                MemeImage memeImage = new MemeImage((int)row["MemeImg"], (string)row["Url"], (string)row["AltText"]);
                memeImages.Add(memeImage);
            }
            return(memeImages.FirstOrDefault());
        }
Пример #9
0
        public MemeImage GetMostUsedImage()
        {
            string sql = "SELECT TOP(1) COUNT(MemeImg) as Images, Url, AltText " +
                         "FROM MemeCreations " +
                         "JOIN MemeImages ON MemeCreations.MemeImg = MemeImages.Id " +
                         "GROUP BY MemeImages.Url, AltText " +
                         "ORDER BY Images DESC";

            DataTable memeImageTable = ExecuteQuery(sql);
            MemeImage memeImage      = new MemeImage();

            memeImage.Url     = (string)memeImageTable.Rows[0]["Url"];
            memeImage.AltText = (string)memeImageTable.Rows[0]["AltText"];

            return(memeImage);
        }
Пример #10
0
        public List <MemeImage> GetAllMemeImages()
        {
            List <MemeImage> memeImages = new List <MemeImage>();
            string           sql        = "SELECT * FROM MemeImages";

            DataTable memeImagesTable = ExecuteQuery(sql);

            foreach (DataRow row in memeImagesTable.Rows)
            {
                int    id      = (int)row["Id"];
                string url     = (string)row["Url"];
                string altText = (string)row["AltText"];

                MemeImage memeImage = new MemeImage(id, url, altText);
                memeImages.Add(memeImage);
            }

            return(memeImages);
        }
Пример #11
0
        public MemeImage GetMostUsedImg()
        {
            string sql = $"SELECT TOP(1) COUNT(MemeImages.Id) as Occurences, Url, AltText FROM MemeImages JOIN MemeCreations ON MemeCreations.MemeImg = MemeImages.Id GROUP BY Url, AltText ORDER BY Occurences DESC";

            DataTable memeImagesTable = ExecuteQuery(sql);

            if (memeImagesTable.Rows.Count == 1)
            {
                int    id      = (int)memeImagesTable.Rows[0]["Occurences"];
                string url     = (string)memeImagesTable.Rows[0]["Url"];
                string altText = (string)memeImagesTable.Rows[0]["AltText"];

                MemeImage memeImage = new MemeImage(id, url, altText);
                return(memeImage);
            }
            else
            {
                throw new ArgumentException($"MemeImage was not found");
            }
        }
Пример #12
0
        public MemeImage GetMemeImage(int imageSelected)
        {
            string sql = $"SELECT * FROM MemeImages WHERE Id={imageSelected}";

            DataTable memeImagesTable = ExecuteQuery(sql);

            if (memeImagesTable.Rows.Count == 1)
            {
                int    id      = (int)memeImagesTable.Rows[0]["Id"];
                string url     = (string)memeImagesTable.Rows[0]["Url"];
                string altText = (string)memeImagesTable.Rows[0]["AltText"];

                MemeImage memeImage = new MemeImage(id, url, altText);
                return(memeImage);
            }
            else
            {
                throw new ArgumentException($"MemeImage with id={imageSelected} 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);
        }
        public void OnGet()
        {
            MemeImageRepository memeImageRepo = new MemeImageRepository(@"Data Source=(localdb)\mssqllocaldb;Initial Catalog=MemeGenerator;Integrated Security=True;");

            mostUsedImg = memeImageRepo.GetMostUsedImage();
        }
Пример #15
0
 public MemePreview(MemeImage meme)
 {
     Id    = meme.Id;
     Image = meme.Data;
     Name  = meme.Name;
 }
Пример #16
0
        public int InsertMemeImage(MemeImage memeImage)
        {
            string sql = $"INSERT INTO MemeImages VALUES('{memeImage.Url}', '{memeImage.AltText}')";

            return(ExecuteNonQuery(sql));
        }
Пример #17
0
 public void Insert(MemeImage imageTemplate)
 {
     _context.MemeImages.Add(imageTemplate);
 }
Пример #18
0
 public void GetLatestMeme()
 {
     MemeCreation = memeCreations.GetLatestMeme();
     MemeImg      = MemeCreation.MemeImg;
 }
Пример #19
0
 public void MostUsedImage()
 {
     MemeImg = memeImages.GetMostUsed();
 }