public void finishProcessByError(BIANCHI_PROCESS process, String error, String interfaz) { Console.WriteLine("Se produjo el siguiente error: " + error); process.fin = DateTime.Now; process.cant_lineas = 0; process.estado = Constants.ESTADO_ERROR; Console.WriteLine("Actualizamos con estado: " + Constants.ESTADO_ERROR + ", la row de bianchi_process"); Update(process); Console.WriteLine("Desbloqueamos la row de bianchi_process"); UnlockRow(); Console.WriteLine("Finalizamos la ejecucion de la interface: " + interfaz); }
public BIANCHI_PROCESS GetProcessInit(DateTime?fechaUltima, String interfaceName) { BIANCHI_PROCESS obj = new BIANCHI_PROCESS(); obj.inicio = DateTime.Now; obj.maquina = Environment.MachineName; obj.process_id = Process.GetCurrentProcess().Id; obj.fecha_ultima = fechaUltima; obj.interfaz = interfaceName; return(obj); }
public bool Process(DateTime?dateTime) { Console.WriteLine("Comienzo del proceso para la interfaz " + INTERFACE); BIANCHI_PROCESS process = service.FindByName(INTERFACE); if (process == null) { Console.WriteLine("No hay configuracion en BIANCHI_PROCESS para la interface: " + INTERFACE); Console.WriteLine("Finalizamos la ejecucion de la interface: " + INTERFACE); return(false); } /* Inicializamos los datos del proceso */ Console.WriteLine("Inicializando los datos del proceso"); process.inicio = DateTime.Now; process.maquina = Environment.MachineName; process.process_id = System.Diagnostics.Process.GetCurrentProcess().Id; Console.WriteLine("Inicio: " + process.inicio); Console.WriteLine("Maquina: " + process.maquina); Console.WriteLine("Process_id: " + process.process_id); /* Bloquea la row, para que no pueda ser actualizada por otra ejecucion de la misma interface */ Console.WriteLine("Si hay otro proceso ejecutandose para la interface " + INTERFACE + " esperamos a que termine"); Console.WriteLine("Bloqueando la row de BIANCHI_PROCESS, para la interfaz " + INTERFACE); service.LockRow(process.id); /* Obtenemos la fecha */ if (Utils.IsInvalidateDates(dateTime, process.fecha_ultima)) { service.UnlockRow(); return(false); } DateTime lastTime = Utils.GetDateToProcess(dateTime, process.fecha_ultima); /* Convierto DateTime a String */ String lastStringTime = Utils.ConvertDateTimeInString(lastTime); /* Cargamos archivo con parametros propios para cada interface */ Console.WriteLine("Cargamos archivo de configuracion"); if (!FilePropertyUtils.Instance.ReadFile(Constants.PROPERTY_FILE_NAME)) { service.finishProcessByError(process, Constants.FAILED_LOAD_FILE, INTERFACE); return(false); } /* Obtenemos las keys de las URLs del archivo externo */ String[] URLkeys = FilePropertyUtils.Instance.GetKeysArrayString(INTERFACE + "." + Constants.URLS); /* Preparamos la URL con sus parametros y llamamos al servicio */ String urlPath = String.Empty; String user = FilePropertyUtils.Instance.GetValueString(Constants.BASIC_AUTH, Constants.USER); String pass = FilePropertyUtils.Instance.GetValueString(Constants.BASIC_AUTH, Constants.PASS); Console.WriteLine("Usuario del Servicio Rest: " + user); /* Obtenemos las URLs, las armamos con sus parametros, obtenemos los datos y armamos los objetos Clientes */ Dictionary <String, tblSubCliente> diccionary = new Dictionary <string, tblSubCliente>(); foreach (String key in URLkeys) { // Obtenemos las URLs String url = FilePropertyUtils.Instance.GetValueString(INTERFACE + "." + Constants.URLS, key); // Armamos la URL urlPath = clientesUtils.BuildUrl(url, key, lastStringTime); Console.WriteLine("Url: " + urlPath); // Obtenemos los datos String myJsonString = Utils.SendRequest(urlPath, user, pass); // Armamos los objetos Clientes if (!String.Empty.Equals(myJsonString)) { clientesUtils.MappingCliente(myJsonString, key, diccionary); } else { Console.WriteLine("Fallo el llamado al Rest Service"); Console.WriteLine("Finalizamos la ejecucion de la interface: " + INTERFACE); service.UnlockRow(); return(false); } } // LLamando al SP por cada cliente int?tipoProceso = FilePropertyUtils.Instance.GetValueInt(INTERFACE, Constants.NUMERO_INTERFACE); int?tipoMensaje = 0; int codigoCliente = FilePropertyUtils.Instance.GetValueInt(INTERFACE, Constants.NUMERO_CLIENTE); int count = 0; int countError = 0; Console.WriteLine("Codigo de interface: " + tipoProceso); Console.WriteLine("Llamando al SP por cada cliente"); foreach (KeyValuePair <string, tblSubCliente> entry in diccionary) { Console.WriteLine("Procesando cliente: " + entry.Value.subc_codigoCliente); int sub_proc_id = serviceCliente.CallProcedure(tipoProceso, tipoMensaje); entry.Value.subc_proc_id = sub_proc_id; entry.Value.subc_codigo = FilePropertyUtils.Instance.GetValueString(INTERFACE, Constants.NUMERO_CLIENTE); entry.Value.subc_areaMuelle = String.Empty; entry.Value.subc_telefono = String.Empty; try { serviceCliente.Save(entry.Value); } catch (DbEntityValidationException ex) { Console.Error.WriteLine("Error al agregar cliente: " + entry.Value.subc_codigoCliente); foreach (var errors in ex.EntityValidationErrors) { foreach (var validationError in errors.ValidationErrors) { string errorMessage = validationError.ErrorMessage; Console.Error.WriteLine(errorMessage); } } countError++; } catch (Exception ex) { Console.Error.WriteLine("Error desconocido al agregar cliente: " + entry.Value.subc_codigoCliente); Console.Error.WriteLine(ex.Message); countError++; } count++; } Console.WriteLine("Finalizó el proceso de actualización de clientes"); Console.WriteLine(countError + " Clientes no pudieron ser procesados"); /* Agregamos datos faltantes de la tabla de procesos */ Console.WriteLine("Preparamos la actualizamos de BIANCHI_PROCESS"); process.fin = DateTime.Now; process.fecha_ultima = DateTime.Now; process.cant_lineas = count; process.estado = Constants.ESTADO_OK; Console.WriteLine("Fecha_fin: " + process.fin); Console.WriteLine("Cantidad de clientes procesados: " + process.cant_lineas); Console.WriteLine("Estado: " + process.estado); /* Actualizamos la tabla BIANCHI_PROCESS */ Console.WriteLine("Actualizamos BIANCHI_PROCESS"); service.Update(process); /* Liberamos la row, para que la tome otra interface */ Console.WriteLine("Se libera la row de BIANCHI_PROCESS"); service.UnlockRow(); Console.WriteLine("Fin del proceso, para la interfaz " + INTERFACE); Console.WriteLine("Proceso Finalizado correctamente"); return(true); }
public bool Process(DateTime?dateTime) { Console.WriteLine("Comienzo del proceso para la interfaz " + INTERFACE); BIANCHI_PROCESS process = service.FindByName(INTERFACE); if (process == null) { Console.WriteLine("No hay configuracion en BIANCHI_PROCESS para la interface: " + INTERFACE); Console.WriteLine("Finalizamos la ejecucion de la interface: " + INTERFACE); return(false); } /* Inicializamos los datos del proceso */ Console.WriteLine("Inicializando los datos del proceso"); process.inicio = DateTime.Now; process.maquina = Environment.MachineName; process.process_id = System.Diagnostics.Process.GetCurrentProcess().Id; Console.WriteLine("Inicio: " + process.inicio); Console.WriteLine("Maquina: " + process.maquina); Console.WriteLine("Process_id: " + process.process_id); /* Bloquea la row, para que no pueda ser actualizada por otra ejecucion de la misma interface */ Console.WriteLine("Si hay otro proceso ejecutandose para la interface " + INTERFACE + " esperamos a que termine"); Console.WriteLine("Bloqueando la row de BIANCHI_PROCESS, para la interfaz " + INTERFACE); if (!service.LockRow(process.id)) { Console.WriteLine("No se pudo lockear la row para la interface " + INTERFACE + " se cancela la ejecucion"); return(false); } /* Cargamos archivo con parametros propios para cada interface */ Console.WriteLine("Cargamos archivo de configuracion"); if (!FilePropertyUtils.Instance.ReadFile(Constants.PROPERTY_FILE_NAME)) { service.finishProcessByError(process, Constants.FAILED_LOAD_FILE, INTERFACE); return(false); } // INICIO BUSQUEDA DE DATOS String emplazamiento = FilePropertyUtils.Instance.GetValueString(INTERFACE, Constants.EMPLAZAMIENTO); String orderCompany = FilePropertyUtils.Instance.GetValueString(INTERFACE, Constants.ORDER_COMPANY); String lastStatus = FilePropertyUtils.Instance.GetValueString(INTERFACE, Constants.INTERFACE_INFORME_PEDIDO_LAST_STATUS); String nextStatus = FilePropertyUtils.Instance.GetValueString(INTERFACE, Constants.INTERFACE_INFORME_PEDIDO_NEXT_STATUS); String version = FilePropertyUtils.Instance.GetValueString(INTERFACE, Constants.INTERFACE_INFORME_PEDIDO_P554211I_VERSION); int tipoProceso = FilePropertyUtils.Instance.GetValueInt(INTERFACE, Constants.TIPO_PROCESO); var almacenes = FilePropertyUtils.Instance.GetValueArrayString(INTERFACE + "." + Constants.ALMACEN); var tipos = FilePropertyUtils.Instance.GetValueArrayString(INTERFACE + "." + Constants.TIPO); List <tblInformePedido> informes = serviceInformePedido.FindInformes(emplazamiento, almacenes, tipos, tipoProceso); List <InformePedidoJson> jsonList = null; /* Obtenemos usuario y contraseña del archivo para el servicio Rest */ String urlPath = String.Empty; String user = FilePropertyUtils.Instance.GetValueString(Constants.BASIC_AUTH, Constants.USER); String pass = FilePropertyUtils.Instance.GetValueString(Constants.BASIC_AUTH, Constants.PASS); Console.WriteLine("Usuario del Servicio Rest: " + user); /* Obtenemos la URL del archivo */ String url = FilePropertyUtils.Instance.GetValueString(INTERFACE + "." + Constants.URLS, Constants.INTERFACE_ANULACION_REMITO_URL); int count = 0; int countError = 0; Boolean callArchivar; foreach (tblInformePedido informe in informes) { callArchivar = true; String orderType = FilePropertyUtils.Instance.GetValueString(INTERFACE + "." + Constants.INTERFACE_PEDIDOS_LETRA, informe.ipec_letra); jsonList = informePedidoUtils.MappingInforme(informe, orderCompany, orderType, lastStatus, nextStatus, version); if (jsonList.Any()) { Console.WriteLine("Se llevara a cabo el envio al servicio REST de los detalles de la cabecera: " + informe.ipec_proc_id); foreach (InformePedidoJson json in jsonList) { var jsonString = informePedidoUtils.JsonToString(json); Console.WriteLine("Se enviara el siguiente Json al servicio REST: "); Console.WriteLine(jsonString); /* Send request */ if (!(informePedidoUtils.SendRequestPost(url, user, pass, jsonString))) { Console.WriteLine("Se llamara al procedure para informar el error"); serviceInformePedido.CallProcedureInformarEjecucion(informe.ipec_proc_id, InformePedidoUtils.LAST_ERROR, new ObjectParameter("error", typeof(String))); callArchivar = false; countError++; } else { Console.WriteLine("El servicio REST retorno OK:"); Console.WriteLine(jsonString); count++; } } if (callArchivar) { Console.WriteLine("Se llamara al procedure para archivar el informe"); serviceInformePedido.CallProcedureArchivarInformePedido(informe.ipec_proc_id, new ObjectParameter("error", typeof(String))); } } else { Console.WriteLine("No se encontraron detalles para la cabecera: " + informe.ipec_proc_id); } } Console.WriteLine("Finalizó el proceso de envio de anulaciones"); /* Agregamos datos faltantes de la tabla de procesos */ Console.WriteLine("Preparamos los datos a actualizar en BIANCHI_PROCESS"); process.fin = DateTime.Now; process.fecha_ultima = DateTime.Now; process.cant_lineas = count; process.estado = Constants.ESTADO_OK; Console.WriteLine("Fecha_fin: " + process.fin); Console.WriteLine("Cantidad de Recepciones procesadas OK: " + process.cant_lineas); Console.WriteLine("Cantidad de Recepciones procesadas con ERROR: " + countError); Console.WriteLine("Estado: " + process.estado); /* Actualizamos la tabla BIANCHI_PROCESS */ Console.WriteLine("Actualizamos BIANCHI_PROCESS"); service.Update(process); /* Liberamos la row, para que la tome otra interface */ Console.WriteLine("Se libera la row de BIANCHI_PROCESS"); service.UnlockRow(); Console.WriteLine("Fin del proceso, para la interfaz " + INTERFACE); Console.WriteLine("Proceso Finalizado correctamente"); return(true); }
public bool Process(DateTime?dateTime) { Console.WriteLine("Comienzo del proceso para la interfaz " + INTERFACE); BIANCHI_PROCESS process = service.FindByName(INTERFACE); if (process == null) { Console.WriteLine("No hay configuracion en BIANCHI_PROCESS para la interface: " + INTERFACE); Console.WriteLine("Finalizamos la ejecucion de la interface: " + INTERFACE); return(false); } /* Inicializamos los datos del proceso */ Console.WriteLine("Inicializando los datos del proceso"); process.inicio = DateTime.Now; process.maquina = Environment.MachineName; process.process_id = System.Diagnostics.Process.GetCurrentProcess().Id; Console.WriteLine("Inicio: " + process.inicio); Console.WriteLine("Maquina: " + process.maquina); Console.WriteLine("Process_id: " + process.process_id); /* Bloquea la row, para que no pueda ser actualizada por otra ejecucion de la misma interface */ Console.WriteLine("Si hay otro proceso ejecutandose para la interface " + INTERFACE + " esperamos a que termine"); Console.WriteLine("Bloqueando la row de BIANCHI_PROCESS, para la interfaz " + INTERFACE); if (!service.LockRow(process.id)) { Console.WriteLine("No se pudo lockear la row para la interface " + INTERFACE + " se cancela la ejecucion"); return(false); } /* Obtenemos la fecha */ if (Utils.IsInvalidateDates(dateTime, process.fecha_ultima)) { service.finishProcessByError(process, Constants.FAILED_LOAD_DATES, INTERFACE); return(false); } DateTime lastTime = Utils.GetDateToProcess(dateTime, process.fecha_ultima); /* Convierto DateTime a String formato YYYYMMDD */ String lastStringTime = lastStringTime = Utils.ConvertDateTimeInString(lastTime); /* Cargamos archivo con parametros propios para cada interface */ Console.WriteLine("Cargamos archivo de configuracion"); if (!FilePropertyUtils.Instance.ReadFile(Constants.PROPERTY_FILE_NAME)) { service.finishProcessByError(process, Constants.FAILED_LOAD_FILE, INTERFACE); return(false); } /* Obtenemos usuario y contraseña del archivo para el servicio Rest */ String urlPath = String.Empty; String user = FilePropertyUtils.Instance.GetValueString(Constants.BASIC_AUTH, Constants.USER); String pass = FilePropertyUtils.Instance.GetValueString(Constants.BASIC_AUTH, Constants.PASS); Console.WriteLine("Usuario del Servicio Rest: " + user); /* Obtenemos la URL del archivo */ String url = FilePropertyUtils.Instance.GetValueString(INTERFACE + "." + Constants.URLS, Constants.ITEMS_URL); /* Armamos la URL con parametros */ Dictionary <String, String> URLdictionary = new Dictionary <string, string>(); URLdictionary.Add(Constants.PARAM_FECHA, lastStringTime); urlPath = Utils.BuildUrl(url, URLdictionary); Console.WriteLine("URL: " + urlPath); /* Obtenemos los datos */ String myJsonString = Utils.SendRequest(urlPath, user, pass); /* Mapping */ List <ItemDTO> itemDTO = null; Dictionary <String, tblProducto> dictionary = new Dictionary <string, tblProducto>(); if (!String.Empty.Equals(myJsonString)) { itemDTO = itemUtils.MappingJsonRecepcion(myJsonString); if (itemDTO.Any()) { itemUtils.MappingReceptionDTORecepcion(itemDTO, dictionary); } else { service.finishProcessByError(process, Constants.NOT_DATA_FOUND, INTERFACE); return(false); } } else { service.finishProcessByError(process, Constants.FAILED_CALL_REST, INTERFACE); return(false); } int count = 0; int countError = 0; int countAlreadyProcess = 0; int?tipoMensaje = 0; int tipoProceso = FilePropertyUtils.Instance.GetValueInt(INTERFACE, Constants.NUMERO_INTERFACE); int codigoCliente = FilePropertyUtils.Instance.GetValueInt(INTERFACE, Constants.NUMERO_CLIENTE); Console.WriteLine("Codigo de interface: " + tipoProceso); // Validamos si hay que insertar o descartar la recepcion foreach (KeyValuePair <string, tblProducto> entry in dictionary) { // LLamo al SP y seteo su valor a la cabecera y sus detalles int prod_proc_id = serviceProducto.CallProcedure(tipoProceso, tipoMensaje); entry.Value.prod_proc_id = prod_proc_id; Console.WriteLine("Procesando ITEM: " + entry.Value.prod_codigo); if (serviceProducto.Save(entry.Value)) { count++; } else { countError++; } } Console.WriteLine("Finalizó el proceso de actualización de Recepciones"); /* Agregamos datos faltantes de la tabla de procesos */ Console.WriteLine("Preparamos los datos a actualizar en BIANCHI_PROCESS"); process.fin = DateTime.Now; process.fecha_ultima = DateTime.Now; process.cant_lineas = count; process.estado = Constants.ESTADO_OK; Console.WriteLine("Fecha_fin: " + process.fin); Console.WriteLine("Cantidad de Recepciones procesadas OK: " + process.cant_lineas); Console.WriteLine("Cantidad de Recepciones procesadas con ERROR: " + countError); Console.WriteLine("Cantidad de Recepciones evitadas: " + countAlreadyProcess); Console.WriteLine("Estado: " + process.estado); /* Actualizamos la tabla BIANCHI_PROCESS */ Console.WriteLine("Actualizamos BIANCHI_PROCESS"); service.Update(process); /* Liberamos la row, para que la tome otra interface */ Console.WriteLine("Se libera la row de BIANCHI_PROCESS"); service.UnlockRow(); Console.WriteLine("Fin del proceso, para la interfaz " + INTERFACE); Console.WriteLine("Proceso Finalizado correctamente"); return(true); }
public bool Process(DateTime?dateTime) { Console.WriteLine("Comienzo del proceso para la interfaz " + INTERFACE); BIANCHI_PROCESS process = service.FindByName(INTERFACE); if (process == null) { Console.WriteLine("No hay configuracion en BIANCHI_PROCESS para la interface: " + INTERFACE); Console.WriteLine("Finalizamos la ejecucion de la interface: " + INTERFACE); return(false); } /* Inicializamos los datos del proceso */ Console.WriteLine("Inicializando los datos del proceso"); process.inicio = DateTime.Now; process.maquina = Environment.MachineName; process.process_id = System.Diagnostics.Process.GetCurrentProcess().Id; Console.WriteLine("Inicio: " + process.inicio); Console.WriteLine("Maquina: " + process.maquina); Console.WriteLine("Process_id: " + process.process_id); /* Bloquea la row, para que no pueda ser actualizada por otra ejecucion de la misma interface */ Console.WriteLine("Si hay otro proceso ejecutandose para la interface " + INTERFACE + " esperamos a que termine"); Console.WriteLine("Bloqueando la row de BIANCHI_PROCESS, para la interfaz " + INTERFACE); if (!service.LockRow(process.id)) { Console.WriteLine("No se pudo lockear la row para la interface " + INTERFACE + " se cancela la ejecucion"); return(false); } /* Cargamos archivo con parametros propios para cada interface */ Console.WriteLine("Cargamos archivo de configuracion"); if (!FilePropertyUtils.Instance.ReadFile(Constants.PROPERTY_FILE_NAME)) { service.finishProcessByError(process, Constants.FAILED_LOAD_FILE, INTERFACE); return(false); } // INICIO BUSQUEDA DE DATOS String numeroInterfaz = FilePropertyUtils.Instance.GetValueString(INTERFACE, Constants.NUMERO_INTERFACE); String emplazamiento = FilePropertyUtils.Instance.GetValueString(INTERFACE, Constants.EMPLAZAMIENTO); String cliente = FilePropertyUtils.Instance.GetValueString(INTERFACE, Constants.INTERFACE_CLIENTE); String fromStatus = FilePropertyUtils.Instance.GetValueString(INTERFACE, Constants.INTERFACE_PEDIDOS_FROM_STATUS); String toStatus = FilePropertyUtils.Instance.GetValueString(INTERFACE, Constants.INTERFACE_PEDIDOS_TO_STATUS); /* Obtenemos usuario y contraseña del archivo para el servicio Rest */ String urlPath = String.Empty; String user = FilePropertyUtils.Instance.GetValueString(Constants.BASIC_AUTH, Constants.USER); String pass = FilePropertyUtils.Instance.GetValueString(Constants.BASIC_AUTH, Constants.PASS); Console.WriteLine("Usuario del Servicio Rest: " + user); /* Obtenemos la URL del archivo */ String urlPost = FilePropertyUtils.Instance.GetValueString(INTERFACE + "." + Constants.URLS, Constants.INTERFACE_PEDIDOS_URL_POST); /* Obtenemos los tipos de pedidos del archivo externo para llamar a la URL segun tipo */ String[] tiposPedido = FilePropertyUtils.Instance.GetKeysArrayString(INTERFACE + "." + Constants.INTERFACE_PEDIDOS_TIPO_PEDIDO); int countOKPedido = 0; int countErrorPedido = 0; int countAlreadyProcessPedido = 0; int?tipoMensaje = 0; int tipoProceso = FilePropertyUtils.Instance.GetValueInt(INTERFACE, Constants.TIPO_PROCESO); int codigoCliente = FilePropertyUtils.Instance.GetValueInt(INTERFACE, Constants.NUMERO_CLIENTE); Console.WriteLine("Codigo de interface: " + tipoProceso); /* Mapping */ List <PedidoDTO> pedidosDTO = null; Dictionary <string, tblPedido> dictionary = new Dictionary <string, tblPedido>(); /* Armamos la URL con parametros */ PedidoJson json = pedidoUtils.getJson(fromStatus, toStatus, tiposPedido); var jsonString = pedidoUtils.JsonToString(json); Console.WriteLine("Se enviara el siguiente Json al servicio REST: "); Console.WriteLine(jsonString); Console.WriteLine("Se realiza el envio al servicio REST : " + urlPost); pedidosDTO = pedidoUtils.SendRequestPost(urlPost, user, pass, jsonString); if (pedidosDTO.Any()) { pedidoUtils.MappingPedidoDTOPedido(pedidosDTO, dictionary, emplazamiento, cliente); // Validamos si hay que insertar o descartar el pedido foreach (KeyValuePair <string, tblPedido> entry in dictionary) { if (servicePedido.IsAlreadyProcess(entry.Value.pedc_almacen, entry.Value.pedc_tped_codigo, entry.Value.pedc_letra, entry.Value.pedc_sucursal, entry.Value.pedc_numero)) { Console.WriteLine("El pedido " + entry.Value.pedc_numero + " ya fue tratado, no se procesara"); countAlreadyProcessPedido++; } // No está procesada! la voy a guardar else { // LLamo al SP y seteo su valor a la cabecera y sus detalles int recc_proc_id = servicePedido.CallProcedure(tipoProceso, tipoMensaje); entry.Value.pedc_proc_id = recc_proc_id; foreach (tblPedidoDetalle detalle in entry.Value.tblPedidoDetalle) { detalle.pedd_proc_id = recc_proc_id; } Console.WriteLine("Procesando pedido: " + entry.Value.pedc_numero); if (servicePedido.Save(entry.Value)) { countOKPedido++; } else { countErrorPedido++; } } } } else { Console.WriteLine(Constants.FAILED_GETTING_DATA); } Console.WriteLine("Finalizó el proceso de actualización de Pedidos"); /* Agregamos datos faltantes de la tabla de procesos */ Console.WriteLine("Preparamos los datos a actualizar en BIANCHI_PROCESS"); process.fin = DateTime.Now; process.fecha_ultima = process.inicio; process.cant_lineas = countOKPedido; process.estado = Constants.ESTADO_OK; Console.WriteLine("Fecha_fin: " + process.fin); Console.WriteLine("Cantidad de pedidos procesados OK: " + process.cant_lineas); Console.WriteLine("Cantidad de pedidos procesados con ERROR: " + countErrorPedido); Console.WriteLine("Cantidad de pedidos evitados: " + countAlreadyProcessPedido); Console.WriteLine("Estado: " + process.estado); /* Actualizamos la tabla BIANCHI_PROCESS */ Console.WriteLine("Actualizamos BIANCHI_PROCESS"); service.Update(process); /* Liberamos la row, para que la tome otra interface */ Console.WriteLine("Se libera la row de BIANCHI_PROCESS"); service.UnlockRow(); Console.WriteLine("Fin del proceso, para la interfaz " + INTERFACE); Console.WriteLine("Proceso Finalizado correctamente"); return(true); }
public void Update(BIANCHI_PROCESS obj) { dao.Update(obj); }
public void Save(BIANCHI_PROCESS obj) { dao.Save(obj); }