// GET: api/StringSearch public IQueryable <VCardDTO> GetVCards(string text) { //Instincia de iyector con la dependencia para imagenes generales var images = new URLsImages(new GeneralImages()); //Obtiene todos los elementos de la tabla VCards que contengan en el titulo el string de busqueda, cada item genera una copia de datos a un nuevo modelo de tipo VCardDTO var vcard = (from b in db.VCards where b.Title.Contains(text) select new VCardDTO() { Id = b.Id, Title = b.Title, UrlImages = new UrlImages() { Horizontal = b.URLImageH, Vertical = b.URLImageV } }).ToList(); //Itera los elementos para obtener las url de las imagenes generales foreach (VCardDTO item in vcard) { item.UrlImages = images.GetImages(item.UrlImages.Vertical, item.UrlImages.Horizontal); } return(vcard.AsQueryable()); }
public async Task <IHttpActionResult> GetVCard(int id) { //Instincia de iyector con la dependencia para imagenes del detalle var images = new URLsImages(new DetailImages()); //Obtiene el elementos de la tabla VCards con el id de busqueda, se genera un copia de datos al modelo VCardDetailDTO //Se incluyen la relacion con las tablas Category y RatingCode var vCard = await db.VCards.Include(b => b.Category).Include(b => b.RatingCode).Select(b => new VCardDetailDTO() { Id = b.Id, Title = b.Title, Description = b.Description, DescriptionLarge = b.DescriptionLarge, Duration = b.Duration, TitleOriginal = b.TitleOriginal, VotesAverage = b.VotesAverage, Year = b.Year, RatingCode = b.RatingCode.Name, UrlImages = new UrlImages() { Horizontal = b.URLImageH, Vertical = b.URLImageV }, Category = b.Category.Name, Actors = b.Actors, Directors = b.Directors }).SingleOrDefaultAsync(b => b.Id == id); //Obtiene las urls de la imagenes para detalle vCard.UrlImages = images.GetImages(vCard.UrlImages.Vertical, vCard.UrlImages.Horizontal); //Formatea la propiedad Duration {0}:{1}:{2} to {0}h {1} min {2}s var duration = vCard.Duration.Split(':'); vCard.Duration = String.Format("{0}h {1} min {2}s", duration[0], duration[1], duration[2]); if (vCard == null) { return(NotFound()); } return(Ok(vCard)); }