예제 #1
0
        public ServiceSyncErpAsesoresEntity SynchronizeErpAsesoresDACS(ItrisAuthenticateEntity authenticateEntity, string lastUpdate)
        {
            //Listas CUD en DB_DACS
            ServiceSyncErpAsesoresEntity serviceSyncErpAsesoresEntity = new ServiceSyncErpAsesoresEntity();

            serviceSyncErpAsesoresEntity.ListaCreate = new List <ERP_ASESORES>();
            serviceSyncErpAsesoresEntity.ListaUpdate = new List <ERP_ASESORES>();
            serviceSyncErpAsesoresEntity.ListaDelete = new List <ERP_ASESORES>();

            try
            {
                List <ERP_ASESORES> listaAsesoresItris = new List <ERP_ASESORES>();

                ItrisErpAsesoresBusiness itrisErpAsesoresBusiness = new ItrisErpAsesoresBusiness(authenticateEntity);
                ItrisErpAsesoresResponse itrisErpAsesoresResponse =
                    Task.Run(async() => await itrisErpAsesoresBusiness.GetLastUpdate(lastUpdate)).GetAwaiter().GetResult();

                List <ERP_ASESORES> listaServiceAsesores = this.Read() as List <ERP_ASESORES>;

                //Comparo elemento por elemento para chequear los insert y actualizaciones
                foreach (var objItris in itrisErpAsesoresResponse.data)
                {
                    var asesor = listaServiceAsesores.Where(a => a.ID == objItris.ID).SingleOrDefault();
                    if (asesor != null)
                    {
                        if (!AsesoresIguales(asesor, objItris))
                        {
                            ActualizoAsesor(asesor, objItris);
                            serviceSyncErpAsesoresEntity.ListaUpdate.Add(asesor);
                        }
                    }
                    else
                    {
                        serviceSyncErpAsesoresEntity.ListaCreate.Add(CreoNuevoAsesor(objItris));
                    }
                }

                //No elimino mas porque solo cuento con los ultimos por fecha de actualización
                //Obtengo los elementos que tengo que eliminar en la bd DACS
                //foreach (var objService in listaServiceAsesores)
                //{
                //	var objDelete = itrisErpAsesoresResponse.data.Where(a => a.ID == objService.ID).SingleOrDefault();
                //	if (objDelete == null)
                //		serviceSyncErpAsesoresEntity.ListaDelete.Add(objService);
                //}

                PersistirListas(serviceSyncErpAsesoresEntity);
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(serviceSyncErpAsesoresEntity);
        }
예제 #2
0
 public async Task <ItrisErpAsesoresResponse> Get()
 {
     try
     {
         itrisErpAsesoresResponse =
             await itrisErpAsesoresRepository.Get(itrisAuthenticateEntity.GetAll());
     }
     catch (Exception ex)
     {
         throw ex;
     }
     return(itrisErpAsesoresResponse);
 }
예제 #3
0
        public async Task <ItrisErpAsesoresResponse> Get(ItrisErpAsesoresEntity entity)
        {
            try
            {
                string filter = string.Format("ID>{0}", entity.ID);

                itrisErpAsesoresResponse =
                    await itrisErpAsesoresRepository.Get(itrisAuthenticateEntity.GetAllWithFilterUrl(filter));
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(itrisErpAsesoresResponse);
        }
예제 #4
0
        public async Task <ItrisErpAsesoresResponse> GetLastUpdate(string lastUpdate)
        {
            try
            {
                itrisErpAsesoresResponse =
                    await itrisErpAsesoresRepository.Get(
                        itrisAuthenticateEntity.GetApi3FilterDateLastUpdate(lastUpdate));

                return(itrisErpAsesoresResponse);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }