public static List <Cargar_Pedidos_ConfirmacionResult> Listar_Pedidos_Confirmacion(int idEmpresa, string ruc_empresa) { WmsWCF.WmsWCFClient objWMS = new WmsWCF.WmsWCFClient(); List <Cargar_Pedidos_ConfirmacionResult> LstPedidos = new List <Cargar_Pedidos_ConfirmacionResult>(); try { LstPedidos = objWMS.WmsPedidos_Confirmacion_Listar(idEmpresa, 1, ruc_empresa).ToList(); } catch (Exception ex) { throw ex; } return(LstPedidos); }
//public static void ReadFileFromFTP(int idEmpresa, List<string> files, string RutaOrigen, string RutaSubmit, string RutaFail, string user, string pass) public static void ReadFileFromFTP(int idEmpresa, List <Cargar_Pedidos_ConfirmacionResult> ListaPedido) { List <gsInterfacePedidos_LeerResult> lstPedidos; //string Nombre; int codigoUsuario = 1; int idOrdenVenta; //foreach (Cargar_Pedidos_ConfirmacionResult file in ListaPedido) //{ try { lstPedidos = new List <gsInterfacePedidos_LeerResult>(); foreach (Cargar_Pedidos_ConfirmacionResult file in ListaPedido) { gsInterfacePedidos_LeerResult Pedido = new gsInterfacePedidos_LeerResult(); //Pedido.NroPedido = "30313"; // file.NumeroDeDocumento; // Campos[0]; //Op OV //Pedido.ID_Item = "10210109003514"; //( file.CodigoDeArticulo; // Campos[1]; //Item //Pedido.Lote = "170831-0171-2050"; // file.CodigoDeLote; // Campos[2]; //Lote //Pedido.CantidadPedido = 6; // (decimal)file.UnidadesPedido; // decimal.Parse(Campos[3]); //Cantidad //Pedido.CantidadEntrega = 6; // (decimal)file.UnidadesEntregadas; // int.Parse(Campos[4]); //Cantidad entregada //Pedido.CantidadPendiente = 0; // (decimal)(file.Diferencia); // decimal.Parse(Campos[5]); //Diferencia //Pedido.EstadoPedido = "D"; // file.Anticipado; // Campos[7]; // Estado //Pedido.Id_Amarre = 76851; // decimal.Parse(file.IDDeLinea); // decimal.Parse(Campos[8]); // Id_Amarre //Pedido.TransferidoTabla = "SILPT"; // file.Empresa; //Pedido.Servicio = file.NumeroDeAlbaran; /////////////------------------------------------------------- Pedido.NroPedido = file.NumeroDeDocumento; // Campos[0]; //Op OV Pedido.ID_Item = file.CodigoDeArticulo; // Campos[1]; //Item Pedido.Lote = file.CodigoDeLote; // Campos[2]; //Lote Pedido.CantidadPedido = (decimal)file.UnidadesPedido; // decimal.Parse(Campos[3]); //Cantidad Pedido.CantidadEntrega = (decimal)file.UnidadesEntregadas; // int.Parse(Campos[4]); //Cantidad entregada Pedido.CantidadPendiente = (decimal)(file.Diferencia); // decimal.Parse(Campos[5]); //Diferencia Pedido.EstadoPedido = file.Anticipado; // Campos[7]; // Estado Pedido.Id_Amarre = decimal.Parse(file.IDDeLinea); // decimal.Parse(Campos[8]); // Id_Amarre Pedido.TransferidoTabla = file.Empresa; Pedido.Servicio = file.NumeroDeAlbaran; lstPedidos.Add(Pedido); } lstPedidos = lstPedidos.OrderBy(x => x.Op).ToList(); foreach (gsInterfacePedidos_LeerResult pedido in lstPedidos) { try { WmsWCF.WmsWCFClient objWmsInsert = new WmsWCF.WmsWCFClient(); objWmsInsert.WmsPedidosPendientes_Insertar(idEmpresa, 1, pedido.NroPedido, pedido.ID_Item, pedido.Lote, decimal.Parse(pedido.CantidadPedido.ToString()), decimal.Parse(pedido.CantidadEntrega.ToString()), decimal.Parse(pedido.CantidadPendiente.ToString()), pedido.EstadoPedido, int.Parse(pedido.Id_Amarre.ToString())); //1=SILVESTRE; 2=NEOAGRUM; 6=INATEC //objWmsInsert.WmsPedidosPendientes_UpdateEstilos(idEmpresa, codigoUsuario, pedido.TransferidoTabla, pedido.Servicio); Console.Write("Se registro Op" + pedido.NroPedido + " - " + pedido.Id_Amarre); } catch (Exception ex) { Console.Write("Error: Registrar TXT: " + pedido.NroPedido.ToString() + "-" + pedido.ID_Item.ToString() + ", " + ex.Message.ToString()); } } Console.Write("Se registro los pedidos consumidos."); //---------------------------Pedido-------------------------------- //var lstOpOV = lstPedidos.Select(x => x.NroPedido).Distinct(); foreach (gsInterfacePedidos_LeerResult pedido in lstPedidos) { try { GuiaWCFClient objGuiaVentaWCF = new GuiaWCFClient(); OrdenVentaWCFClient objOrdenVentaWCF = new OrdenVentaWCFClient(); gsOV_BuscarCabeceraResult objOrdenVentaCab; gsOV_BuscarDetalleResult[] objOrdenVentaDet = null; gsGuia_BuscarCabeceraResult objGuiaVentaCab = new gsGuia_BuscarCabeceraResult(); gsGuia_BuscarDetalleResult[] objGuiaVentaDet = null; gsGuia_BuscarDetalleResult objGuiaVentaDetUpdate = null; gsOV_BuscarDetalleResult objOrdenVenta_Linea = null; List <DM.gsItem_BuscarResult> lstProductos = new List <DM.gsItem_BuscarResult>(); gsOV_BuscarImpuestoResult[] lstImpuestos = null; GuiaVenta_LotesItemsResult[] lstLotes = null; bool? bloqueado = false; string mensajeBloqueo = null; AgendaWCFClient objAgendaWCFClient; VBG01134Result objAgendaCliente; decimal?lineaCredito = null; decimal?Id_Amarre = 0; decimal?TC = 0; DateTime?fechaVecimiento = null; Console.Write("OP:" + pedido.NroPedido); objAgendaWCFClient = new AgendaWCFClient(); objAgendaCliente = new VBG01134Result(); idOrdenVenta = int.Parse(pedido.NroPedido.ToString()); objOrdenVentaCab = objOrdenVentaWCF.OrdenVenta_Buscar_Guia(idEmpresa, codigoUsuario, idOrdenVenta, ref objOrdenVentaDet, ref lstImpuestos, ref bloqueado, ref mensajeBloqueo); objAgendaCliente = objAgendaWCFClient.Agenda_BuscarCliente(idEmpresa, codigoUsuario, objOrdenVentaCab.ID_Agenda, ref lineaCredito, ref fechaVecimiento, ref TC); Id_Amarre = pedido.Id_Amarre; objOrdenVenta_Linea = objOrdenVentaDet.ToList().FindAll(x => x.ID_Amarre == Id_Amarre).Single(); int idGuiaOp = 0; int idGuiaOpLinea = 0; int item_id = 0; idGuiaOp = int.Parse(objOrdenVentaCab.OpGuia.ToString()); idGuiaOpLinea = int.Parse(objOrdenVenta_Linea.OpGuia.ToString()); item_id = int.Parse(objOrdenVenta_Linea.Item_ID.ToString()); if (objOrdenVenta_Linea == null) { } else { if (idGuiaOpLinea > 0) { objGuiaVentaCab = objGuiaVentaWCF.GuiaVenta_Buscar(idEmpresa, codigoUsuario, idGuiaOp, ref objGuiaVentaDet, ref bloqueado, ref mensajeBloqueo); } else { objGuiaVentaCab = GuiaVenta_ObtenerCabecera(objOrdenVentaCab, idGuiaOp); objGuiaVentaDet = GuiaVenta_ObtenerDetalle(objOrdenVentaCab, objOrdenVentaDet, idEmpresa, codigoUsuario).ToArray(); } if (idGuiaOp > 0) { lstLotes = objGuiaVentaWCF.GuiaVenta_LotesItemBuscar(idEmpresa, codigoUsuario, int.Parse(idGuiaOp.ToString()), int.Parse(objOrdenVenta_Linea.Item_ID.ToString())); } List <GuiaVenta_LotesItemsResult> LotesUp = new List <GuiaVenta_LotesItemsResult>(); if (lstLotes == null) { LotesUp = new List <GuiaVenta_LotesItemsResult>(); } else { LotesUp = ((GuiaVenta_LotesItemsResult[])lstLotes).ToList(); } objGuiaVentaDetUpdate = GuiaVenta_ObtenerDetalle_Update(objGuiaVentaDet, lstPedidos, Id_Amarre, ref LotesUp, item_id); lstLotes = (GuiaVenta_LotesItemsResult[])LotesUp.ToArray(); try { int Error = 0; int cont = 0; WmsWCF.WmsWCFClient objWmsInsert = new WmsWCF.WmsWCFClient(); List <VBG00971Result> Lista_LoteVar = objGuiaVentaWCF.GuiaVenta_BuscarLotesxItem(idEmpresa, 1, int.Parse(pedido.NroPedido), (int)item_id, (int)objGuiaVentaCab.ID_AlmacenAnexo, (int)pedido.Id_Amarre).ToList(); foreach (VBG00971Result Lote in Lista_LoteVar) { if (Lote.Lote == pedido.Lote) { cont++; break; } } if (cont == 0) { objWmsInsert.WmsPedidosPendientes_Update(idEmpresa, codigoUsuario, pedido.Lote, (int)pedido.Id_Amarre, "F", "No se encuentra Lote para el Item"); } else { try { objGuiaVentaWCF.GuiaVenta_Registrar(idEmpresa, 1, objGuiaVentaCab, objGuiaVentaDetUpdate, decimal.Parse(idGuiaOp.ToString()), lstLotes); objWmsInsert.WmsPedidosPendientes_UpdateEstilos(idEmpresa, codigoUsuario, pedido.TransferidoTabla, pedido.Servicio); objWmsInsert.WmsPedidosPendientes_Update(idEmpresa, codigoUsuario, pedido.Lote, (int)pedido.Id_Amarre, "S", "Se registro correctamente."); } catch (Exception ex) { objWmsInsert.WmsPedidosPendientes_Update(idEmpresa, codigoUsuario, pedido.Lote, (int)pedido.Id_Amarre, "F", "Error, al registrar la Guia."); Console.Write("Error al registrar guias: " + ex.Message.ToString()); } } } catch (Exception ex) { } } } catch (Exception ex) { Console.Write("Error: Registrar Guia: " + pedido.NroPedido.ToString() + "-" + pedido.ID_Item.ToString() + ", " + ex.Message.ToString()); } } ////------------------Mover archivos--------- // //MoverArchivos(RutaOrigen, RutaSubmit, file, user, pass); ////} } catch (Exception ex) { Console.Write("Error: Registrar Guia, " + ex.Message.ToString()); //MoverArchivos(RutaOrigen, RutaFail, file, user, pass); } //} }