Пример #1
0
 public PlanEvent GetThumbnailBytes(PlanEvent obj)
 {
     byte[] bytes = null;
     if (obj != null)
     {
         var itemBuckets = db.GetItem("/sitecore/content/EPG/Sections/PlanBuckets/AsiaPlan/");
         if (itemBuckets != null && BucketManager.IsBucket(itemBuckets))
         {
             using (var searchContext = ContentSearchManager.GetIndex("sitecore_master_index").CreateSearchContext())
             {
                 var result = searchContext.GetQueryable <SearchResultItem>().Where(x => x.Name.Equals(obj.PlanTitleID) && x.TemplateId == new ID("{50B06575-9906-4B50-8E63-3E8BBEF1F858}")).FirstOrDefault();
                 if (result != null)
                 {
                     if (!string.IsNullOrWhiteSpace(result.GetItem().Fields["Portrait Image"].Value))
                     {
                         MediaItem mediaitem = ((Sitecore.Data.Fields.ImageField)result.GetItem().Fields["Portrait Image"]).MediaItem;
                         Stream    stream    = new MediaItem(mediaitem).GetMediaStream();
                         bytes = new byte[stream.Length];
                         int l = stream.Read(bytes, 0, (int)stream.Length);
                         obj.PortraitImageByte = bytes;
                     }
                     if (!string.IsNullOrWhiteSpace(result.GetItem().Fields["Landscape Image"].Value))
                     {
                         MediaItem mediaitem = ((Sitecore.Data.Fields.ImageField)result.GetItem().Fields["Landscape Image"]).MediaItem;
                         Stream    stream    = new MediaItem(mediaitem).GetMediaStream();
                         bytes = new byte[stream.Length];
                         int l = stream.Read(bytes, 0, (int)stream.Length);
                         obj.LandscapeImageByte = bytes;
                     }
                 }
             }
         }
     }
     return(obj);
 }
