public void UpdateArtPost(ArtPost artPost)
        {
            using (var conn = Connection)
            {
                conn.Open();
                using (var cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"
                        UPDATE ArtPost
                        SET
                        Title = @title,
                        Description = @description,
                        Image = @image,
                      
                       
                        ArtTypeId = @artTypeId,
                        CategoryId = @categoryId
                        WHERE Id = @id";

                    cmd.Parameters.AddWithValue("@title", artPost.Title);
                    cmd.Parameters.AddWithValue("@description", artPost.Description);
                    cmd.Parameters.AddWithValue("@image", artPost.Image);


                    cmd.Parameters.AddWithValue("@categoryId", artPost.CategoryId);
                    cmd.Parameters.AddWithValue("@artTypeId", artPost.ArtTypeId);
                    cmd.Parameters.AddWithValue("@id", artPost.Id);


                    cmd.ExecuteNonQuery();
                }
            }
        }
        public void Add(ArtPost artPost)
        {
            using (var conn = Connection)
            {
                conn.Open();
                using (var cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"INSERT INTO ArtPost (UserProfileId, Image, Title, 
                                                                 PostDate,   Description, CategoryId, ArtTypeId)
                                        OUTPUT INSERTED.ID
                                        VALUES (@UserProfileId, @Image, @Title, 
                                                @PostDate,  @Description, @CategoryId, @ArtTypeId)";
                    DbUtils.AddParameter(cmd, "@UserProfileId", artPost.UserProfileId);
                    DbUtils.AddParameter(cmd, "@Image", artPost.Image);

                    DbUtils.AddParameter(cmd, "@Title", artPost.Title);
                    DbUtils.AddParameter(cmd, "@PostDate", artPost.PostDate);

                    DbUtils.AddParameter(cmd, "@Description", artPost.Description);
                    DbUtils.AddParameter(cmd, "@CategoryId", artPost.CategoryId);
                    DbUtils.AddParameter(cmd, "@ArtTypeId", artPost.ArtTypeId);

                    artPost.Id = (int)cmd.ExecuteScalar();
                }
            }
        }
        public ActionResult DeleteConfirmed(int id)
        {
            ArtPost artPost = db.ArtPosts.Find(id);

            db.ArtPosts.Remove(artPost);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "ID,ImagePath")] ArtPost artPost)
 {
     if (ModelState.IsValid)
     {
         db.Entry(artPost).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(artPost));
 }
        // GET: ArtPost/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ArtPost artPost = db.ArtPosts.Find(id);

            if (artPost == null)
            {
                return(HttpNotFound());
            }
            return(View(artPost));
        }
 public ActionResult Create(ArtPost img, HttpPostedFileBase file)
 {
     if (ModelState.IsValid)
     {
         if (file != null)
         {
             file.SaveAs(HttpContext.Server.MapPath("~/Pictures/") + file.FileName);
             img.ImagePath = file.FileName;
         }
         db.ArtPosts.Add(img);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(img));
 }
        public ArtPost GetArtPostById(int id)
        {
            using (var conn = Connection)
            {
                conn.Open();
                using (var cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"
                    SELECT ap.Id, ap.UserProfileId, ap.Image, ap.Title, ap.PostDate, ap.Description, ap.CategoryId, ap.ArtTypeId, ap.Likes,
                            at.Name AS ArtTypeName,
                            c.Name AS CategoryName,
                            u.Displayname AS UserDisplayName
                         FROM ArtPost ap
                              LEFT JOIN UserProfile u ON ap.UserProfileId = u.Id
                              LEFT JOIN Categories c ON ap.CategoryId = c.Id
                              LEFT JOIN ArtType at ON ap.ArtTypeId = at.Id

                        WHERE ap.Id = @id
              
                       ;
                     
                        
                       ";

                    cmd.Parameters.AddWithValue("@id", id);
                    ArtPost artPost = new ArtPost();
                    var     reader  = cmd.ExecuteReader();

                    if (reader.Read())
                    {
                        artPost = new ArtPost()
                        {
                            Id            = reader.GetInt32(reader.GetOrdinal("Id")),
                            UserProfileId = DbUtils.GetInt(reader, "UserProfileId"),
                            Image         = reader.GetString(reader.GetOrdinal("Image")),

                            Title    = reader.GetString(reader.GetOrdinal("Title")),
                            PostDate = reader.GetDateTime(reader.GetOrdinal("PostDate")),

                            Description = DbUtils.GetString(reader, "Description"),
                            CategoryId  = reader.GetInt32(reader.GetOrdinal("CategoryId")),
                            ArtTypeId   = reader.GetInt32(reader.GetOrdinal("ArtTypeId")),
                            Category    = new Category()
                            {
                                Id   = reader.GetInt32(reader.GetOrdinal("CategoryId")),
                                Name = reader.GetString(reader.GetOrdinal("CategoryName"))
                            },
                            ArtType = new ArtType()
                            {
                                Id   = reader.GetInt32(reader.GetOrdinal("ArtTypeId")),
                                Name = reader.GetString(reader.GetOrdinal("ArtTypeName"))
                            },
                            UserProfile = new UserProfile()
                            {
                                Id          = reader.GetInt32(reader.GetOrdinal("UserProfileId")),
                                DisplayName = reader.GetString(reader.GetOrdinal("UserDisplayName"))
                            },
                            Likes = reader.GetInt32(reader.GetOrdinal("Likes"))
                        };
                    }

                    reader.Close();

                    return(artPost);
                }
            }
        }
Beispiel #8
0
        public IActionResult GetRecommendedPosts(int id)
        {
            List <ArtPost>   recommendedPosts         = new List <ArtPost>();
            List <ArtPost>   recommendedPostsFiltered = new List <ArtPost>();
            List <Following> userFollows = new List <Following>();
            List <Following> follows     = _followingRepository.GetAllFollows(id);

            foreach (Following follow in follows)
            {
                userFollows = _followingRepository.GetAllFollows(follow.SubscribedToId);
                foreach (Following userFollow in userFollows)
                {
                    if (userFollow.SubscribedToId != id)
                    {
                        List <ArtPost> userPosts = _artPostRepository.GetAllArtPostsByUser(userFollow.SubscribedToId);

                        foreach (ArtPost post in userPosts)
                        {
                            recommendedPosts.Add(post);
                        }
                    }
                }
            }
            int     numTest  = -1;
            int     numTest2 = -2;
            int     numTest3 = -3;
            int     numTest4 = -4;
            var     random   = new Random();
            ArtPost numPost  = new ArtPost();

            for (int i = 0; i < 5; i++)
            {
                double randomNumber = (random.NextDouble() * recommendedPosts.Count);
                double roundedNum   = Math.Floor(randomNumber);
                int    num          = (int)roundedNum;
                if (num == numTest || num == numTest2 || num == numTest3 || num == numTest4)
                {
                    i--;
                }
                else
                {
                    try
                    {
                        numPost = recommendedPosts[num];
                    }
                    catch
                    {
                        i--;
                        break;
                    }
                    numTest4 = numTest3;
                    numTest3 = numTest2;
                    numTest2 = numTest;
                    numTest  = num;

                    recommendedPostsFiltered.Add(numPost);
                }
            }

            return(Ok(recommendedPostsFiltered));
        }
Beispiel #9
0
 public IActionResult Post(ArtPost artPost)
 {
     artPost.PostDate = DateTime.Now;
     _artPostRepository.Add(artPost);
     return(Ok());
 }
Beispiel #10
0
 public IActionResult Edit(ArtPost artPost)
 {
     _artPostRepository.UpdateArtPost(artPost);
     return(Ok());
 }