public ServiceSyncArticuloEntity SynchronizeArticuloDACS(ItrisAuthenticateEntity authenticateEntity, string lastUpdate) { //Listas CUD en DB_DACS ServiceSyncArticuloEntity serviceArticuloEntity = new ServiceSyncArticuloEntity(); serviceArticuloEntity.ListaCreate = new List <ARTICULO>(); serviceArticuloEntity.ListaUpdate = new List <ARTICULO>(); serviceArticuloEntity.ListaDelete = new List <ARTICULO>(); try { List <ARTICULO> listaArticulosItris = new List <ARTICULO>(); ItrisArticuloBusiness itrisArticuloBusiness = new ItrisArticuloBusiness(authenticateEntity); ItrisArticuloResponse itrisArticuloResponse = Task.Run(async() => await itrisArticuloBusiness.GetLastUpdate(lastUpdate)).GetAwaiter().GetResult(); List <ARTICULO> listaServiceArticulo = this.Read() as List <ARTICULO>; //Comparo elemento por elemento para chequear los insert y actualizaciones foreach (var objItris in itrisArticuloResponse.data) { var articulo = listaServiceArticulo.Where(a => a.ID == objItris.ID).SingleOrDefault(); if (articulo != null) { if (!ArticulosIguales(articulo, objItris)) { ActualizoArticulo(articulo, objItris); serviceArticuloEntity.ListaUpdate.Add(articulo); } } else { serviceArticuloEntity.ListaCreate.Add(CreoNuevoArticulo(objItris)); } } //Obtengo los elementos que tengo que eliminar en la bd DACS //foreach (var objService in listaServiceArticulo) //{ // var objDelete = itrisArticuloResponse.data.Where(a => a.ID == objService.ID).SingleOrDefault(); // if (objDelete == null) // serviceArticuloEntity.ListaDelete.Add(objService); //} PersistirListas(serviceArticuloEntity); } catch (Exception ex) { throw ex; } return(serviceArticuloEntity); }
public async Task <HttpResponseMessage> Get() { log.Info("Ingreso"); HttpResponseMessage response = new HttpResponseMessage(); //CLASS string ITRIS_SERVER = ConfigurationManager.AppSettings["ITRIS_SERVER"]; string ITRIS_PUERTO = ConfigurationManager.AppSettings["ITRIS_PUERTO"]; string ITRIS_CLASE = ConfigurationManager.AppSettings["ITRIS_CLASE_ARTICULO"]; //AUTHENTICATE string ITRIS_USER = ConfigurationManager.AppSettings["ITRIS_USER"]; string ITRIS_PASS = ConfigurationManager.AppSettings["ITRIS_PASS"]; string ITRIS_DATABASE = ConfigurationManager.AppSettings["ITRIS_DATABASE"]; ItrisArticuloResponse responseItris; try { ItrisAuthenticateEntity authenticateEntity = new ItrisAuthenticateEntity(ITRIS_SERVER, ITRIS_PUERTO, ITRIS_CLASE, ITRIS_USER, ITRIS_PASS, ITRIS_DATABASE); ItrisArticuloBusiness itrisArticuloBusiness = new ItrisArticuloBusiness(authenticateEntity); log.Info("Ejecuta itrisArticuloBusiness.Get():"); responseItris = await itrisArticuloBusiness.Get(); log.Info("Respuesta itrisArticuloBusiness.Get(): " + JsonConvert.SerializeObject(responseItris)); response = Request.CreateResponse(HttpStatusCode.Created, responseItris.data); } catch (Exception ex) { log.Error("Mensaje de Error: " + ex.Message); if (ex.InnerException != null) { log.Error("Inner exception: " + ex.InnerException.Message); } response = Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message); } log.Info("Salio"); return(response); }