Example #1
0
 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() });
     }
 }
Example #2
0
        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);
        }
Example #3
0
        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);
            }
        }
Example #4
0
 public async Task <IHttpActionResult> PostCreateOrEditPedido(E_Pedido ModelPedido)
 {
     try
     {
         return(Json(await _Pedido.CreateOrEditPedido(ModelPedido)));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Example #5
0
        //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);
        }
Example #6
0
        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;
            }
        }
Example #7
0
        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);
            }
        }
Example #8
0
        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);
        }
Example #9
0
        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);
        }
Example #10
0
        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);
        }
Example #11
0
        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);
        }
Example #12
0
        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;
        }
Example #13
0
        public Boolean confirmarPedido(E_Pedido pedido)
        {
            BD_Pedido bdPedido = new BD_Pedido();

            return(bdPedido.confirmar_Pedido(pedido));
        }
Example #14
0
        public string addPedido(E_Pedido pedido)
        {
            BD_Pedido bdPedido = new BD_Pedido();

            return(bdPedido.add_Pedido(pedido));
        }
Example #15
0
 public frmConfVenta(E_Pedido compra, string frmSuperior)
 {
     InitializeComponent();
     _frmSuperior = frmSuperior;
     _compra      = compra;
 }