Пример #1
0
        /// <summary>
        /// Toma un objeto de base de datos de persistencia, lo convierte a un entitySearch y lo guarda en azure search.
        /// </summary>
        /// <typeparam name="T">tipo de dato tipo base de datos.</typeparam>
        /// <param name="document">entidad o documento de base de datos de persistencia</param>
        public void AddDocument <T>(T document) where T : DocumentDb
        {
            // obtiene un entitySearch desde una entidad de base de datos de persistencia.
            var entitySearch = Mdm.GetEntitySearch(implements, document, hashOper).Cast <IEntitySearch <GeoPointType> >().ToList();

            // añade a registro
            AddToQueried(nameof(AgroSearch <GeoPointType> .AddDocument), JsonConvert.SerializeObject(entitySearch));


            // añade a base de datos.
            baseMainSearch.AddElements(entitySearch);
        }
Пример #2
0
        /// <summary>
        /// Obtiene un entitySearch desde un objeto de la base de datos
        /// el tipo de dato es por comodidad, si púede revisar internamente convierte cualquier objeto a entitySearch.
        /// Retorna una colección de EntitySearch, una de referencia y el resto local, ver atributos de la clase para más detalle.
        /// Vea EntityIndexAtribute, en el se asigna una referencia local o de referenci
        /// </summary>
        /// <see cref="EntityIndexAtribute"/>
        /// <typeparam name="T2">modelo del objeto que se convertirá a entity Search</typeparam>
        /// <param name="model">objeto a convertir</param>
        /// <returns>Colección de entity Search</returns>
        public IEntitySearch <GeoPointType>[] GetEntitySearch <T2>(T2 model) where T2 : DocumentDb
        {
            // crea un mapper para convertir un IEntitySearch a EntityBaseSearch<GeoPointType>
            var mapperLocal = mapper.CreateMapper();

            // convierte un elemento de persistencia a un entitySearch<GeoPointType>
            var document = Mdm.GetEntitySearch(
                implements,                                                            // asignación de tipos para cada interface de un entitySearch
                model                                                                  // documento a convertir
                , hashOper)
                           .Select(mapperLocal.Map <EntityBaseSearch <GeoPointType> >) // mapea el entitySearch de tipo GetEntitySearchImplementedType y lo convierte en EntityBaseSearch<GeoPointType>.
                           .ToArray();


            return(document);
        }