Пример #2
0
 public void GetThumbnailPath(PlanEvent obj)
 {
     if (!string.IsNullOrWhiteSpace(obj.PlanTitleID))
     {
         var itemBuckets = db.GetItem("/sitecore/content/EPG/Sections/PlanBuckets/AsiaPlan/");
         if (itemBuckets != null && BucketManager.IsBucket(itemBuckets))
         {
             using (var searchContext = ContentSearchManager.GetIndex("sitecore_master_index").CreateSearchContext())
             {
                 var result = searchContext.GetQueryable <SearchResultItem>().Where(x => x.Name.Equals(obj.PlanTitleID) && x.TemplateId == new ID("{50B06575-9906-4B50-8E63-3E8BBEF1F858}")).FirstOrDefault();
                 if (result != null)
                 {
                     Item item = result.GetItem();
                     if (item == null)
                     {
                         return;
                     }
                     var portraitimage = (Sitecore.Data.Fields.ImageField)item.Fields["Portrait Image"];
                     var landscape     = (Sitecore.Data.Fields.ImageField)item.Fields["Landscape Image"];
                     if (portraitimage != null && (portraitimage).MediaItem != null)
                     {
                         string imagepath = ConvertSitecorePathtoMediaMasterPath((portraitimage).MediaItem.Paths.ContentPath);
                         obj.PortraitImage = imagepath;
                     }
                     if (landscape != null && (landscape).MediaItem != null)
                     {
                         string imagepath = ConvertSitecorePathtoMediaMasterPath((landscape).MediaItem.Paths.ContentPath);
                         obj.LandscapeImage = imagepath;
                     }
                 }
             }
         }
     }
 }
        public async Task AddNewEvent()
        {
            var dataAccessMock = new Mock <IDataAccess>();

            dataAccessMock.Setup(da => da.ReadEventForDateFromDBAsync(It.IsAny <DateTime>()))
            .Returns(Task.FromResult <Event>(null));
            BsonArray insertedDocument = null;

            dataAccessMock.Setup(da => da.InsertIntoDBAsync(It.IsAny <DateTime>(), It.IsAny <BsonArray>()))
            .Callback <DateTime, BsonArray>((_, arr) => insertedDocument = arr);

            var planZoomMeetingMock = new Mock <IPlanZoomMeeting>();

            planZoomMeetingMock.Setup(z => z.CreateZoomMeetingAsync(
                                          It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(),
                                          It.IsAny <string>(), It.IsAny <string>()))
            .Returns(Task.FromResult(new Meeting {
                join_url = "Dummy"
            }));

            var discordBotMock = new Mock <IDiscordBotService>();

            //discordBotMock.Setup(d => d.BuildBotMessage(
            //    It.IsAny<Workshop>(), It.IsAny<Event>(), It.IsAny<Meeting>(), It.IsAny<DateTime>()))
            //    .Returns("Test");

            var func = new PlanEvent(dataAccessMock.Object, discordBotMock.Object, null, planZoomMeetingMock.Object, null, null);
            await func.WriteEventToDB(@"
            {
              ""Operation"": ""added"",
              ""FolderInfo"": {
                ""FullFolder"": ""2020-07-17/PLAN.yml"",
                ""DateFolder"": ""2020-07-17"",
                ""File"": ""PLAN.yml""
              },
              ""Workshops"": {
                ""workshops"": [
                  {
                    ""begintime"": ""13:45"",
                    ""endtime"": ""15:45"",
                    ""status"": ""Published"",
                    ""title"": ""Test"",
                    ""targetAudience"": ""TestAudience"",
                    ""description"": ""TestDescription *with* markup"",
                    ""prerequisites"": ""TestPrerequisites"",
                    ""mentors"": [ ""Foo"", ""Bar"" ],
                    ""zoomUser"": ""Test"",
                    ""zoom"": ""Test"",
                    ""shortCode"": ""Test""
                  }
                ]
              }
            }", Mock.Of <ILogger>());

            dataAccessMock.Verify(da => da.ReadEventForDateFromDBAsync(It.IsAny <DateTime>()), Times.Once);
            dataAccessMock.Verify(da => da.InsertIntoDBAsync(It.IsAny <DateTime>(), It.IsAny <BsonArray>()), Times.Once);

            Assert.Single(insertedDocument);
        }
        public async Task SingleCommitSingleYaml()
        {
            var githubWebhookRequestJson = @"
            {
              ""commits"": [
                {
                  ""id"": ""13c178b8ebe91815e59d44aec2f593570d5d00e3"",
                  ""added"": [
                  ],
                  ""removed"": [
                  ],
                  ""modified"": [
                    ""2020-07-17/PLAN.yml""
                  ]
                }
              ]
            }";

            WorkshopOperation operation = null;

            using var githubWebhookRequest = new MockHttpRequest(githubWebhookRequestJson);
            var collector = new Mock <ICollector <WorkshopOperation> >();

            collector.Setup(c => c.Add(It.IsAny <WorkshopOperation>()))
            .Callback <WorkshopOperation>(wo => operation = wo)
            .Verifiable();

            var logger = Mock.Of <ILogger>();

            var fileReader = new Mock <IGitHubFileReader>();

            fileReader.Setup(fr => fr.GetYMLFileFromGitHub(It.IsAny <FolderFileInfo>(), It.IsAny <string>()))
            .Returns(Task.FromResult(new WorkshopsRoot()))
            .Verifiable();

            var planEvent = new PlanEvent(null, null, fileReader.Object, null, null, null);
            var result    = await planEvent.ReceiveFromGitHub(githubWebhookRequest.HttpRequestMock.Object, collector.Object, logger);

            Assert.IsType <AcceptedResult>(result);
            collector.Verify(c => c.Add(It.IsAny <WorkshopOperation>()), Times.Once);
            fileReader.Verify(fr => fr.GetYMLFileFromGitHub(It.IsAny <FolderFileInfo>(), It.IsAny <string>()), Times.Once);
            Assert.NotNull(operation);
            Assert.Equal("PLAN.yml", operation.FolderInfo.File);
            Assert.Equal("2020-07-17", operation.FolderInfo.DateFolder);
            Assert.Equal("2020-07-17/PLAN.yml", operation.FolderInfo.FullFolder);
            Assert.Equal("modified", operation.Operation);
        }
Пример #5
0
 public ActionResult Create([Bind(Include = "Title, StartDateTime, Location, Description, MaxCountGuest")] PlanEvent planEvent)
 {
     try
     {
         if (ModelState.IsValid)
         {
             db.PlanEvents.Add(planEvent);
             db.SaveChanges();
             return(RedirectToAction("Index"));
         }
     }
     catch (DataException /* dex */)
     {
         ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator.");
     }
     return(View(planEvent));
 }
Пример #6
0
 public static PlanEventModel Convert(this PlanEvent entity)
 {
     return(MapObject(entity, new PlanEventModel()));
 }