public async static Task <BlogEditModel> MapToBlogPageModel(int id) { var model = new BlogEditModel(); using (var db = new jsnoverdotnetdbContext()) { var DBBlogList = await db.Blog.ToArrayAsync(); var tempBlog = DBBlogList.SingleOrDefault(blog => blog.Id == id); var DBPhotoList = await db.Photos.ToArrayAsync(); var DBTagList = await db.Tag.ToArrayAsync(); model.Blog.Id = id; model.Blog.SubmitDate = tempBlog.SubmitDate; model.Blog.Title = tempBlog.Title; model.Blog.Topic = tempBlog.Topic; model.Blog.Body = tempBlog.Body; model.Tags = DBTagList.Where(tag => tag.BlogId == id).ToList(); model.Photos = DBPhotoList.Where(photo => photo.BlogId == id).ToList(); model.Blog.Likes = tempBlog.Likes; model.Blog.Views = tempBlog.Views; model.Blog.Published = tempBlog.Published; } return(model); }
internal static async Task <bool> UpdateBlog(Blog[] blogs) { try { using var db = new jsnoverdotnetdbContext(); db.Blog.Update(blogs[BlogIndexes.Blog]); await db.SaveChangesAsync(); db.Photos.UpdateRange(blogs[BlogIndexes.Photos].Photos); await db.SaveChangesAsync(); await db.Photos.AddRangeAsync(blogs[BlogIndexes.NewPhotos].Photos); await db.SaveChangesAsync(); db.Photos.RemoveRange(blogs[BlogIndexes.RemovePhotos].Photos); await db.SaveChangesAsync(); db.Tag.UpdateRange(blogs[BlogIndexes.Tags].Tag); await db.SaveChangesAsync(); await db.Tag.AddRangeAsync(blogs[BlogIndexes.NewTags].Tag); await db.SaveChangesAsync(); db.Tag.RemoveRange(blogs[BlogIndexes.RemoveTags].Tag); await db.SaveChangesAsync(); return(true); } catch (Exception) { return(false); } }
public static async Task <bool> SubmitBlog(Blog[] blogs) { try { using var db = new jsnoverdotnetdbContext(); db.Blog.Add(blogs[BlogIndexes.Blog]); await db.SaveChangesAsync(); blogs[BlogIndexes.Photos].Photos.ToList().ForEach(photo => photo.BlogId = blogs[BlogIndexes.Blog].Id); await db.Photos.AddRangeAsync(blogs[BlogIndexes.Photos].Photos); await db.SaveChangesAsync(); var blogTags = blogs[BlogIndexes.Tags].Tag.ToList(); for (int i = 0; i < blogs[BlogIndexes.Tags].Tag.Count; i++) { await db.Tag.AddAsync(new Tag { Id = 0, BlogId = blogs[BlogIndexes.Blog].Id, Name = blogTags[i].Name }); } await db.SaveChangesAsync(); return(true); } catch (Exception) { return(false); } }
public async Task CountVisitor() { try { db = new jsnoverdotnetdbContext(); var tempList = db.VisitorCounter.ToArray(); var tempCount = tempList.FirstOrDefault(); tempCount.VisitorCount = tempCount?.VisitorCount + 1; db.VisitorCounter.Update(tempCount); await db.SaveChangesAsync(); if (tempCount.VisitorCount % 100 == 0) { var hundoCount = tempList.LastOrDefault(); db.VisitorCounter.Add(new VisitorCounter { Id = 0, VisitorCount = tempCount.VisitorCount, VisitorCountHundreds = hundoCount.VisitorCountHundreds + 1, VisitorDate = DateTime.Now }); await db.SaveChangesAsync(); } } catch (Exception) { } }
private static async Task <List <BlogDisplayModel> > GetDataFromAzureSql() { db = new jsnoverdotnetdbContext(); var blogList = new List <BlogDisplayModel>(); var DBBlogList = await db.Blog.ToArrayAsync(); var DBPhotoList = await db.Photos.ToArrayAsync(); var DBTagList = await db.Tag.ToArrayAsync(); var DBCommentorList = await db.Commentors.ToArrayAsync(); for (int i = 0; i < DBBlogList.Length; i++) { blogList.Add(new BlogDisplayModel() { BlogId = DBBlogList[i].Id, Body = DBBlogList[i].Body, Title = DBBlogList[i].Title, Topic = DBBlogList[i].Topic, SubmitDate = DBBlogList[i].SubmitDate.Date, EditDate = DBBlogList[i].EditDate, Tags = DBTagList.Where(tag => tag.BlogId == DBBlogList[i].Id).ToList(), Photos = DBPhotoList.Where(photo => photo.BlogId == DBBlogList[i].Id).ToList(), Commentors = DBCommentorList.Where(commentor => commentor.BlogId == DBBlogList[i].Id).ToList(), Likes = DBBlogList[i].Likes, Views = DBBlogList[i].Views, Published = DBBlogList[i].Published }); } return(blogList); }
public static async Task <bool> SubmitContactRequest(ContactRequest contactRequest) { try { using var db = new jsnoverdotnetdbContext(); db.ContactRequest.Add(contactRequest); await db.SaveChangesAsync(); return(true); } catch (Exception) { return(false); } }
internal async static Task <bool> SubmitComment(Commentors commentors) { try { using var db = new jsnoverdotnetdbContext(); var blog = db.Blog.First(b => b.Id == commentors.BlogId); db.Commentors.Add(commentors); if (commentors.Liked) { blog.Likes = blog.Likes is null ? 1 : (blog.Likes++); db.Blog.Update(blog); } await db.SaveChangesAsync(); return(true); } catch (Exception) { return(false); } }
internal async static Task <bool> AddSubscriber(string email) { try { using var db = new jsnoverdotnetdbContext(); if (db.Subscribers.Where(sub => sub.Email == email).Count() == 0) { db.Subscribers.Add(new Subscribers() { Id = 0, Email = email, SubscribeDate = DateTime.Now }); await db.SaveChangesAsync(); } return(true); } catch (Exception) { return(false); } }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList(); if (ModelState.IsValid) { var user = new IdentityUser { UserName = Input.Email, Email = Input.Email }; var result = await _userManager.CreateAsync(user, Input.Password); if (result.Succeeded) { _logger.LogInformation($"{Input.Email} has been registered."); try { var db = new jsnoverdotnetdbContext(); db.Owners.Add(new Owners { Alias = Input.UserName, Email = Input.Email }); db.SaveChanges(); } catch (Exception ex) { _logger.LogError(ex.Message); throw; } _logger.LogInformation("User created a new account with password."); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code)); //var callbackUrl = Url.Page( // "/Account/ConfirmEmail", // pageHandler: null, // values: new { area = "Identity", userId = user.Id, code = code }, // protocol: Request.Scheme); //await _emailSender.SendEmailAsync(Input.Email, "Confirm your email", // $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); if (_userManager.Options.SignIn.RequireConfirmedAccount) { return(RedirectToPage("RegisterConfirmation", new { email = Input.Email })); } else { await _signInManager.SignInAsync(user, isPersistent : false); return(LocalRedirect(returnUrl)); } } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } // If we got this far, something failed, redisplay form return(Page()); }