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 Guardar_Click(object sender, EventArgs e) { //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 proxyP = new PedidosWS.PedidosClient(); Pedido resultadoP = proxyP.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 = resultadoP.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 proxyD = new PedidoDetallesWS.PedidoDetallesClient(); PedidoDetalle resultadoD = proxyD.CrearPedidoDetalle(CODCOMPANIA, CODSUCURSALCIA, ANO, NUMEROPEDIDO, NUMEROITEM, CODITEMARTICULO, UNIDADESPEDIDAS, UNIDADESCOMPROMETIDAS, IMPORTEPRECIOUNITARIOSIGV, IMPORTEPRECIOUNITARIOCIGV, IMPORTESUBTOTALBRUTO, PORCENTAJEDESCUENTO, IMPORTESUBTOTALDESCUENTO, IMPORTESUBTOTALNETO, CODESTADOATENCION, CODESTADOREGISTRO, CODUSUARIOCREADOR, FECCREACION, CODUSUARIOUPDATE, FECUPDATE); } MessageBox.Show("Pedido Registrado", "Sistema de Pedidos"); this.Close(); frmListado oFrmListado = new frmListado(); oFrmListado.Show(); }