/// <summary> /// Proyecta como la entidad solicitada /// </summary> /// <typeparam name="TProjection">entidad solicitada</typeparam> /// <param name="item">elemento a proyectar</param> /// <returns>entidad proyectada</returns> public static TProjection ProyectarComo <TProjection>(this Object item) where TProjection : class, new() { if (item == null) { return(null); } var adapter = TypeAdapterFactory.CreateAdapter(); return(adapter.Adapt <TProjection>(item)); }
/// <summary> /// Proyecta un diccionario como lista /// </summary> /// <typeparam name="TProjection">Tipo destino</typeparam> /// <param name="items">Diccionario</param> /// <returns>Lista proyectada</returns> public static List <TProjection> ProyectarComoLista <TProjection>(this Dictionary <string, string> items) where TProjection : class, new() { if (items == null) { return(null); } if (!items.Any()) { return(new List <TProjection>()); } var adapter = TypeAdapterFactory.CreateAdapter(); return(adapter.Adapt <List <TProjection> >(items)); }
/// <summary> /// Proyecta una lista a otro tipo de lista. /// </summary> /// <typeparam name="TSource">Tipo Origen</typeparam> /// <typeparam name="TProjection">Tipo Destino</typeparam> /// <param name="items">Lista</param> /// <returns>Lista Proyectada</returns> public static List <TProjection> ProyectarComoLista <TSource, TProjection>(this IEnumerable <TSource> items) where TProjection : class { if (items == null) { return(null); } if (!items.Any()) { return(new List <TProjection>()); } var adapter = TypeAdapterFactory.CreateAdapter(); return(adapter.Adapt <List <TProjection> >(items)); }
/// <summary> /// Proyecta una lista de objetos en un lista del tipo destino. /// </summary> /// <typeparam name="TProjection">Tipo destino</typeparam> /// <param name="items">Lista de objetos</param> /// <returns>Lista Proyectada</returns> public static List <TProjection> ProyectarComoLista <TProjection>(this IEnumerable <object> items) where TProjection : class, new() { try { if (items == null) { return(null); } if (!items.Any()) { return(new List <TProjection>()); } var adapter = TypeAdapterFactory.CreateAdapter(); return(adapter.Adapt <List <TProjection> >(items)); } catch (Exception ex) { throw ex; } }