public ActionResult BlogContent(string Blogurl, Content _model, int?page, int?type, FormCollection fm) { int pageSize = Admin.Models.Common._pageSize; int pageNumber = page ?? Admin.Models.Common._currentPage; var comments_per_post = 4; var _BlogsContexts = new BlogAdmin.Contexts.BlogsContexts(); //Blog Context var _CategoriesContexts = new BlogAdmin.Contexts.CategoriesContexts(); //Categories Context var _TagsContexts = new BlogAdmin.Contexts.TagsContexts(); //Tags Context var _SettingContexts = new BlogAdmin.Contexts.SettingContexts(); //Settings Context var _EmailsContexts = new BlogAdmin.Contexts.EmailsContexts(); //Emails Context var _CommentsContext = new BlogAdmin.Contexts.CommentContexts(); // Comments Context var model = new Models.ContentModel(); // Content Model try { #region Blog List Section var blogID = 0; var blog_list = _BlogsContexts.GetBlogs().Where(x => x.SlagTxt.ToLower() == Blogurl.ToLower() && x.IsActiveInd == true).OrderBy(x => x.PostedDate).FirstOrDefault(); if (blog_list == null) { return(RedirectToAction("Index", "Home")); } if (_BlogsContexts != null) { blogID = blog_list.BlogID; List <Models.ContentModel> bloglist = new List <Models.ContentModel>();//Create a list of blog items model = new Models.ContentModel(); model.AuthorNameTxt = blog_list.AuthorNameTxt; model.AuthorNameID = blog_list.AuthorNameID; model.BlogDescription = blog_list.BlogDescription; model.BlogDescription = blog_list.BlogDescription; model.CategoryID = blog_list.CategoryID; model.ImagePathTxt = blog_list.ImagePathTxt; model.IsActiveInd = blog_list.IsActiveInd; model.IsCommentEnabledInd = blog_list.IsCommentEnabledInd; model.MetaDescriptionTxt = blog_list.MetaDescriptionTxt; model.MetaTitleTxt = blog_list.MetaTitleTxt; model.PostedDate = blog_list.PostedDate; model.SlagTxt = blog_list.SlagTxt; model.SocialMediaTxt = blog_list.SocialMediaTxt; model.TitleTxt = blog_list.TitleTxt; model.AbstractTxt = blog_list.AbstractTxt; model.CategoryName = blog_list.CategoryID != 0 ? _CategoriesContexts.GetCategories().Where(x => x.CategoryID == blog_list.CategoryID).Select(x => x.CategoryNameTxt).FirstOrDefault() : ""; //************************************TagList under each blog********************************************* List <Models.TagNameList> blogTaglistName = new List <Models.TagNameList>();//Create a list of tags of single blog items var getTagIDList = _BlogsContexts.GetFormBlogTag(blog_list.BlogID).ToList(); foreach (var b in getTagIDList) { var obj = new Models.TagNameList(); obj.TagNameTxt = _TagsContexts.GetTags().Where(x => x.TagID == Convert.ToInt32(b)).Select(x => x.TagNameTxt).FirstOrDefault();; obj.TagID = Convert.ToInt32(b); obj.BlogID = blog_list.BlogID; blogTaglistName.Add(obj); } model.TagNameList = blogTaglistName.OrderByDescending(x => x.TagNameTxt).ToList(); //****************************Social Media Listing********************************************* var objSocialListing = _BlogsContexts.GetFormBlogSocialMedia_List(blogID).ToList(); model.SocialList = objSocialListing; bloglist.Add(model); model.IsPagingVisible = true; model.PagedBlog = bloglist.ToPagedList(pageNumber, pageSize); } #endregion #region Comment Section //*************************Adds Comment ********************* var name = fm["full-name"] != null ? fm["full-name"].ToString() : ""; var email = fm["email"] != null ? fm["email"].ToString() : ""; var phone = fm["phone"] != null ? fm["phone"].ToString() : ""; var Comment = fm["Comment"] != null ? fm["Comment"].ToString() : ""; var comment_model = new BlogAdmin.Models.CommentModel(); comment_model.BlogID = blogID; var commentidList = _CommentsContext.GetComments().ToList(); comment_model.CommentID = (commentidList.Count() > 0) ? commentidList.Select(x => x.CommentID).Max() + 1 : 1; comment_model.FullNameTxt = name; comment_model.EmailTxt = email; comment_model.PhoneNoTxt = phone; comment_model.CommentDescriptionTxt = Comment; comment_model.PostedDate = DateTime.Now; comment_model.IsActiveInd = false; _CommentsContext.AddComment(comment_model); //***********************Email Sending to client on every comment post******************* #region Email region var Email_List = _EmailsContexts.GetEmails().ToList(); // Emails List var Setting_List = _SettingContexts.GetSettings().ToList(); // Setting List bool IsSucessSendMail = false; var ToEmailTxt = Setting_List.Select(a => a.ReceivingEmail).FirstOrDefault(); var SendingEmalTxt = Setting_List.Select(a => a.SendingEmail).FirstOrDefault(); var Toemail_array = new string[] { }; var ToEmail = string.Empty; if (!string.IsNullOrEmpty(ToEmailTxt) && ToEmailTxt.Contains(",")) { Toemail_array = ToEmailTxt.Split(','); } else { Toemail_array = new string[] { ToEmailTxt }; } foreach (var itememail in Toemail_array) { ToEmail = ToEmail + "," + Email_List.Where(x => x.EmailID == Convert.ToInt32(itememail)).Select(x => x.EmailTxt).FirstOrDefault(); } ToEmail = ToEmail.Trim(','); var fromEmail = Email_List.Where(x => x.EmailID == Convert.ToInt32(!string.IsNullOrEmpty(SendingEmalTxt) ? SendingEmalTxt : "0")).Select(x => x.EmailTxt).FirstOrDefault(); if (ToEmail != null && fromEmail != null) { var myMailUtilityBAL = new Common.MailUtilityBAL(); var body = ""; #region Contact US body = "<table style=\"font-family:Arial;font-size:12px\" border=\"0\" align=\"left\" cellpadding=\"4\" cellspacing=\"0\" >"; body += "<tr><td colspan='2' > Dear Admin,<br/><br/>Following user has posted comment from Killeen ISD website blog with the following information:</td></tr>"; body += @"<tr><td colspan='2' ><div style='float:left; padding:20px; background:#F8F8F8; width:450px; font-family:Arial;font-size: 12px;'> <table width='100%' cellspacing='2' cellpadding='2' style='font-family:Arial;font-size: 12px;'><tbody>"; body += @" <tr> <td width='45%' valign='top' align='left' style='padding: 2px 0;'><b> Name:</b></td> <td width='55%' valign='top' align='left' style='padding: 2px 0;'>" + name + @" </td> </tr> <tr> <td valign='top' align='left' style='padding: 2px 0;'><b>Email:</b></td> <td valign='top' align='left' style='padding: 2px 0;'>" + (string.IsNullOrEmpty(email) ? "-" : email) + @" </td> </tr> <tr> <td valign='top' align='left' style='padding: 2px 0;'><b>Phone:</b></td> <td valign='top' align='left' style='padding: 2px 0;'>" + (string.IsNullOrEmpty(phone) ? "-" : phone) + @" </td> </tr> <tr> <td valign='top' align='left' style='padding: 2px 0;'><b>Comment:</b></td> <td valign='top' align='left' style='padding: 2px 0;'>" + (string.IsNullOrEmpty(Comment) ? "-" : Comment) + @" </td> </tr> "; body += @"</table></div></td></tr>"; body = body + "<tr><td colspan='2'><br/>Regards,<br/>Killeen ISD Team.</td></tr></table>"; #endregion try { if (ToEmail.Contains(",")) { var ToEmailArray = ToEmail.Split(','); foreach (var item in ToEmailArray) { if (myMailUtilityBAL.SendEmail(fromEmail, item, body, ("Blog comment posting")).ToLower().Trim() == "ok") { IsSucessSendMail = true; } } } else { if (myMailUtilityBAL.SendEmail(fromEmail, ToEmail, body, ("Blog comment posting")).ToLower().Trim() == "ok") { IsSucessSendMail = true; } } } catch (Exception ex) { IsSucessSendMail = false; } var str = IsSucessSendMail ? "Comment posted successfully." : "There is an error while sending email. Please try again."; TempData["AlertMessage"] = str; #endregion } else { TempData["AlertMessage"] = "Comment posted successfully."; } //**********************************Setting Section**************************************** comments_per_post = Setting_List.Select(x => x.CommentPerPost).FirstOrDefault();// Comments per post model.SettingList = Setting_List; // ********************Gets updated Commnet List ********************** var _CommentContexts_Updated = new BlogAdmin.Contexts.CommentContexts(); //Setting Context var objComments_list = _CommentContexts_Updated.GetComments().OrderByDescending(x => x.PostedDate).ToList(); objComments_list = objComments_list.Where(x => x.BlogID == blogID && x.IsActiveInd == true).Take(comments_per_post).ToList(); // Comment Listing foreach (var item in objComments_list) { var date_of_comment = Convert.ToDateTime(item.PostedDate); var today = DateTime.Now; item.No_of_days = model.Get_Year_month_days(date_of_comment, today); } model.CommentList = objComments_list;// Comment List #endregion } catch (Exception) { } return(View(model)); }
public ActionResult BlogContent(string Blogurl, int?BlogID, int?page, int?type, FormCollection fm) { int pageSize = Admin.Models.Common._pageSize; int pageNumber = (page ?? Admin.Models.Common._currentPage); var comments_per_post = 4; var _Blogcontext = new BlogAdmin.Contexts.BlogsContexts(); //Blog Context var _CategoriesContexts = new BlogAdmin.Contexts.CategoriesContexts(); //Categories Context var _TagsContexts = new BlogAdmin.Contexts.TagsContexts(); //Tags Context var _SettingContexts = new BlogAdmin.Contexts.SettingContexts(); //Setting Context var _ContextsComments = new BlogAdmin.Contexts.CommentContexts(); // Comments Context var model = new Models.ContentModel(); // Content Model try { var blog_list = _Blogcontext.GetBlogs().Where(x => x.SlagTxt.ToLower() == Blogurl.ToLower() && x.IsActiveInd == true).OrderBy(x => x.PostedDate).FirstOrDefault(); if (blog_list == null) { return(RedirectToAction("Index", "Home")); } #region BLog Listing Section var blogID = 0; if (_Blogcontext != null) { blogID = blog_list.BlogID; List <Models.ContentModel> bloglist = new List <Models.ContentModel>();//Create a list of blog items model = new Models.ContentModel(); model.AuthorNameTxt = blog_list.AuthorNameTxt; model.AuthorNameID = blog_list.AuthorNameID; model.BlogDescription = blog_list.BlogDescription; model.BlogDescription = blog_list.BlogDescription; model.CategoryID = blog_list.CategoryID; model.ImagePathTxt = blog_list.ImagePathTxt; model.IsActiveInd = blog_list.IsActiveInd; model.IsCommentEnabledInd = blog_list.IsCommentEnabledInd; model.MetaDescriptionTxt = blog_list.MetaDescriptionTxt; model.MetaTitleTxt = blog_list.MetaTitleTxt; model.PostedDate = blog_list.PostedDate; model.SlagTxt = blog_list.SlagTxt; model.SocialMediaTxt = blog_list.SocialMediaTxt; model.TitleTxt = blog_list.TitleTxt; model.AbstractTxt = blog_list.AbstractTxt; model.CategoryName = blog_list.CategoryID != 0 ? _CategoriesContexts.GetCategories().Where(x => x.CategoryID == blog_list.CategoryID).Select(x => x.CategoryNameTxt).FirstOrDefault() : ""; //************************************TagList under each blog********************************************* List <Models.TagNameList> blogTaglistName = new List <Models.TagNameList>();//Create a list of tags of single blog items var getTagIDList = _Blogcontext.GetFormBlogTag(blog_list.BlogID).ToList(); foreach (var b in getTagIDList) { var obj = new Models.TagNameList(); obj.TagNameTxt = _TagsContexts.GetTags().Where(x => x.TagID == Convert.ToInt32(b)).Select(x => x.TagNameTxt).FirstOrDefault();; obj.TagID = Convert.ToInt32(b); obj.BlogID = blog_list.BlogID; blogTaglistName.Add(obj); } model.TagNameList = blogTaglistName.OrderByDescending(x => x.TagNameTxt).ToList(); //****************************Social Media Listing********************************************* var objSocialListing = _Blogcontext.GetFormBlogSocialMedia_List(blogID).ToList(); model.SocialList = objSocialListing; bloglist.Add(model); model.IsPagingVisible = true; model.PagedBlog = bloglist.ToPagedList(pageNumber, pageSize); } #endregion #region Seeting Section region var objSetting_List = _SettingContexts.GetSettings().ToList(); // Get Setting Theme list comments_per_post = objSetting_List.Select(x => x.CommentPerPost).FirstOrDefault(); // Comments per post model.SettingList = objSetting_List; #endregion #region Comment Section var objComments_list = _ContextsComments.GetComments().ToList(); objComments_list = objComments_list.Where(x => x.BlogID == blogID && x.IsActiveInd == true).Take(comments_per_post).ToList();// Comment Listing foreach (var item in objComments_list) { var date_of_comment = Convert.ToDateTime(item.PostedDate); var today = DateTime.Now; item.No_of_days = model.Get_Year_month_days(date_of_comment, today); } model.CommentList = objComments_list; #endregion } catch (Exception) { } return(View(model)); }