Exemplo n.º 1
0
        public HttpResponseMessage CreateBlog([FromBody] Blog_Detail blog)
        {
            var identity      = this.User.Identity as ClaimsIdentity;
            var nonRoleClaims = identity.Claims.Where(x => x.Type != ClaimsIdentity.DefaultRoleClaimType).Select(x => new { Type = x.Type, Value = x.Value }).ToList();
            var uid           = Int32.Parse(nonRoleClaims[1].Value);

            blog.UID = uid;
            try
            {
                using (BloggerAppDBEntities entities = new BloggerAppDBEntities())
                {
                    blog.DateOfUpdation = DateTime.Now;
                    entities.Blog_Detail.Add(blog);
                    entities.SaveChanges();

                    var message = Request.CreateResponse(HttpStatusCode.Created, blog);
                    message.Headers.Location = new Uri(Request.RequestUri + blog.Title.ToString());
                    return(message);
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" });

            try
            {
                using (BloggerAppDBEntities entities = new BloggerAppDBEntities())
                {
                    var    user = entities.User_Details.FirstOrDefault(d => (d.UserName == context.UserName && d.PWD == context.Password));
                    string uid  = user.UID.ToString();
                    if (user != null)
                    {
                        var identity = new ClaimsIdentity(context.Options.AuthenticationType);
                        identity.AddClaim(new Claim("sub", context.UserName));
                        identity.AddClaim(new Claim("uid", uid));
                        identity.AddClaim(new Claim("role", "user"));

                        context.Validated(identity);
                    }
                    else
                    {
                        context.SetError("invalid_grant", "The user name or password is incorrect.");
                        return;
                    }
                }
            }
            catch (Exception ex)
            {
                context.SetError("invalid_grant", "The user name or password is incorrect.");
                return;
            }
        }
Exemplo n.º 3
0
        public HttpResponseMessage GetBlogsByFilter(string filter)
        {
            using (BloggerAppDBEntities entities = new BloggerAppDBEntities())
            {
                if (filter == "All")
                {
                    var blogs = entities.Blog_Detail.OrderByDescending(x => x.DateOfUpdation).ToList();
                    return(Request.CreateResponse(HttpStatusCode.OK, blogs));
                }
                else
                {
                    var userId = entities.User_Details.Where(x => x.UserName == filter).FirstOrDefault().UID;

                    var blogs = entities.Blog_Detail.Where(x => x.UID == userId).OrderByDescending(x => x.DateOfUpdation).ToList();
                    if (blogs != null)
                    {
                        return(Request.CreateResponse(HttpStatusCode.OK, blogs));
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.NotFound, "No blog found for Blogger " + filter));
                    }
                }
            }
        }
Exemplo n.º 4
0
 public HttpResponseMessage RegisterUser([FromBody] User_Details newUser)
 {
     try
     {
         using (BloggerAppDBEntities entities = new BloggerAppDBEntities())
         {
             var user = entities.User_Details.FirstOrDefault(d => d.UserName == newUser.UserName);
             if (user == null)
             {
                 entities.User_Details.Add(newUser);
                 entities.SaveChanges();
                 var message = Request.CreateResponse(HttpStatusCode.Created, newUser);
                 message.Headers.Location = new Uri(Request.RequestUri + newUser.UserName.ToString());
                 return(message);
             }
             else
             {
                 var message = Request.CreateResponse(HttpStatusCode.Conflict, "User already exists!");
                 return(message);
             }
         }
     }
     catch (Exception ex)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
     }
 }
Exemplo n.º 5
0
 public HttpResponseMessage UpdateBlogById(int bid, [FromBody] Blog_Detail blog)
 {
     try
     {
         using (BloggerAppDBEntities entity = new BloggerAppDBEntities())
         {
             var blogToEdit = entity.Blog_Detail.FirstOrDefault(e => e.BID == bid);
             if (blogToEdit != null)
             {
                 blogToEdit.Title          = blog.Title;
                 blogToEdit.Blog_Content   = blog.Blog_Content;
                 blogToEdit.DateOfUpdation = DateTime.Now;
                 entity.SaveChanges();
                 return(Request.CreateResponse(HttpStatusCode.OK, blogToEdit));
             }
             else
             {
                 return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Blog with BID = " + bid + " Not found ! "));
             }
         }
     }
     catch (Exception ex)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
     }
 }
