/// <summary>
 /// Method for obtaining all approved objects by tags.
 /// </summary>
 /// <param name="byTag">Sampling tags</param>
 /// <returns>IEnumerable(MapObjectDTO) object.</returns>
 public IEnumerable <MapObjectDTO> GetAllApprovedMapObjects(string tags)
 {
     try
     {
         if (tags == "")
         {
             return(Mapper.Map <IEnumerable <MapObject>, List <MapObjectDTO> >(
                        Database.MapObjects.GetAll()
                        .Where(s => s.Status == Status.Approved)
                        .Where(isDel => isDel.IsDelete == false)));
         }
         else
         {
             List <string> byTags           = TagStringHandler.SplitAndTrimTagsString(tags);
             var           mapsObjectByTags = Database.Tags.GetAll()
                                              .Where(isDel => isDel.IsDelete == false)
                                              .Where(tag => byTags.Contains(tag.TagName))
                                              .SelectMany(tag => tag.MapObjects)
                                              .Distinct();
             return(Mapper
                    .Map <IEnumerable <MapObject>, IEnumerable <MapObjectDTO> >(mapsObjectByTags
                                                                                .Where(s => s.Status == Status.Approved)));
         }
     }
     catch (Exception e)
     {
         throw new DatabaseException("Error ", e.Message);
     }
 }
Beispiel #2
0
            public List <TagDTO> Resolve(MapObjectViewModel source, MapObjectDTO destination, string sourceMember, List <TagDTO> destMember, ResolutionContext context)
            {
                destination.Tags = new List <TagDTO>();
                var tags = TagStringHandler.SplitAndTrimTagsString(source.Tags);

                foreach (var tag in tags)
                {
                    destination.Tags.Add(new TagDTO
                    {
                        Id      = 0,
                        TagName = tag
                    });
                }
                return(destination.Tags);
            }