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; } }
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)); } } } }
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)); } }
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)); } }
public HttpResponseMessage GetBlogersList() { using (BloggerAppDBEntities entities = new BloggerAppDBEntities()) { return(Request.CreateResponse(HttpStatusCode.OK, entities.User_Details.ToList())); } }
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 ! ")); } } }
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)); } }
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 !")); } } }
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 ! ")); } } }
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)); } }
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; } } }
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)); } } }
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); } }
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)); } } }
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)); } }