Exemplo n.º 1
0
        public void ShouldReturnContenfulGroupHomepage()
        {
            var contenfulHomepage = new ContentfulGroupHomepageBuilder().Build();
            var collection        = new ContentfulCollection <ContentfulGroupHomepage>();

            collection.Items = new List <ContentfulGroupHomepage> {
                contenfulHomepage
            };

            var groupHomepage = new GroupHomepage("title", "slug", "metaDescription", "image-url.jpg", string.Empty, null, null, null, null, string.Empty, string.Empty, string.Empty, string.Empty, new NullEventBanner());

            var builder = new QueryBuilder <ContentfulGroupHomepage>().ContentTypeIs("groupHomepage").Include(1);

            _client.Setup(o => o.GetEntries(It.Is <QueryBuilder <ContentfulGroupHomepage> >(q => q.Build() == builder.Build()),
                                            It.IsAny <CancellationToken>())).ReturnsAsync(collection);

            _groupHomepageContentfulFactory.Setup(o => o.ToModel(contenfulHomepage)).Returns(groupHomepage);

            var response = AsyncTestHelper.Resolve(_repository.GetGroupHomepage());
            var homepage = response.Get <GroupHomepage>();

            homepage.BackgroundImage.Should().Be(contenfulHomepage.BackgroundImage.File.Url);
            homepage.Title.Should().Be(contenfulHomepage.Title);
            homepage.Slug.Should().Be(contenfulHomepage.Slug);
        }
Exemplo n.º 2
0
        public GroupHomepageFactoryTest()
        {
            _groupHomepageFactory = new GroupHomepageFactory(_simpleTagParserContainerMock.Object, _markdownWrapperMock.Object);


            _groupHomepage = new GroupHomepage
            {
                Title                     = Title,
                BackgroundImage           = "background image",
                FeaturedGroupsHeading     = string.Empty,
                FeaturedGroups            = new List <Group>(),
                FeaturedGroupsCategory    = new GroupCategory(),
                FeaturedGroupsSubCategory = new GroupSubCategory(),
                Alerts                    = new List <Alert>(),
                Body          = "body",
                SecondaryBody = "secondary body",
                EventBanner   = new EventBanner("title", "teaser", "icon", "link")
            };

            _markdownWrapperMock.Setup(o => o.ConvertToHtml(Body)).Returns(Body);
            _simpleTagParserContainerMock.Setup(o => o.ParseAll(Body, It.IsAny <string>(), It.IsAny <bool>())).Returns(Body);
        }
Exemplo n.º 3
0
        public void AddEditGroupHomepageInfoRecord(GroupHomepage ObjG, string Content, int languageId)
        {
            var RecExist = db.GroupHomepageInfoes.Where(x => x.GroupHomepageID == ObjG.GroupHomepageID && x.LanguageId == languageId).FirstOrDefault();

            if (RecExist != null)
            {
                RecExist.HomePageContent  = Content;
                RecExist.GroupHomepageID  = ObjG.GroupHomepageID;
                RecExist.DateLastModified = DateTime.Now;
                RecExist.LastModifiedById = Convert.ToInt64(Session["UserID"]);
                db.SaveChanges();
            }
            else
            {
                GroupHomepageInfo Objnew = new GroupHomepageInfo();
                Objnew.HomePageContent = Content;
                Objnew.GroupHomepageID = ObjG.GroupHomepageID;
                Objnew.LanguageId      = languageId;
                Objnew.CreationDate    = DateTime.Now;
                Objnew.CreatedById     = Convert.ToInt64(Session["UserID"]);
                db.GroupHomepageInfoes.Add(Objnew);
                db.SaveChanges();
            }
        }
        public virtual ProcessedGroupHomepage Build(GroupHomepage groupHomepage)
        {
            var body     = _tagParserContainer.ParseAll(groupHomepage.Body);
            var bodyHtml = _markdownWrapper.ConvertToHtml(body ?? string.Empty);

            var secondaryBody     = _tagParserContainer.ParseAll(groupHomepage.SecondaryBody);
            var secondaryBodyHtml = _markdownWrapper.ConvertToHtml(secondaryBody ?? string.Empty);

            return(new ProcessedGroupHomepage(
                       groupHomepage.Title,
                       groupHomepage.MetaDescription,
                       groupHomepage.BackgroundImage,
                       groupHomepage.FeaturedGroupsHeading,
                       groupHomepage.FeaturedGroups,
                       groupHomepage.FeaturedGroupsCategory,
                       groupHomepage.FeaturedGroupsSubCategory,
                       groupHomepage.Alerts,
                       groupHomepage.BodyHeading,
                       bodyHtml,
                       groupHomepage.SecondaryBodyHeading,
                       secondaryBodyHtml,
                       groupHomepage.EventBanner
                       ));
        }
