/// <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); } }
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); }