private void frmCliente_Load(object sender, EventArgs e) { //OBTIENE EL LISTADO DE CLIENTES REGISTRADOS //A TRAVES DEL SERVICIO SOAP CLIENTES - ListarClientes() ClientesServiceReference.ClientesClient client = new ClientesServiceReference.ClientesClient(); dataGridView1.DataSource = client.ListarClientes(); dataGridView1.Columns["RUC"].DisplayIndex = 1; dataGridView1.Columns["RUC"].HeaderText = "Número RUC"; dataGridView1.Columns["RUC"].Width = 100; dataGridView1.Columns["RUC"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; dataGridView1.Columns["RazonSocial"].DisplayIndex = 0; dataGridView1.Columns["RazonSocial"].HeaderText = "Razón Social"; dataGridView1.Columns["RazonSocial"].Width = 200; dataGridView1.Columns["Correo"].DisplayIndex = 2; dataGridView1.Columns["Correo"].HeaderText = "Correo Electrónico"; dataGridView1.Columns["Correo"].Width = 200; dataGridView1.Columns[0].Visible = false; dataGridView1.CurrentCell = dataGridView1.Rows[0].Cells[1]; }
private void Guardar_Click(object sender, EventArgs e) { if (txtCodigoCliente.Text == "") { MessageBox.Show("Debe seleccionar el Cliente", "Sistema de Pedidos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { if (dataGridView1.Rows.Count == 1) { MessageBox.Show("Debe agregar Productos al Pedido", "Sistema de Pedidos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { try { //Verificamos datos del cliente int CodCliente = Convert.ToInt32(txtCodigoCliente.Text); ClientesServiceReference.ClientesClient proxyCliente = new ClientesServiceReference.ClientesClient(); Cliente resultadoCliente = proxyCliente.ObtenerCliente(CodCliente); VerificarRUCServiceReference.VerificaDocumentoClient proxyRUC = new VerificarRUCServiceReference.VerificaDocumentoClient(); bool validaRUC = proxyRUC.VerificaRUC(resultadoCliente.RUC); if (!validaRUC) { throw new System.ArgumentException("Cliente : " + Convert.ToString(resultadoCliente.RazonSocial) + "\r" + "\n" + "No tiene número de RUC válido" + "\r" + "\n" + "Por favor verificar en Sunat"); } //Verificamos existencia de Stocks foreach (DataGridViewRow row in dataGridView1.Rows) { int NUMEROITEM = Convert.ToInt32(row.Cells["colItem"].Value); if (NUMEROITEM == 0) { break; } int CodigoItemPedido = Convert.ToInt32(row.Cells["colCodigo"].Value); int CantidadItemPedido = Convert.ToInt32(row.Cells["colCantidad"].Value); StocksServiceReference.StocksClient proxyStock = new StocksServiceReference.StocksClient(); Stock resultadoStock = proxyStock.ObtenerStock(CodigoItemPedido); if (CantidadItemPedido > resultadoStock.StockActual) { throw new System.ArgumentException("Producto : " + row.Cells["colDescripcion"].Value + "\r" + "\n" + "No hay Stock suficiente para completar el pedido" + "\r" + "\n" + "Stock Actual : " + Convert.ToString(resultadoStock.StockActual) + " Unidades"); } } //variables para completar cabecera int CODCOMPANIA = 1; int CODSUCURSALCIA = 1; int ANO = 2015; DateTime FECPEDIDO = Convert.ToDateTime(this.dateTimePicker1.Value); int CODCLIENTE = Convert.ToInt32(txtCodigoCliente.Text); int CODSUCURSAL = 1; string CODUSUARIOVENDEDOR = "VENDEDOR"; int CODDOCUMENTOFACTURACION = 1; string NUMEROORDENCOMPRA = "A001"; int CODMONEDA = 1; double IMPORTETOTALBRUTO = Convert.ToDouble(txtSubTotal.Text); double IMPORTETOTALDESCUENTO = 0.00; double PORCENTAJEIGV = 18.00; double IMPORTETOTALIGV = Convert.ToDouble(txtIGV.Text); double IMPORTETOTALNETO = Convert.ToDouble(txtTotal.Text); int CODESTADOATENCION = 1; int CODALMACEN = 1; int CODESTADOREGISTRO = 1; string CODUSUARIOCREADOR = "CREADOR"; DateTime FECCREACION = Convert.ToDateTime(this.dateTimePicker1.Value); string CODUSUARIOUPDATE = "ACTUALIZADOR"; DateTime FECUPDATE = Convert.ToDateTime(this.dateTimePicker1.Value); PedidosWS.PedidosClient proxyPedido = new PedidosWS.PedidosClient(); Pedido resultadoPedido = proxyPedido.CrearPedido(CODCOMPANIA, CODSUCURSALCIA, ANO, FECPEDIDO, CODCLIENTE, CODSUCURSAL, CODUSUARIOVENDEDOR, CODDOCUMENTOFACTURACION, NUMEROORDENCOMPRA, CODMONEDA, IMPORTETOTALBRUTO, IMPORTETOTALDESCUENTO, PORCENTAJEIGV, IMPORTETOTALIGV, IMPORTETOTALNETO, CODESTADOATENCION, CODALMACEN, CODESTADOREGISTRO, CODUSUARIOCREADOR, FECCREACION, CODUSUARIOUPDATE, FECUPDATE); int NUMEROPEDIDO = resultadoPedido.NumeroPedido; //variables para completar detalle foreach (DataGridViewRow row in dataGridView1.Rows) { int NUMEROITEM = Convert.ToInt32(row.Cells["colItem"].Value); if (NUMEROITEM == 0) { break; } int CODITEMARTICULO = Convert.ToInt32(row.Cells["colCodigo"].Value); int UNIDADESPEDIDAS = Convert.ToInt32(row.Cells["colCantidad"].Value); int UNIDADESCOMPROMETIDAS = Convert.ToInt32(row.Cells["colCantidad"].Value); double IMPORTEPRECIOUNITARIOSIGV = Convert.ToDouble(row.Cells["colPrecio"].Value); double IMPORTEPRECIOUNITARIOCIGV = Convert.ToDouble(row.Cells["colPrecio"].Value) * 1.18; double IMPORTESUBTOTALBRUTO = Convert.ToDouble(row.Cells["colTotal"].Value); double PORCENTAJEDESCUENTO = 0.00; double IMPORTESUBTOTALDESCUENTO = 0.00; double IMPORTESUBTOTALNETO = Convert.ToDouble(row.Cells["colTotal"].Value); PedidoDetallesWS.PedidoDetallesClient proxyDetalle = new PedidoDetallesWS.PedidoDetallesClient(); PedidoDetalle resultadoDetalle = proxyDetalle.CrearPedidoDetalle(CODCOMPANIA, CODSUCURSALCIA, ANO, NUMEROPEDIDO, NUMEROITEM, CODITEMARTICULO, UNIDADESPEDIDAS, UNIDADESCOMPROMETIDAS, IMPORTEPRECIOUNITARIOSIGV, IMPORTEPRECIOUNITARIOCIGV, IMPORTESUBTOTALBRUTO, PORCENTAJEDESCUENTO, IMPORTESUBTOTALDESCUENTO, IMPORTESUBTOTALNETO, CODESTADOATENCION, CODESTADOREGISTRO, CODUSUARIOCREADOR, FECCREACION, CODUSUARIOUPDATE, FECUPDATE); //Actualizamos existencia de Stocks StocksServiceReference.StocksClient proxyStock = new StocksServiceReference.StocksClient(); Stock resultadoS = proxyStock.ObtenerStock(CODITEMARTICULO); Stock actualizaS = proxyStock.ModificarStock(CODITEMARTICULO, resultadoS.StockActual - UNIDADESPEDIDAS); } MessageBox.Show("Pedido Registrado OK!", "Sistema de Pedidos", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); frmListado oFrmListado = new frmListado(); oFrmListado.Show(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Sistema de Pedidos", MessageBoxButtons.OK, MessageBoxIcon.Stop); } } } }
private void frmCliente_Load(object sender, EventArgs e) { ClientesServiceReference.ClientesClient client = new ClientesServiceReference.ClientesClient(); dataGridView1.DataSource = client.ListarClientes(); }