Ejemplo n.º 1
0
        public async Task <ArchetypeDataTaskResult <ArchetypeCardMessage> > Process(ArchetypeCardMessage archetypeData)
        {
            var articleDataTaskResult = new ArchetypeDataTaskResult <ArchetypeCardMessage>
            {
                ArchetypeData = archetypeData
            };

            var existingArchetype = await _archetypeService.ArchetypeByName(archetypeData.ArchetypeName);

            if (existingArchetype != null && archetypeData.Cards.Any())
            {
                await _archetypeCardsService.Update(existingArchetype.Id, archetypeData.Cards);
            }

            return(articleDataTaskResult);
        }
Ejemplo n.º 2
0
        public async Task <ArchetypeDataTaskResult <ArchetypeMessage> > Process(ArchetypeMessage archetypeData)
        {
            var articleDataTaskResult = new ArchetypeDataTaskResult <ArchetypeMessage>
            {
                ArchetypeData = archetypeData
            };

            var existingArchetype = await _archetypeService.ArchetypeById(archetypeData.Id);

            if (existingArchetype == null)
            {
                var newArchetype = new Archetype
                {
                    Id      = archetypeData.Id,
                    Name    = archetypeData.Name,
                    Url     = archetypeData.ProfileUrl,
                    Created = DateTime.UtcNow,
                    Updated = archetypeData.Revision
                };

                await _archetypeService.Add(newArchetype);
            }
            else
            {
                existingArchetype.Name    = archetypeData.Name;
                existingArchetype.Url     = archetypeData.ProfileUrl;
                existingArchetype.Updated = archetypeData.Revision;

                await _archetypeService.Update(existingArchetype);
            }

            if (!string.IsNullOrWhiteSpace(archetypeData.ImageUrl))
            {
                var downloadImage = new DownloadImage
                {
                    RemoteImageUrl = new Uri(archetypeData.ImageUrl),
                    ImageFileName  = archetypeData.Id.ToString(),
                };

                await _archetypeImageQueueService.Publish(downloadImage);
            }

            return(articleDataTaskResult);
        }