Пример #1
0
        //Главный пост
        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);
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        /// <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\">&nbsp;</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\">&nbsp;</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));
        }