public ActionResult Search(string username, string firstname, string lastname)
        {
            if (AuthorizationMiddleware.AdminAuthorized(Session))
            {
                var queryClients = new List <Client>();

                foreach (var client in db.Clients)
                {
                    var usernameNeeded  = username != null && username.Length > 0;
                    var firstnameNeeded = firstname != null && firstname.Length > 0;
                    var lastnameNeeded  = lastname != null && lastname.Length > 0;

                    if ((usernameNeeded ? client.ClientName != null && client.ClientName.Contains(username) : true) &&
                        (firstnameNeeded ? client.FirstName != null && client.FirstName.Contains(firstname) : true) &&
                        (lastnameNeeded ? client.LastName != null && client.LastName.Contains(lastname) : true))
                    {
                        queryClients.Add(client);
                    }
                }

                return(View(queryClients.OrderByDescending(x => x.ClientName)));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
        public ActionResult Create([Bind(Include = "ID,Name")] Category category)
        {
            if (AuthorizationMiddleware.AdminAuthorized(Session))
            {
                if (ModelState.IsValid)
                {
                    // Checking if the category already exist
                    var isExist = db.Categories.Where(x => x.Name == category.Name).FirstOrDefault();

                    if (isExist == null)
                    {
                        db.Categories.Add(category);
                        db.SaveChanges();

                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        return(View(category));
                    }
                }

                return(View(category));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
        public ActionResult DeleteConfirmed(int id)
        {
            if (AuthorizationMiddleware.AdminAuthorized(Session))
            {
                Category category = db.Categories.Find(id);

                // Getting all the posts of the category
                List <Post> lstPosts = new List <Post>();
                lstPosts = db.Posts.Where(x => x.Category.ID == id).ToList();

                // Removing all the posts of that category
                foreach (Post curPost in lstPosts)
                {
                    Post post = db.Posts.Find(curPost.ID);

                    List <Comment> lstComments = new List <Comment>();
                    lstComments = db.Comments.Where(x => x.PostID == curPost.ID).ToList();

                    foreach (Comment curComm in lstComments)
                    {
                        db.Comments.Remove(curComm);
                    }

                    db.Posts.Remove(post);
                }

                db.Categories.Remove(category);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
예제 #4
0
        public ActionResult DeleteConfirmed(int id)
        {
            if (AuthorizationMiddleware.Authorized(Session))
            {
                Post post = db.Posts.Find(id);

                // Getting all the comments of the post
                List <Comment> lstRemove = new List <Comment>();
                lstRemove = db.Comments.Where(x => x.Post.ID == id).ToList();

                // Removing all the comments of that post
                foreach (Comment cur in lstRemove)
                {
                    Comment comment = db.Comments.Find(cur.ID);
                    db.Comments.Remove(comment);
                }

                db.Posts.Remove(post);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
예제 #5
0
        public ActionResult Create([Bind(Include = "ID,clientId,CategoryID,Title,Content")] Post post)
        {
            if (post.Content != null && post.Title != null && post.CategoryID != 0)
            {
                if (AuthorizationMiddleware.Authorized(Session))
                {
                    if (ModelState.IsValid)
                    {
                        post.CreationDate = DateTime.Now;
                        db.Posts.Add(post);
                        db.SaveChanges();
                        return(RedirectToAction("Index"));
                    }

                    ViewBag.ClientID   = new SelectList(db.Clients, "ID", "ClientName", post.ClientID);
                    ViewBag.CategoryID = new SelectList(db.Categories, "ID", "Name", post.CategoryID);
                    return(View(post));
                }
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }

            return(RedirectToAction("Index", "Home"));
        }
 // GET: Clients
 public ActionResult Index()
 {
     if (AuthorizationMiddleware.AdminAuthorized(Session))
     {
         return(View(db.Clients.ToList()));
     }
     else
     {
         return(RedirectToAction("Index", "Home"));
     }
 }
예제 #7
0
 // GET: Posts/Create
 public ActionResult Create()
 {
     if (AuthorizationMiddleware.Authorized(Session))
     {
         ViewBag.ClientID   = new SelectList(db.Clients, "ID", "ClientName");
         ViewBag.CategoryID = new SelectList(db.Categories, "ID", "Name");
         return(View());
     }
     else
     {
         return(RedirectToAction("Index", "Home"));
     }
 }
 public ActionResult DeleteConfirmed(int id)
 {
     if (AuthorizationMiddleware.Authorized(Session))
     {
         Comment comment = db.Comments.Find(id);
         db.Comments.Remove(comment);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     else
     {
         return(RedirectToAction("Index", "Home"));
     }
 }
 public ActionResult Edit([Bind(Include = "ID,Gender,ClientName,FirstName,LastName,Password,isAdmin")] Client client)
 {
     if (AuthorizationMiddleware.AdminAuthorized(Session))
     {
         if (ModelState.IsValid)
         {
             db.Entry(client).State = EntityState.Modified;
             db.SaveChanges();
             return(RedirectToAction("Index"));
         }
         return(View(client));
     }
     else
     {
         return(RedirectToAction("Index", "Home"));
     }
 }
 public ActionResult Edit([Bind(Include = "ID,ClientID,PostID,Content,CreationDate")] Comment comment)
 {
     if (AuthorizationMiddleware.Authorized(Session))
     {
         if (ModelState.IsValid)
         {
             db.Entry(comment).State = EntityState.Modified;
             db.SaveChanges();
             return(RedirectToAction("Index"));
         }
         ViewBag.ClientID = new SelectList(db.Clients, "ID", "ClientName", comment.ClientID);
         ViewBag.PostID   = new SelectList(db.Posts, "ID", "Content", comment.PostID);
         return(View(comment));
     }
     else
     {
         return(RedirectToAction("Index", "Home"));
     }
 }
        public ActionResult Edit([Bind(Include = "ID,Name")] Category category)
        {
            if (AuthorizationMiddleware.AdminAuthorized(Session))
            {
                var isExist = db.Categories.Where(x => x.Name == category.Name && x.ID != category.ID).FirstOrDefault();

                if (ModelState.IsValid && isExist == null)
                {
                    db.Entry(category).State = EntityState.Modified;
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                return(View(category));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
 // GET: Clients/Edit/5
 public ActionResult Edit(int?id)
 {
     if (AuthorizationMiddleware.AdminAuthorized(Session))
     {
         if (id == null)
         {
             return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
         }
         Client client = db.Clients.Find(id);
         if (client == null)
         {
             return(HttpNotFound());
         }
         return(View(client));
     }
     else
     {
         return(RedirectToAction("Index", "Home"));
     }
 }
예제 #13
0
 // GET: Posts/Delete/5
 public ActionResult Delete(int?id)
 {
     if (AuthorizationMiddleware.Authorized(Session))
     {
         if (id == null)
         {
             return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
         }
         Post post = db.Posts.Find(id);
         if (post == null)
         {
             return(HttpNotFound());
         }
         return(View(post));
     }
     else
     {
         return(RedirectToAction("Index", "Home"));
     }
 }
        public ActionResult DeleteConfirmed(int id)
        {
            if (AuthorizationMiddleware.AdminAuthorized(Session))
            {
                Client client = db.Clients.Find(id);

                List <Post> lstPosts = new List <Post>();

                // Get the posts of the user
                lstPosts = db.Posts.Where(x => x.ClientID == id).ToList();

                foreach (Post currPost in lstPosts)
                {
                    List <Comment> lstComments = new List <Comment>();
                    lstComments = db.Comments.Where(x => x.PostID == currPost.ID).ToList();

                    foreach (Comment currCmt in lstComments)
                    {
                        db.Comments.Remove(currCmt);
                    }

                    db.Posts.Remove(currPost);
                }

                db.Clients.Remove(client);

                db.SaveChanges();

                if (((Client)Session["Client"]).ID == id)
                {
                    Session.Clear();
                }

                return(RedirectToAction("Index"));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
        // GET: Categories/Delete/5
        public ActionResult Delete(int?id)
        {
            if (AuthorizationMiddleware.AdminAuthorized(Session))
            {
                if (id == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                Category category = db.Categories.Find(id);

                if (category == null)
                {
                    return(HttpNotFound());
                }

                return(View(category));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
예제 #16
0
        public ActionResult PostComment(int clientId, int postId, string content)
        {
            if (AuthorizationMiddleware.Authorized(Session))
            {
                Comment comment = new Comment
                {
                    Content      = content,
                    ClientID     = clientId,
                    PostID       = postId,
                    CreationDate = DateTime.Now
                };

                db.Comments.Add(comment);
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
예제 #17
0
 // GET: Posts/Edit/5
 public ActionResult Edit(int?id)
 {
     if (AuthorizationMiddleware.Authorized(Session))
     {
         if (id == null)
         {
             return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
         }
         Post post = db.Posts.Find(id);
         if (post == null)
         {
             return(HttpNotFound());
         }
         ViewBag.ClientID   = new SelectList(db.Clients, "ID", "ClientName", post.ClientID);
         ViewBag.CategoryID = new SelectList(db.Categories, "ID", "Name", post.CategoryID);
         return(View(post));
     }
     else
     {
         return(RedirectToAction("Index", "Home"));
     }
 }