// GET: Comment
        public ActionResult Comment(string id)
        {
            BindInfo();
            BLLRepository <Article> rep_Artc = new BLLRepository <Article>();
            List <Article>          Article  = rep_Artc.List(x => x.articleCodeID == id);

            ViewBag.ArticleDetail = Article[0];
            return(View("Index", rep_Artc.List(x => x.articleCodeID == id)));
        }
        public string SignUp(string userFirstName, string userLastName, string userDateOfBirth,
                             string userName, string userPassword, string userTryPassword)
        {
            BLLRepository <User>  rep_createdUser = new BLLRepository <Entities.User>();
            BLLRepository <Login> rep_Login       = new BLLRepository <Login>();

            Entities.User lastUser = new Entities.User();
            try
            {
                lastUser = rep_createdUser.List().OrderByDescending(x => x.userCodeID).First();
            }
            catch (Exception) { }
            try
            {
                string userCodeID = getNewArticleCodeID(lastUser.userCodeID, "USER-00000");
                rep_createdUser.Insert(new Entities.User {
                    userCodeID      = userCodeID,
                    userFirstName   = userFirstName,
                    userLastName    = userLastName,
                    userDateOfBirth = DateTime.Parse(userDateOfBirth),
                    Articles        = new List <Article>(),
                    login           = new List <Login>()
                });
                rep_Login.Insert(new Entities.Login {
                    loginUserNameID   = userName,
                    loginUserPassword = userPassword,
                    user = rep_createdUser.Find(x => x.userCodeID == userCodeID)
                });
                return("success");
            }
            catch (Exception)
            {
                return("error");
            }
        }
 public string setLike(string userCode, string articleCode, bool like)
 {
     try
     {
         BLLRepository <User>    rep_user    = new BLLRepository <User>();
         BLLRepository <Article> rep_article = new BLLRepository <Article>();
         Entities.User           user        = rep_user.Find(x => x.userCodeID == userCode);
         Entities.Article        article     = rep_article.Find(x => x.articleCodeID == articleCode);
         if (like) //Like işlemi yapılacak
         {
             BLLRepository <ArticleLikes> rep_artLike = new BLLRepository <ArticleLikes>();
             rep_artLike.Insert(new ArticleLikes {
                 article = article,
                 user    = user
             });
             return("liked");
         }
         else // Unlike işlemi yapılacak
         {
             BLLRepository <ArticleLikes> rep_artLike = new BLLRepository <ArticleLikes>();
             ArticleLikes        articlelike          = new ArticleLikes();
             List <ArticleLikes> artLikeLİst          = rep_artLike.List();
             try
             {
                 articlelike = rep_artLike.List(x => x.article.articleCodeID == article.articleCodeID & x.user.userCodeID == user.userCodeID).First();
             }
             catch (Exception) { }
             if (articlelike.articleLikesID != null) // like kaydı bulunmuş ise
             {
                 rep_artLike.Remove(articlelike);
             }
             return("unliked");
         }
     }
     catch (Exception)
     {
         return("error");
     }
 }
        public string sendArticle(string title, string articlecontent, string loginUserCode, string categoryCode)
        {
            try
            {
                BLLRepository <User>       rep_user = new BLLRepository <Entities.User>();
                BLLRepository <Categories> rep_ctg  = new BLLRepository <Entities.Categories>();
                BLLRepository <Article>    rep_artc = new BLLRepository <Entities.Article>();
                Entities.User       user            = rep_user.Find(x => x.userCodeID == loginUserCode);
                Entities.Categories ctg             = rep_ctg.Find(x => x.categoryCode == categoryCode);

                Article lastArticle       = null;
                string  LastArticleCodeID = "";
                try
                {
                    lastArticle       = rep_artc.List().OrderByDescending(x => x.articleCodeID).First();
                    LastArticleCodeID = lastArticle.articleCodeID;
                }
                catch (Exception) { }
                string ArticleCodeID;
                ArticleCodeID = getNewArticleCodeID(LastArticleCodeID, "ARTC-00000");
                int insertCount = rep_artc.Insert(new Entities.Article
                {
                    articleCodeID     = ArticleCodeID,
                    articleContent    = articlecontent,
                    articleSharedDate = DateTime.Now,
                    articleTitle      = title,
                    category          = ctg,
                    user     = user,
                    comments = new List <ArticleComment>(),
                    likes    = new List <ArticleLikes>()
                });
                //BLLRepository<ArticleComment> rep_artCommt = new BLLRepository<Entities.ArticleComment>();
                //BLLRepository<ArticleLikes> rep_artLike = new BLLRepository<Entities.ArticleLikes>();
                //rep_artCommt.Insert()

                return("success");
            }
            catch (Exception)
            {
                return("error");
            }
        }
        // GET: Home
        public ActionResult Index()
        {
            //DBBuild CreateDB = new DBBuild(); // Database Create et.
            //CreateDB.InsertTest();
            try
            {
                if (Session["LoginUser"] != null)
                {
                    Login login = (Login)Session["LoginUser"];
                    User  user  = login.user;
                    ViewBag.FullName = user.userFirstName + " " + user.userLastName;
                }
            }
            catch (Exception) { }
            //  CreateDB.InsertTest(); // 1 kere çelıştırıldı primary key hata verir sonraki çalıştırılmalarda..
            //CreateDB.UpdateTest();
            BLLRepository <Article> rep_Artc = new BLLRepository <Article>();

            return(View(rep_Artc.List().OrderByDescending(x => x.articleSharedDate).ToList()));
        }
        // GET: Home
        public ActionResult Article(string id)
        {
            DBBuild CreateDB = new DBBuild(); // Database Create et.

            //CreateDB.InsertTest();
            try
            {
                if (Session["LoginUser"] != null)
                {
                    Login login = (Login)Session["LoginUser"];
                    User  user  = login.user;
                    ViewBag.FullName = user.userFirstName + " " + user.userLastName;
                }
            }
            catch (Exception) { }

            BLLRepository <Article> rep_Artc = new BLLRepository <Article>();

            // ViewBag.ArticleDetail = rep_Artc.List(x => x.category.categoryName == id);

            return(View("Index", rep_Artc.List(x => x.category.categoryName == id)));
        }