Пример #1
0
        public ServiceSyncErpLocalidadesEntity SynchronizeErpLocalidadesDACS(ItrisAuthenticateEntity authenticateEntity, string lastUpdate)
        {
            //Listas CUD en DB_DACS
            ServiceSyncErpLocalidadesEntity serviceSyncErpLocalidadesEntity = new ServiceSyncErpLocalidadesEntity();

            serviceSyncErpLocalidadesEntity.ListaCreate = new List <ERP_LOCALIDADES>();
            serviceSyncErpLocalidadesEntity.ListaUpdate = new List <ERP_LOCALIDADES>();
            serviceSyncErpLocalidadesEntity.ListaDelete = new List <ERP_LOCALIDADES>();

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

                ItrisErpLocalidadesBusiness itrisErpLocalidadesBusiness = new ItrisErpLocalidadesBusiness(authenticateEntity);
                ItrisErpLocalidadesResponse itrisErpLocalidadesResponse =
                    Task.Run(async() => await itrisErpLocalidadesBusiness.GetLastUpdate(lastUpdate)).GetAwaiter().GetResult();

                List <ERP_LOCALIDADES> listaServiceLocalidades = this.Read() as List <ERP_LOCALIDADES>;

                //Comparo elemento por elemento para chequear los insert y actualizaciones
                foreach (var objItris in itrisErpLocalidadesResponse.data)
                {
                    var localidad = listaServiceLocalidades.Where(a => a.ID == objItris.ID).SingleOrDefault();
                    if (localidad != null)
                    {
                        if (!LocalidadesIguales(localidad, objItris))
                        {
                            ActualizoLocalidad(localidad, objItris);
                            serviceSyncErpLocalidadesEntity.ListaUpdate.Add(localidad);
                        }
                    }
                    else
                    {
                        serviceSyncErpLocalidadesEntity.ListaCreate.Add(CreoNuevaLocalidad(objItris));
                    }
                }

                //Obtengo los elementos que tengo que eliminar en la bd DACS
                //foreach (var objService in listaServiceLocalidades)
                //{
                //    var objDelete = itrisErpLocalidadesResponse.data.Where(a => a.ID == objService.ID).SingleOrDefault();
                //    if (objDelete == null)
                //        serviceSyncErpLocalidadesEntity.ListaDelete.Add(objService);
                //}

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

            return(serviceSyncErpLocalidadesEntity);
        }
Пример #2
0
 public async Task <ItrisErpLocalidadesResponse> Get()
 {
     try
     {
         itrisErpLocalidadesResponse =
             await itrisErpLocalidadesRepository.Get(itrisAuthenticateEntity.GetAll());
     }
     catch (Exception ex)
     {
         throw ex;
     }
     return(itrisErpLocalidadesResponse);
 }
Пример #3
0
        public async Task <ItrisErpLocalidadesResponse> GetLastUpdate(string lastUpdate)
        {
            try
            {
                itrisErpLocalidadesResponse =
                    await itrisErpLocalidadesRepository.Get(itrisAuthenticateEntity.GetApi3FilterDateLastUpdate(lastUpdate));

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