//Главный пост public void OriginalClick(DateTime date, bool isOriginal) { var apod = MainApodObjectOperations.Get(date); if (apod != null) { Post_Id.Value = apod.Id.ToString(); day.InnerText = apod.Date().ToString("dd"); mounth.InnerText = apod.Date().ToString("MMM", CultureInfo.GetCultureInfo("ru-ru")); years.InnerText = apod.Date().ToString("yyyy"); title.InnerText = apod.Title; Text.InnerText = isOriginal ? apod.Explanation : apod.ExplanationRu; if (apod.MediaType != "image") { video.Attributes["src"] = ApodHelper.CutVideoUrl(apod.Url); Picture.Visible = false; } else { Picture.Attributes["src"] = apod.Url; video.Visible = false; } //увеличиваем количество просмотров apod.ViewsCount++; MainApodObjectOperations.Update(apod); AddPostComments(apod); } }
protected void SendClick(Object sender, EventArgs e) { var name = comment_name.Value; var email = comment_email.Value; var text = comment_message.Value; if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(email) || string.IsNullOrEmpty(text)) { throw new Exception("Обязательные поля должныбыть заполнены"); return; } SendEmailAthor(email, name); Comments comments = new Comments { Id = Guid.NewGuid(), Post_Id = Convert.ToInt32(Post_Id.Value), Author_Name = name, Author_Email = email, Text = text, Rating = 0, CreatedDate = DateTime.Now, PublicateDate = DateTime.Now, IsPublic = true, ParentId = null }; MainApodObjectOperations.Save(comments); var apod = MainApodObjectOperations.Get(comments.Post_Id); Page.Response.Redirect(Page.Request.Url.ToString(), true); }
private void AddPostComments(NasaAPOD apod) { var comments = MainApodObjectOperations.GetListComments(apod); infobar.Controls.Clear(); var commentsCount = comments.Count; var HTMLPoststring = string.Format("<span class=\"tags\"> Количество просмотров: {0}</span>" + "<span class=\"comments\">({1}) Комментариев</span>", apod.ViewsCount, commentsCount); infobar.Controls.Add(new LiteralControl(HTMLPoststring)); if (commentsCount != 0) { CommentsPosts.Controls.Clear(); AddCommets(comments); } }
/// <summary> /// Основное хранилище публикаций /// </summary> public void MainPostStore() { //Посты var listApods = ApodEmployment.GetApodsUnderDate(_MinDate, _CountBlogPost, _ArchiveDate); foreach (var apod in listApods) { var commentsCount = MainApodObjectOperations.GetCountComments(apod); string HTMLPoststring = string.Format("<div class=\"clear10\"></div>" + " <div class=\"post-box\">" + //дата " <div class=\"date-box alignleft_block\"> <div> <div></div>" + " <span class=\"line1\">{0}</span>" + "<span class=\"line2\">{1}</span>" + "<span class=\"line3\">{2}</span> </div></div>" + //заголовок "<h1 class=\"alignleft_block margin-left-20 post-title heading\">{3}</h1>" + //контент "<div class=\"alignleft_block post-content margin-left-20 margin_top10\">" + "{6} <div class=\"clear10\"></div>" + //Описание "<p>{4}</p></div><div class=\"clear10\"></div>" + //ссылка на публикацию "<a href=\"ApodDetail.aspx?date={5}\" class=\"alignright_block button\">Открыть публикацию</a>" + "<div class=\"clear20\"></div>" + "<div class=\"info-bar alignleft_block\"> <span class=\"tags\">Количество просмотров: {7}</span>" + "<span class=\"comments\">({8}) Комментариев </span> </div> </div>", apod.Date().ToString("dd"), apod.Date().ToString("MMM", CultureInfo.GetCultureInfo("ru-ru")), apod.Date().ToString("yyyy"), apod.Title, apod.ExplanationRu.Length > 255 ? apod.ExplanationRu.Substring(0, 255) + "..." : apod.ExplanationRu, apod.Date().ToString("yyyy-MM-dd"), apod.MediaType.Equals("video") ? string.Format( "<iframe src=\"{0}\" width=\"570\" height=\"360\" frameborder=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe> ", ApodHelper.CutVideoUrl(apod.Url)) : string.Format("<img src=\"{0}\" width=\"570\" height=\"270\" alt=\"\" />", apod.Url), apod.ViewsCount, commentsCount); postStore.Controls.Add(new LiteralControl(HTMLPoststring)); } _MinDate = listApods.Count > 0? listApods.Last().Date() : _MinDate; _MaxDate = listApods.Count > 0 ? listApods.First().Date() : _MaxDate; //навигация var nextMaxDate = _MinDate.Date.AddDays(-1); var nextMinDate = nextMaxDate.AddDays(-_CountBlogPost); var prevMaxDate = _MaxDate.Date.AddDays(_CountBlogPost + 1); var prevMinDate = prevMaxDate.AddDays(-_CountBlogPost); var maximumAllowableDate = _ArchiveDate == new DateTime() ? ApodHelper.TodayDate() : new DateTime(_ArchiveDate.Year, _ArchiveDate.Month, DateTime.DaysInMonth(_ArchiveDate.Year, _ArchiveDate.Month)); var buttonPoststring = string.Format("<div class=\"clear10\"></div><div class=\"paging-wrapper blog gray-frame\">{0}{1}</div>{2}", prevMinDate < maximumAllowableDate || (prevMinDate > maximumAllowableDate && _MaxDate < maximumAllowableDate) ? string.Format( "<a href=\"Blog.aspx?minDate={0}&maxDate={1}{2}\" ><span class=\"next\"> </span></a>", prevMinDate.ToString("yyyyMMdd"), (prevMinDate > maximumAllowableDate && _MaxDate <= maximumAllowableDate)? maximumAllowableDate.ToString("yyyyMMdd") : prevMaxDate.ToString("yyyyMMdd"), _ArchiveDate != new DateTime() ? "&archiveDate=" + _ArchiveDate.ToString("yyyyMMdd") : "") : "", nextMinDate >= _ArchiveDate || (nextMinDate <_ArchiveDate && _MinDate> _ArchiveDate) ? string.Format( " <a href=\"Blog.aspx?minDate={0}&maxDate={1}{2}\"><span class=\"prev\"> </span></a> ", (nextMinDate < _ArchiveDate && _MinDate >= _ArchiveDate)? _ArchiveDate.ToString("yyyyMMdd"): nextMinDate.ToString("yyyyMMdd"), nextMaxDate.ToString("yyyyMMdd"), _ArchiveDate != new DateTime() ? "&archiveDate=" + _ArchiveDate.ToString("yyyyMMdd") : "") : "", _ArchiveDate != new DateTime() ? "<div class=\"clear10\"></div><div class=\"info-bar alignleft_block\"><a href=\"Blog.aspx\"> Сбросить фильтр </a></div>" : ""); postStore.Controls.Add(new LiteralControl(buttonPoststring)); }