private void cargarGrillaPedido(E_Pedido pedido) { foreach (E_DetallePedido detPedido in pedido.detalles) { dgDetalle.Rows.Add(new[] { detPedido.codArticulo, detPedido.descripcionArt, detPedido.observacionArt, detPedido.cantidad.ToString(), "X", detPedido.stockActual.ToString() }); } }
public async Task <E_Pedido> CreateOrEditPedido(E_Pedido _Pedido) { var Existe = await _Conexion.PEDIDO.SingleOrDefaultAsync(p => p.PedID == _Pedido.PedID); if (Existe != null) { Existe.PedVrUnit = _Pedido.PedVrUnit; Existe.PedCant = _Pedido.PedCant; Existe.PedSubTot = _Pedido.PedSubTot; Existe.PedIVA = _Pedido.PedIVA; Existe.PedTotal = _Pedido.PedTotal; _Conexion.Entry(Existe).State = EntityState.Modified; } else { Data.PEDIDO Pedido = new Data.PEDIDO { PedUsu = _Pedido.PedUsu, PedProd = _Pedido.PedProd, PedVrUnit = _Pedido.PedVrUnit, PedCant = _Pedido.PedCant, PedSubTot = _Pedido.PedSubTot, PedIVA = _Pedido.PedIVA, PedTotal = _Pedido.PedTotal }; _Conexion.PEDIDO.Add(Pedido); } _Conexion.SaveChanges(); return(_Pedido); }
protected void dgvSubtotal_RowComand(object sender, GridViewCommandEventArgs e) { try { if (e.CommandName == "Cotizar") { E_Cotizacion objE_Cot = new E_Cotizacion(); D_Cotizacion objD_Cot = new D_Cotizacion(); C_Cotizacion objC_Cot = new C_Cotizacion(); double preTotal = Convert.ToDouble(dgvSubtotal.DataKeys[Convert.ToInt32(e.CommandArgument)].Values["SubTotal"].ToString()); double desc = Convert.ToDouble(txtDescuento.Text); string nom = txtNombreCot.Text; objE_Cot.PreTotal1 = preTotal; objE_Cot.Descuento1 = Convert.ToDouble(txtDescuento.Text.Trim()); objE_Cot.Total1 = (preTotal - (preTotal * (Convert.ToDouble(txtDescuento.Text.Trim()) / 100))); objE_Cot.NombreCotizacion1 = txtNombreCot.Text.Trim(); if (desc.ToString() == null) { throw new Exception("Ingrese el descuento"); } if (desc <= 0) { throw new Exception("El descuento debe ser mayor a cero."); } if (txtNombreCot.Text == "") { throw new Exception("Ingrese un nombre a la cotización"); } camposCot(); objC_Cot.insertarCotizacion(objE_Cot); ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "Notificacion('Ok','Se registró correctamente la cotización','success')", true); } else if (e.CommandName == "Finalizar") { D_Cotizacion objD_Cot = new D_Cotizacion(); D_Pedido objD_Ped = new D_Pedido(); E_Pedido objE_Ped = new E_Pedido(); String idPedido = (Session["pedido"] == null) ? null : Session["pedido"].ToString(); objE_Ped.IdPedido1 = Convert.ToInt32(Session["pedido"]); objD_Ped.actualizarPedido(objE_Ped); dgvTotal.DataSource = objD_Cot.TotalCotizar(); dgvTotal.DataBind(); ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "Notificacion('Ok','Se finalizó la cotización.','success')", true); } } catch (Exception ex) { ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "Notificacion('Error','" + ex.Message + "','error')", true); } }
public async Task <IHttpActionResult> PostCreateOrEditPedido(E_Pedido ModelPedido) { try { return(Json(await _Pedido.CreateOrEditPedido(ModelPedido))); } catch (Exception ex) { throw ex; } }
//private void calcularPrecio(Int32 indexRow) //{ // //obtengo la cantidad // Int32 cantidad = Convert.ToInt32(dgDetalle.Rows[indexRow].Cells[colCantidad.Index].Value); // //obtengo el precio // decimal precio = Convert.ToDecimal(dgDetalle.Rows[indexRow].Cells[colPrecio.Index].Value); // //calculo el total // decimal total = cantidad * precio; // //cambio el toal de la celda // dgDetalle.Rows[indexRow].Cells[4].Value = total; // txtNeto.Text = calcularPrecioNeto().ToString(); //} //private decimal calcularPrecioNeto() //{ // decimal precioTotal = 0; // if (dgDetalle.Rows.Count != 0) // { // foreach (DataGridViewRow fila in dgDetalle.Rows) // { // precioTotal += Convert.ToDecimal(fila.Cells[colTotal.Index].Value); //celda precio final // } // } // return precioTotal; //} //private decimal calcularDescuento() //{ // decimal totalDescuento = 0; // if (!string.IsNullOrEmpty(txtDescuento.Text) && !string.IsNullOrEmpty(txtNeto.Text)) // { // decimal descuento = Convert.ToDecimal(txtDescuento.Text); // decimal precioNeto = Convert.ToDecimal(txtNeto.Text); // if (cboTipDescuento.SelectedIndex == 0)//% // { // totalDescuento = descuento * precioNeto / 100; // } // else//$ // { // totalDescuento = descuento; // } // } // return totalDescuento; //} //private decimal calcularTotalCompra() //{ // decimal descuento = calcularDescuento(); // decimal neto = calcularPrecioNeto(); // decimal totalVenta = neto - descuento; // txtNeto.Text = neto.ToString(); // txtDescVenta.Text = descuento.ToString(); // txtTotalVenta.Text = totalVenta.ToString(); // //calcular el total de articulos // Int16 cantArticulo = 0; // foreach (DataGridViewRow filaDetalle in dgDetalle.Rows) // { // cantArticulo += Convert.ToInt16(filaDetalle.Cells[colCantidad.Index].Value); // } // txtCantArticulo.Text = cantArticulo.ToString(); // return totalVenta; //} private Boolean generarPedido() { Boolean xConf = false; if (dgDetalle.Rows.Count == 0) { return(xConf); } E_Pedido pedido = new E_Pedido(); //Cargar cabecera pedido.proveedor.idProveedor = _idProveedor; pedido.proveedor.raSocial = txtDescripcion.Text; pedido.condPago.idCondPago = ((ComboItem)cboCondPago.SelectedItem).Id; pedido.cuit = txtCuitDni.Text; pedido.fecha = dtFecVenta.Value;; pedido.observacion = txtObservacion.Text; pedido.vendedor.idVendedor = ((ComboItem)cboVendedor.SelectedItem).Id; pedido.direccion = txtDireccion.Text; pedido.anular = false; pedido.estadoPedido.idEstado = E_EstadoPedido.PENDIENTE; //compra.precioTotal = calcularTotalCompra(); //Cargar detalle foreach (DataGridViewRow filaDetalle in dgDetalle.Rows) { E_DetallePedido detalle = new E_DetallePedido(); detalle.codArticulo = filaDetalle.Cells[colCodArticulo.Index].Value.ToString(); detalle.descripcionArt = filaDetalle.Cells[colDescripcion.Index].Value.ToString(); detalle.observacionArt = filaDetalle.Cells[colObservacion.Index].Value.ToString(); detalle.cantidad = Convert.ToInt16(filaDetalle.Cells[colCantidad.Index].Value); pedido.detalles.Add(detalle); } N_Pedido nPedido = new N_Pedido(); string xRet = nPedido.addPedido(pedido); if (xRet != "0") { xConf = false; } else { xConf = true; } return(xConf); }
public void actualizarPedido(E_Pedido objE_Ped) { try { mCm = new SqlCommand("SP_ActualizarPedido", conexion); mCm.CommandType = CommandType.StoredProcedure; mCm.Parameters.AddWithValue("@IdPedido", objE_Ped.IdPedido1); conexion.Open(); mCm.ExecuteNonQuery(); conexion.Close(); } catch (Exception ex) { throw ex; } }
private void btnConfirmar_Click(object sender, EventArgs e) { if (dgDetalle.Rows.Count > 0) { E_Pedido pedido = new E_Pedido(); pedido.codPedido = Convert.ToInt64(txtCodPedido.Text); pedido.observacion = txtObservacion.Text; foreach (DataGridViewRow filaDetalle in dgDetalle.Rows) { E_DetallePedido detalle = new E_DetallePedido(); detalle.codArticulo = filaDetalle.Cells[colCodArticulo.Index].Value.ToString(); detalle.descripcionArt = filaDetalle.Cells[colDescripcion.Index].Value.ToString(); detalle.observacionArt = filaDetalle.Cells[colObservacion.Index].Value.ToString(); detalle.cantidad = Convert.ToInt16(filaDetalle.Cells[colCantidad.Index].Value); pedido.detalles.Add(detalle); } frmConfPedido frmConf = new frmConfPedido(); frmConf.ShowDialog(); if (_fecEntrega != null) // si se confirmo { N_Pedido nPedido = new N_Pedido(); pedido.fecEntrega = _fecEntrega; Boolean xConf = nPedido.confirmarPedido(pedido); if (xConf) { lblInfoAnular.Text = "Pedido Confirmado. Fecha de Entrega: " + _fecEntrega; lblInfoAnular.Visible = true; lblInfoAnular.ForeColor = Color.Blue; dgDetalle.Enabled = false; btnConfirmar.Visible = false; } _fecEntrega = null; // vuelvo la fecha a null porque es static } } else { MessageBox.Show("¡No se ha cargado ningun artículo al detalle!", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
public List <E_Pedido> getAll_Pedido(DateTime fecDesde, DateTime fecHasta, string filtro, string estado) { List <E_Pedido> Pedidos = new List <E_Pedido>(); try { cn.Open(); cmd = new SqlCommand("getAllPedido", cn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@filtro", filtro); cmd.Parameters.AddWithValue("@fecDesde", fecDesde); cmd.Parameters.AddWithValue("@fecHasta", fecHasta); cmd.Parameters.AddWithValue("@estado", estado); SqlDataReader oReader = cmd.ExecuteReader(); while (oReader.Read()) { E_Pedido pedido = new E_Pedido(); pedido.codPedido = Convert.ToInt64(oReader["codPedido"]); pedido.proveedor.raSocial = oReader["RaSocial"].ToString(); pedido.cantidadArt = Convert.ToInt32(oReader["cantidad"]); pedido.fecha = Convert.ToDateTime(oReader["fecPedido"]); pedido.estadoPedido.idEstado = Convert.ToInt32(oReader["idEstado"]); Pedidos.Add(pedido); } } catch (Exception e) { Pedidos = null; } finally { if (cn.State == ConnectionState.Open) { cn.Close(); } } return(Pedidos); }
public Boolean confirmar_Pedido(E_Pedido pedido) { Boolean xConf = true; try { using (TransactionScope scope = new TransactionScope()) // creo el objeto para relizar la trsasaccion { cn.Open(); //abro la conexion //confirmar el pedido string confSql = "UPDATE Pedidos SET idEstado = @idEstado ,fecEntrega = @fecEntrega,observacion = @observacion WHERE codPedido = @codPedido"; cmd = new SqlCommand(confSql, cn); cmd.Parameters.AddWithValue("@idEstado", E_EstadoPedido.CONFIRMADO); cmd.Parameters.AddWithValue("@codPedido", pedido.codPedido); cmd.Parameters.AddWithValue("@fecEntrega", pedido.fecEntrega); cmd.Parameters.AddWithValue("@observacion", pedido.observacion); cmd.ExecuteScalar(); // borro el el detalle del pedido porque se puedo a ver modificado string borrarDetalle = "DELETE FROM DetallePedido WHERE codPedido=@codPedido"; cmd = new SqlCommand(borrarDetalle, cn); cmd.Parameters.AddWithValue("@codPedido", pedido.codPedido); cmd.ExecuteScalar(); //genero el nuevo detalle foreach (E_DetallePedido detalle in pedido.detalles) { string detalleSql = "INSERT INTO DetallePedido(codPedido,cantidad,codArticulo,descripcionArt,observacionArt) " + "VALUES (@codPedido,@cantidad,@codArticulo,@descripcionArt,@observacionArt)"; cmd = new SqlCommand(detalleSql, cn); cmd.Parameters.AddWithValue("@codPedido", pedido.codPedido); cmd.Parameters.AddWithValue("@cantidad", detalle.cantidad); cmd.Parameters.AddWithValue("@codArticulo", detalle.codArticulo); cmd.Parameters.AddWithValue("@descripcionArt", detalle.descripcionArt); cmd.Parameters.AddWithValue("@observacionArt", detalle.observacionArt); cmd.ExecuteScalar(); //modificar el stock de los articulos string consSql = " INSERT INTO StockArticulo(codArticulo,fecha,stockActual,codPedido) " + "VALUES(@codArticulo,@fecha,@stock,@codPedido) "; cmd = new SqlCommand(consSql, cn); Int32 stockModif = detalle.stockActual + detalle.cantidad; cmd.Parameters.AddWithValue("@codArticulo", detalle.codArticulo); cmd.Parameters.AddWithValue("@fecha", pedido.fecEntrega); cmd.Parameters.AddWithValue("@stock", stockModif); cmd.Parameters.AddWithValue("@codPedido", pedido.codPedido); cmd.ExecuteScalar(); //actualizar el campo del stock de la venta consSql = "UPDATE Articulos SET Articulos.stock = @stock where Articulos.codArticulo = @codArticulo"; cmd = new SqlCommand(consSql, cn); cmd.Parameters.AddWithValue("@stock", stockModif); cmd.Parameters.AddWithValue("@codArticulo", detalle.codArticulo); cmd.ExecuteScalar(); } cmd.ExecuteScalar(); scope.Complete(); } } catch (Exception e) { xConf = false; } finally { } return(xConf); }
public string add_Pedido(E_Pedido pedido) { string xRet = "0"; try { using (TransactionScope scope = new TransactionScope()) // creo el objeto para relizar la trsasaccion { cn.Open(); //abro la conexion //crear cabecera del Pedido string PedidoSql = "INSERT INTO Pedidos(fecPedido,idProveedor,idVendedor,idCondPago,direccion,CUIT,observacion,idEstado) " + "VALUES(@fecPedido,@idProveedor,@idVendedor,@idCondPago,@direccion,@CUIT,@observacion,@idEstado) " + "SELECT SCOPE_IDENTITY()"; cmd = new SqlCommand(PedidoSql, cn); cmd.Parameters.AddWithValue("@idProveedor", pedido.proveedor.idProveedor); cmd.Parameters.AddWithValue("@idVendedor", pedido.vendedor.idVendedor); cmd.Parameters.AddWithValue("@anular", pedido.anular); cmd.Parameters.AddWithValue("@idCondPago", pedido.condPago.idCondPago); cmd.Parameters.AddWithValue("@direccion", pedido.direccion); cmd.Parameters.AddWithValue("@CUIT", pedido.cuit); cmd.Parameters.AddWithValue("@observacion", pedido.observacion); cmd.Parameters.AddWithValue("@fecPedido", pedido.fecha); cmd.Parameters.AddWithValue("idEstado", pedido.estadoPedido.idEstado); Int64 codPedido = 0; codPedido = Convert.ToInt64(cmd.ExecuteScalar()); //crear el detalle de la venta foreach (E_DetallePedido detalle in pedido.detalles) { string detalleSql = "INSERT INTO DetallePedido(codPedido,cantidad,codArticulo,descripcionArt,observacionArt) " + "VALUES (@codPedido,@cantidad,@codArticulo,@descripcionArt,@observacionArt)"; cmd = new SqlCommand(detalleSql, cn); cmd.Parameters.AddWithValue("@codPedido", codPedido); cmd.Parameters.AddWithValue("@cantidad", detalle.cantidad); cmd.Parameters.AddWithValue("@codArticulo", detalle.codArticulo); cmd.Parameters.AddWithValue("@descripcionArt", detalle.descripcionArt); cmd.Parameters.AddWithValue("@observacionArt", detalle.observacionArt); cmd.ExecuteScalar(); } // confirmar la trasaccion scope.Complete(); } } catch (Exception e) { xRet = e.Message; } finally { if (cn.State == ConnectionState.Open) { cn.Close(); } } return(xRet); }
public E_Pedido getOne_Pedido(Int64 codPedido) { E_Pedido pedido = new E_Pedido(); try { cn.Open(); //Obtener la cabecera de la venta cmd = new SqlCommand("getOnePedido", cn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@codPedido", codPedido); SqlDataReader oReaderPedido = cmd.ExecuteReader(); while (oReaderPedido.Read()) { pedido.codPedido = Convert.ToInt64(oReaderPedido["codPedido"]); pedido.fecha = Convert.ToDateTime(oReaderPedido["fecPedido"]); pedido.vendedor.idVendedor = Convert.ToInt64(oReaderPedido["idVendedor"]); pedido.estadoPedido.idEstado = Convert.ToInt32(oReaderPedido["idEstado"]); pedido.condPago.idCondPago = Convert.ToInt64(oReaderPedido["idCondPago"]); pedido.proveedor.idProveedor = Convert.ToInt64(oReaderPedido["idProveedor"]); pedido.direccion = oReaderPedido["direccion"].ToString(); pedido.cuit = oReaderPedido["cuit"].ToString(); pedido.observacion = oReaderPedido["observacion"].ToString(); if (oReaderPedido["fecEntrega"] != DBNull.Value) { pedido.fecEntrega = Convert.ToDateTime(oReaderPedido["fecEntrega"]); } } oReaderPedido.Close(); //Detalle de la pedido cmd = new SqlCommand("getOneDetallePedido", cn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@codPedido", pedido.codPedido); SqlDataReader oReaderDetalle = cmd.ExecuteReader(); while (oReaderDetalle.Read()) { E_DetallePedido detPedido = new E_DetallePedido(); detPedido.idDetalle = Convert.ToInt64(oReaderDetalle["idDetalle"]); detPedido.codArticulo = oReaderDetalle["codArticulo"].ToString(); detPedido.descripcionArt = oReaderDetalle["descripcionArt"].ToString(); detPedido.observacionArt = oReaderDetalle["observacionArt"].ToString(); detPedido.cantidad = Convert.ToInt16(oReaderDetalle["cantidad"]); pedido.detalles.Add(detPedido); } } catch (Exception e) { pedido = null; } finally { if (cn.State == ConnectionState.Open) { cn.Close(); } } return(pedido); }
private void consultarPedido(Int64 codPedido) { N_Pedido nPedido = new N_Pedido(); E_Pedido pedido = nPedido.getOnePedido(codPedido); //por si anula la venta //_VentaAnular = pedido; posicionarCbo(pedido.vendedor.idVendedor, pedido.condPago.idCondPago); //si esta anulada la venta if (pedido.anular) // si esta anulada la venta { //lblInfoAnular.Visible = true; } else // si no esta anulada { //mostrar el boton anular //btnAnularVenta.Visible = true; } //cabecera cboVendedor.Enabled = false; dtFecVenta.Enabled = false; txtIdProveedor.Enabled = false; txtDescripcion.ReadOnly = true; txtDireccion.ReadOnly = true; txtCuitDni.ReadOnly = true; cboCondPago.Enabled = false; txtObservacion.ReadOnly = true; btnBuscar.Enabled = false; if (pedido.estadoPedido.idEstado == E_EstadoPedido.PENDIENTE) { btnConfirmar.Visible = true; btnAnular.Visible = true; } else if (pedido.estadoPedido.idEstado == E_EstadoPedido.CONFIRMADO) { btnAnular.Visible = false; dgDetalle.Enabled = false; lblInfoAnular.Text = "Pedido Confirmado. Fecha de Entrega: " + pedido.fecEntrega.Value.Date.ToString("dd/MM/yyyy"); lblInfoAnular.Visible = true; lblInfoAnular.ForeColor = Color.Blue; } else if (pedido.estadoPedido.idEstado == E_EstadoPedido.ANULADO) { lblInfoAnular.Visible = true; dgDetalle.Enabled = false; } txtIdProveedor.Text = pedido.proveedor.idProveedor.ToString(); txtCodPedido.Text = pedido.codPedido.ToString(); txtObservacion.Text = pedido.observacion; //piso la direccion y el cuit buscarProveedor(); txtDireccion.Text = pedido.direccion; txtCuitDni.Text = pedido.cuit; //botones btnAgrArticulo.Visible = false; btnCancelar.Visible = false; btnGenerarPedido.Visible = false; //datagrid cargarGrillaPedido(pedido); //btnPrimir btnImprimir.Visible = true; }
public Boolean confirmarPedido(E_Pedido pedido) { BD_Pedido bdPedido = new BD_Pedido(); return(bdPedido.confirmar_Pedido(pedido)); }
public string addPedido(E_Pedido pedido) { BD_Pedido bdPedido = new BD_Pedido(); return(bdPedido.add_Pedido(pedido)); }
public frmConfVenta(E_Pedido compra, string frmSuperior) { InitializeComponent(); _frmSuperior = frmSuperior; _compra = compra; }