Exemplo n.º 5
0
        public ActionResult GroupHomePage(GroupHomepageLocal Obj)
        {
            if (ModelState.IsValid)
            {
                string fileName  = "";
                var    GHomePage = db.GroupHomepages.Where(x => x.GroupID == Obj.GroupId).FirstOrDefault();
                if (GHomePage == null) // create new
                {
                    GroupHomepage Objnew = new GroupHomepage();
                    #region // Process Course file Save to server folders
                    if (Request.Files.Count > 0)
                    {
                        foreach (string file in Request.Files)
                        {
                            HttpPostedFileBase hpf = Request.Files[file];

                            if (hpf.FileName != "")
                            {
                                fileName = hpf.FileName.Split('\\').Last().ToString();

                                if (Common.IsValidFileName(hpf.FileName.Split('\\').Last().ToString(), true) == false)
                                {
                                    ModelState.AddModelError("UploadFileUrl", "error");
                                    //PrepareAvailableLangaugeModel(activity, false);
                                    return(View(Obj));
                                }

                                Guid g = Guid.NewGuid();

                                Objnew.GroupID       = Obj.GroupId;
                                Objnew.ImagePath     = "";
                                Objnew.ImageLocation = Obj.ImagePosition;
                                Objnew.CreationDate  = DateTime.Now;
                                Objnew.CreatedById   = Convert.ToInt64(Session["UserID"]);
                                db.GroupHomepages.Add(Objnew);
                                db.SaveChanges();

                                var absImgDir = Path.Combine(Server.MapPath("~") + @"\Content\Uploads\GroupHomepage\", "_" + Objnew.GroupHomepageID.ToString());
                                Directory.CreateDirectory(absImgDir);
                                var relCourseDir = Path.Combine(@"\Content\Uploads\GroupHomepage\", "_" + Objnew.GroupHomepageID.ToString());
                                hpf.SaveAs(Path.Combine(absImgDir, @fileName));
                                Objnew.ImagePath = Path.Combine(relCourseDir, @fileName);

                                db.SaveChanges();
                                Obj.UploadFileUrl = Objnew.ImagePath;
                                AddEditGroupHomepageInfoRecord(Objnew, Obj.PageContent, 1);
                            }
                        }
                    }
                    #endregion
                }
                else
                {
                    if (Request.Files.Count > 0)
                    {
                        foreach (string file in Request.Files)
                        {
                            HttpPostedFileBase hpf = Request.Files[file];

                            if (hpf.FileName != "")
                            {
                                fileName = hpf.FileName.Split('\\').Last().ToString();

                                if (Common.IsValidFileName(hpf.FileName.Split('\\').Last().ToString(), true) == false)
                                {
                                    ModelState.AddModelError("UploadFileUrl", "error");
                                    //PrepareAvailableLangaugeModel(activity, false);
                                    return(View(Obj));
                                }
                                var absImgDir = Path.Combine(Server.MapPath("~") + @"\Content\Uploads\GroupHomepage\", "_" + GHomePage.GroupHomepageID.ToString());
                                if (!Directory.Exists(absImgDir))
                                {
                                    Directory.CreateDirectory(absImgDir);
                                }
                                var relCourseDir = Path.Combine(@"\Content\Uploads\GroupHomepage\", "_" + GHomePage.GroupHomepageID.ToString());
                                hpf.SaveAs(Path.Combine(absImgDir, @fileName));
                                GHomePage.ImagePath = Path.Combine(relCourseDir, @fileName);
                            }
                        }
                    }
                    GHomePage.ImageLocation = Obj.ImagePosition;
                    GHomePage.CreationDate  = DateTime.Now;
                    GHomePage.CreatedById   = Convert.ToInt64(Session["UserID"]);
                    db.SaveChanges();
                    Obj.UploadFileUrl = GHomePage.ImagePath;
                    AddEditGroupHomepageInfoRecord(GHomePage, Obj.PageContent, 1);
                }
            }
            else
            {
                return(View(Obj));
            }
            if (Obj.IsPreview == true)
            {
                return(RedirectToAction("GroupHomePage", "Groups", new { id = Obj.GroupId, @Preview = "y" }));
            }
            else
            {
                return(RedirectToAction("GroupHomePage", "Groups", new { id = Obj.GroupId }));
            }

            //return View(Obj);
        }