Ejemplo n.º 1
0
 public static void AssertEqual(GuideV1 expectedGuide, GuideV1 actualGuide)
 {
     Assert.NotNull(actualGuide);
     Assert.Equal(expectedGuide.App, actualGuide.App);
     Assert.Equal(expectedGuide.MaxVer, actualGuide.MaxVer);
     Assert.Equal(expectedGuide.MinVer, actualGuide.MinVer);
     Assert.Equal(expectedGuide.Name, actualGuide.Name);
     Assert.Equal(expectedGuide.Status, actualGuide.Status);
     Assert.Equal(expectedGuide.Type, actualGuide.Type);
     Assert.NotNull(actualGuide.Pages);
     for (int i = 0; i < actualGuide.Pages.Count; i++)
     {
         AssertPages(actualGuide.Pages[i], expectedGuide.Pages[i]);
     }
     Assert.NotNull(actualGuide.Tags);
     for (int i = 0; i < actualGuide.Tags.Count; i++)
     {
         Assert.Equal(expectedGuide.Tags[i], actualGuide.Tags[i]);
     }
     Assert.NotNull(actualGuide.AllTags);
     for (int i = 0; i < actualGuide.AllTags.Count; i++)
     {
         Assert.Equal(expectedGuide.AllTags[i], actualGuide.AllTags[i]);
     }
 }
Ejemplo n.º 2
0
 public async Task <GuideV1> UpdateGuideAsync(string correlationId, GuideV1 guide)
 {
     using (Instrument(correlationId, "guides.update_guide"))
     {
         return(await _controller.UpdateGuideAsync(correlationId, guide));
     }
 }
Ejemplo n.º 3
0
        public async Task <GuideV1> UpdateGuideAsync(string correlationId, GuideV1 guide)
        {
            var newGuide = await _persistence.UpdateAsync(correlationId, guide);

            await _attachmentsConnector.UpdateAttachmentsAsync(correlationId, guide, newGuide);

            return(newGuide);
        }
Ejemplo n.º 4
0
        public async Task <GuideV1> CreateGuideAsync(string correlationId, GuideV1 guide)
        {
            guide.Id         = guide.Id ?? IdGenerator.NextLong();
            guide.CreateTime = DateTime.UtcNow;

            var newGuide = await _persistence.CreateAsync(correlationId, guide);

            await _attachmentsConnector.AddAttachmentsAsync(correlationId, newGuide);

            return(newGuide);
        }
Ejemplo n.º 5
0
 public async Task <GuideV1> UpdateGuideAsync(string correlationId, GuideV1 guide)
 {
     return(await CallCommandAsync <GuideV1>(
                "update_guide",
                correlationId,
                new
     {
         guide = guide
     }
                ));
 }
Ejemplo n.º 6
0
        private string[] ExtractAttachmentIds(GuideV1 guide)
        {
            List <string> ids = new List <string>();

            if (guide.Pages != null)
            {
                foreach (var page in guide.Pages)
                {
                    if (page.PicId != null)
                    {
                        ids.Add(page.PicId);
                    }
                }
            }

            return(ids.ToArray());
        }
Ejemplo n.º 7
0
        public async Task <BlobAttachmentV1[]> RemoveAttachmentsAsync(string correlationId, GuideV1 guide)
        {
            if (_attachmentsClient == null || guide == null)
            {
                return(null);
            }

            var ids       = this.ExtractAttachmentIds(guide);
            var reference = new ReferenceV1(guide.Id, "guide");

            return(await _attachmentsClient.RemoveAttachmentsAsync(correlationId, reference, ids));
        }
Ejemplo n.º 8
0
        public async Task <BlobAttachmentV1[]> UpdateAttachmentsAsync(string correlationId, GuideV1 oldGuide, GuideV1 newGuide)
        {
            if (_attachmentsClient == null || oldGuide == null || newGuide == null)
            {
                return(null);
            }

            var oldIds    = ExtractAttachmentIds(oldGuide);
            var newIds    = ExtractAttachmentIds(newGuide);
            var reference = new ReferenceV1(newGuide.Id, "guide");

            return(await _attachmentsClient.UpdateAttachmentsAsync(correlationId, reference, oldIds, newIds));
        }
Ejemplo n.º 9
0
        public async Task <GuideV1> UpdateAsync(string correlationId, GuideV1 item)
        {
            var result = await UpdateAsync(correlationId, FromPublic(item));

            return(ToPublic(result));
        }
Ejemplo n.º 10
0
 private static GuideV1MongoDbSchema FromPublic(GuideV1 value)
 {
     return(ObjectMapper.MapTo <GuideV1MongoDbSchema>(value));
 }
Ejemplo n.º 11
0
 public async Task <GuideV1> UpdateGuideAsync(string correlationId, GuideV1 guide)
 {
     return(await Task.FromResult(new GuideV1()));
 }