public ServiceSyncErpEmpresasEntity SynchronizeErpEmpresasDACS(ItrisAuthenticateEntity authenticateEntity, string lastUpdate)
        {
            //Listas CUD en DB_DACS
            ServiceSyncErpEmpresasEntity serviceSyncErpEmpresasEntity = new ServiceSyncErpEmpresasEntity();

            serviceSyncErpEmpresasEntity.ListaCreate = new List <ERP_EMPRESAS>();
            serviceSyncErpEmpresasEntity.ListaUpdate = new List <ERP_EMPRESAS>();
            serviceSyncErpEmpresasEntity.ListaDelete = new List <ERP_EMPRESAS>();

            try
            {
                List <ERP_EMPRESAS> listaEmpresasItris = new List <ERP_EMPRESAS>();

                ItrisErpEmpresasBusiness itrisErpEmpresasBusiness = new ItrisErpEmpresasBusiness(authenticateEntity);
                ItrisErpEmpresasResponse itrisErpEmpresasResponse =
                    Task.Run(async() => await itrisErpEmpresasBusiness.GetLastUpdate(lastUpdate)).GetAwaiter().GetResult();

                List <ERP_EMPRESAS> listaServiceEmpresas = this.Read() as List <ERP_EMPRESAS>;

                //Comparo elemento por elemento para chequear los insert y actualizaciones
                foreach (var objItris in itrisErpEmpresasResponse.data)
                {
                    var empresa = listaServiceEmpresas.Where(a => a.ID == objItris.ID).SingleOrDefault();
                    if (empresa != null)
                    {
                        if (!EmpresasIguales(empresa, objItris))
                        {
                            ActualizoEmpresa(empresa, objItris);
                            serviceSyncErpEmpresasEntity.ListaUpdate.Add(empresa);
                        }
                    }
                    else
                    {
                        serviceSyncErpEmpresasEntity.ListaCreate.Add(CreoNuevaEmpresa(objItris));
                    }
                }

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

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

            return(serviceSyncErpEmpresasEntity);
        }
        public async Task <ItrisErpEmpresasResponse> Get()
        {
            try
            {
                itrisErpEmpresasResponse =
                    await itrisErpEmpresasRepository.Get(itrisAuthenticateEntity.GetUrl());

                return(itrisErpEmpresasResponse);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task <ItrisErpEmpresasResponse> GetLastUpdate(string lastUpdate)
        {
            try
            {
                itrisErpEmpresasResponse =
                    await itrisErpEmpresasRepository.Get(itrisAuthenticateEntity.GetApi3FilterDateLastUpdate(lastUpdate));

                return(itrisErpEmpresasResponse);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task <ItrisErpEmpresasResponse> Get(ItrisErpEmpresasEntity entity)
        {
            try
            {
                string filter = string.Format("ID='{0}'", entity.ID);

                itrisErpEmpresasResponse =
                    await itrisErpEmpresasRepository.Get(itrisAuthenticateEntity.GetAllWithFilterUrl(filter));

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