Exemplo n.º 6
0
 public HttpResponseMessage GetBlogersList()
 {
     using (BloggerAppDBEntities entities = new BloggerAppDBEntities())
     {
         return(Request.CreateResponse(HttpStatusCode.OK, entities.User_Details.ToList()));
     }
 }
Exemplo n.º 7
0
 public HttpResponseMessage GetBlogsList()
 {
     using (BloggerAppDBEntities entities = new BloggerAppDBEntities())
     {
         var blogs = entities.Blog_Detail.OrderByDescending(x => x.DateOfUpdation).ToList();
         if (blogs != null)
         {
             return(Request.CreateResponse(HttpStatusCode.OK, blogs));
         }
         else
         {
             return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "No Blog found ! "));
         }
     }
 }
Exemplo n.º 8
0
        public HttpResponseMessage RegisterUser([FromBody] RegisterExternalBindingModel newUser)
        {
            try
            {
                using (BloggerAppDBEntities entities = new BloggerAppDBEntities())
                {
                    var id_string         = Convert.ToString(newUser.id);
                    int UID               = new int();
                    var alreadyRegistered = entities.Oauth_info.FirstOrDefault(d => d.oAuthID == id_string);
                    if (alreadyRegistered == null)
                    {
                        var userToAdd = new User_Details();
                        var authInfo  = new Oauth_info();

                        userToAdd.UserName = newUser.UserName;
                        userToAdd.EMAIL    = newUser.email;
                        userToAdd.PWD      = "0";
                        entities.User_Details.Add(userToAdd);
                        entities.SaveChanges();

                        var externalUser = entities.User_Details.FirstOrDefault(d => d.UserName == newUser.UserName);
                        UID = externalUser.UID;

                        authInfo.oAuthID = Convert.ToString(newUser.id);
                        authInfo.UID     = UID;

                        entities.Oauth_info.Add(authInfo);
                        entities.SaveChanges();
                    }
                    else
                    {
                        var externalUser = entities.User_Details.FirstOrDefault(d => d.UserName == newUser.UserName);
                        UID = externalUser.UID;
                    }

                    JObject token = GenerateLocalAccessTokenResponse(newUser.UserName, UID);

                    var message = Request.CreateResponse(HttpStatusCode.Created, token);
                    message.Headers.Location = new Uri(Request.RequestUri + newUser.UserName.ToString());
                    return(message);
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Exemplo n.º 9
0
        public HttpResponseMessage GetBlogsByBid(int bid)
        {
            using (BloggerAppDBEntities entities = new BloggerAppDBEntities())
            {
                var blogs     = entities.Blog_Detail.ToList();
                var blogsById = blogs.Where(e => e.BID == bid).ToList();

                if (blogsById != null)
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, blogsById));
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.NotFound, "No blog found Present for Blogger having UID " + bid + " not found !"));
                }
            }
        }
Exemplo n.º 10
0
 public HttpResponseMessage DeleteBlogById(int bid)
 {
     using (BloggerAppDBEntities entity = new BloggerAppDBEntities())
     {
         var blogToDelete = entity.Blog_Detail.FirstOrDefault(e => e.BID == bid);
         if (blogToDelete != null)
         {
             entity.Blog_Detail.Remove(blogToDelete);
             entity.SaveChanges();
             return(Request.CreateResponse(HttpStatusCode.OK));
         }
         else
         {
             return(Request.CreateResponse(HttpStatusCode.NotFound, "Blog with BID = " + bid + " Not found ! "));
         }
     }
 }
Exemplo n.º 11
0
 public HttpResponseMessage GetBlogsBySearch(string searchText = null)
 {
     using (BloggerAppDBEntities entities = new BloggerAppDBEntities())
     {
         searchText = (searchText != null) ? searchText.ToLower() : null;
         var blogs = entities.Blog_Detail.OrderByDescending(x => x.DateOfUpdation).ToList();
         if (searchText == null)
         {
             blogs = blogs.ToList();
         }
         else
         {
             blogs = blogs.Where(x => x.Title.ToLower().Contains(searchText) || x.Blog_Content.ToLower().Contains(searchText)).ToList();
         }
         return(Request.CreateResponse(HttpStatusCode.OK, blogs));
     }
 }
Exemplo n.º 12
0
        public HttpResponseMessage GetIsLiked(int UID, int BID)
        {
            var isLiked = false;

            using (BloggerAppDBEntities entities = new BloggerAppDBEntities())
            {
                try
                {
                    var blogs = entities.reaction_info.Where(e => (e.UID == UID) && (e.BID == BID)).ToList();
                    isLiked = (blogs.Count == 1) ? true : false;
                    return(Request.CreateResponse(HttpStatusCode.Found, isLiked));
                }
                catch (Exception ex)
                {
                    throw;
                }
            }
        }
Exemplo n.º 13
0
        public HttpResponseMessage GetBlogsById()
        {
            using (BloggerAppDBEntities entities = new BloggerAppDBEntities())
            {
                var identity      = this.User.Identity as ClaimsIdentity;
                var nonRoleClaims = identity.Claims.Where(x => x.Type != ClaimsIdentity.DefaultRoleClaimType).Select(x => new { Type = x.Type, Value = x.Value }).ToList();
                var userName      = nonRoleClaims[0].Value;
                var uid           = Int32.Parse(nonRoleClaims[1].Value);
                var blogs         = entities.Blog_Detail.ToList();
                var blogsById     = blogs.Where(e => e.UID == uid).OrderByDescending(x => x.DateOfUpdation).ToList();

                if (blogsById != null)
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, blogsById));
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.NotFound, "No blogs found for Blogger having username : " + userName));
                }
            }
        }
Exemplo n.º 14
0
        public Blog_Detail UpdateBlogById(int bid, [FromBody] Blog_Detail blog)
        {
            var result = new Blog_Detail();

            if (blog.Title == null || blog.Blog_Content == null || (!ModelState.IsValid))
            {
                throw new ArgumentNullException("blog Title or content cannot be null.");
            }
            using (BloggerAppDBEntities entity = new BloggerAppDBEntities())
            {
                var blogToEdit = entity.Blog_Detail.FirstOrDefault(e => e.BID == bid);
                if (blogToEdit != null)
                {
                    blogToEdit.Title          = blog.Title;
                    blogToEdit.Blog_Content   = blog.Blog_Content;
                    blogToEdit.DateOfUpdation = DateTime.Now;
                    entity.SaveChanges();
                    result = blogToEdit;
                }
                return(result);
            }
        }
Exemplo n.º 15
0
        public HttpResponseMessage LikeOrUnlikeBlog(int BID)
        {
            //var identity = this.User.Identity as ClaimsIdentity;
            //var nonRoleClaims = identity.Claims.Where(x => x.Type != ClaimsIdentity.DefaultRoleClaimType).Select(x => new { Type = x.Type, Value = x.Value }).ToList();
            //var userName = nonRoleClaims[0].Value;
            //var uid = Int32.Parse(nonRoleClaims[1].Value);
            var uid        = 1007;
            var BlogToLike = new reaction_info();

            BlogToLike.BID     = BID;
            BlogToLike.UID     = uid;
            BlogToLike.isLiked = true;


            using (BloggerAppDBEntities entities = new BloggerAppDBEntities())
            {
                var blog = entities.reaction_info.Where(e => (e.UID == uid) && (e.BID == BID)).ToList();

                try
                {
                    if (blog.Count == 0)
                    {
                        entities.reaction_info.Add(BlogToLike);
                        entities.SaveChanges();
                        return(Request.CreateResponse(HttpStatusCode.OK));
                    }
                    else
                    {
                        entities.reaction_info.Remove(BlogToLike);
                        entities.SaveChanges();
                        return(Request.CreateResponse(HttpStatusCode.OK));
                    }
                }
                catch (Exception ex)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
                }
            }
        }
Exemplo n.º 16
0
        public HttpResponseMessage GetFilteredBlogsById(string searchText)
        {
            searchText = (searchText != null) ? searchText.ToLower() : null;

            var identity      = this.User.Identity as ClaimsIdentity;
            var nonRoleClaims = identity.Claims.Where(x => x.Type != ClaimsIdentity.DefaultRoleClaimType).Select(x => new { Type = x.Type, Value = x.Value }).ToList();
            var userName      = nonRoleClaims[0].Value;
            var uid           = Int32.Parse(nonRoleClaims[1].Value);

            using (BloggerAppDBEntities entities = new BloggerAppDBEntities())
            {
                var blogs = entities.Blog_Detail.Where(x => x.UID == uid).OrderByDescending(x => x.DateOfUpdation).ToList();

                if (searchText == null)
                {
                    blogs = blogs.ToList();
                }
                else
                {
                    blogs = blogs.Where(x => x.Title.ToLower().Contains(searchText) || x.Blog_Content.ToLower().Contains(searchText)).ToList();
                }
                return(Request.CreateResponse(HttpStatusCode.OK, blogs));
            }
        }