コード例 #1
0
        protected void btnGrabar_Click(object sender, EventArgs e)
        {
            DetallePedido pedido =
                new DetallePedido((DataTable)Session["carrito"]);

            DataHojaPedido hojaPedido = new DataHojaPedido();

            hojaPedido.CodCli          = Session["usuarioNombre"].ToString();
            hojaPedido.CodVend         = "rtapara";
            hojaPedido.TipoComprobante = cbTipoComprobante.Text;
            hojaPedido.FecPedido       = DateTime.Now;

            hojaPedido.FormaPago   = cbFormaPago.Text;
            hojaPedido.TipoTarjeta = cbTipoTarjeta.Text;
            hojaPedido.Estado      = "Pendiente";
            hojaPedido.CodPais     = "001";
            hojaPedido.CodDept     = "P001";
            hojaPedido.CodProv     = "PR01";
            hojaPedido.CodDis      = "PD02";

            if (cbTipoEmtrega.Text == "Delivery")
            {
                hojaPedido.FecEntrega = Convert.ToDateTime(txtFechaEntrega.Text);
            }
            else
            {
                hojaPedido.FecEntrega = DateTime.Now;
            }
            if (cbFormaPago.Text == "")
            {
                ClientScript.RegisterStartupScript(typeof(Page), "Mensaje",
                                                   "<script language=JavaScript>alert('Seleccione la forma de pago');</script>");
            }
            else if (cbTipoComprobante.Text == "")
            {
                ClientScript.RegisterStartupScript(typeof(Page), "Mensaje",
                                                   "<script language=JavaScript>alert('Seleccione el tipo de comprobante');</script>");
            }
            else if (cbTipoEmtrega.Text == "")
            {
                ClientScript.RegisterStartupScript(typeof(Page), "Mensaje",
                                                   "<script language=JavaScript>alert('Seleccione el tipo de entrega');</script>");
            }
            else if (cbTipoTarjeta.Text == "")
            {
                ClientScript.RegisterStartupScript(typeof(Page), "Mensaje",
                                                   "<script language=JavaScript>alert('Seleccione el tipo de tarjeta');</script>");
            }
            else
            {
                string   mensaje = pedido.GrabarPedido(hojaPedido);
                Producto pro     = new Producto();
                pro.actualizar_stock(Convert.ToInt16(lblCodigo.Text), Convert.ToInt16(txtCantidad.Text));

                ClientScript.RegisterStartupScript(typeof(Page), "Mensaje",
                                                   "<script language=JavaScript>alert('" + mensaje + "');</script>");
            }
        }
コード例 #2
0
    public string GrabarPedido(DataHojaPedido hojaPedido)
    {
        int    x = Autogenerado();
        string msg;

        cn.getCN.Open();
        SqlTransaction tr  = cn.getCN.BeginTransaction(IsolationLevel.Serializable);
        SqlCommand     cmd = new SqlCommand(
            "usp_insertar_hoja_pedido", cn.getCN, tr);

        cmd.CommandType = CommandType.StoredProcedure;

        cmd.Parameters.Add("@cod", SqlDbType.Int).Value               = x;
        cmd.Parameters.Add("@cod_cli", SqlDbType.Char).Value          = hojaPedido.CodCli;
        cmd.Parameters.Add("@cod_ven", SqlDbType.Char).Value          = hojaPedido.CodVend;
        cmd.Parameters.Add("@tipoCompro", SqlDbType.VarChar).Value    = hojaPedido.TipoComprobante;
        cmd.Parameters.Add("@fechaPedido", SqlDbType.DateTime).Value  = hojaPedido.FecPedido;
        cmd.Parameters.Add("@fechaEntrega", SqlDbType.DateTime).Value = hojaPedido.FecEntrega;
        cmd.Parameters.Add("@formaPago", SqlDbType.VarChar).Value     = hojaPedido.FormaPago;
        cmd.Parameters.Add("@tipoTarjeta", SqlDbType.VarChar).Value   = hojaPedido.TipoTarjeta;
        cmd.Parameters.Add("@estado", SqlDbType.VarChar).Value        = hojaPedido.Estado;
        cmd.Parameters.Add("@idPais", SqlDbType.Char).Value           = hojaPedido.CodPais;
        cmd.Parameters.Add("@codDpto", SqlDbType.Char).Value          = hojaPedido.CodDept;
        cmd.Parameters.Add("@codProv", SqlDbType.Char).Value          = hojaPedido.CodProv;
        cmd.Parameters.Add("@codDis", SqlDbType.Char).Value           = hojaPedido.CodDis;

        try
        {
            cmd.ExecuteNonQuery();

            foreach (DataRow fila in rows.Rows)
            {
                cmd = new SqlCommand(
                    "usp_insertar_detalle_ped", cn.getCN, tr);
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add("@nroPed", SqlDbType.Int).Value        = x;
                cmd.Parameters.Add("@codProd", SqlDbType.Int).Value       = fila["codProd"];
                cmd.Parameters.Add("@nroKardex", SqlDbType.VarChar).Value = fila["nroKardex"];
                cmd.Parameters.Add("@importe", SqlDbType.Money).Value     = fila["cantidad"];
                cmd.Parameters.Add("@cant", SqlDbType.Int).Value          = Convert.ToInt16(fila["descuento"].ToString());
                cmd.Parameters.Add("@desc", SqlDbType.Money).Value        = fila["precio"];
                cmd.Parameters.Add("@preUni", SqlDbType.Money).Value      = fila["importe"];
                cmd.Parameters.Add("@impTotal", SqlDbType.Money).Value    = fila["total"];

                cmd.ExecuteNonQuery();
            }

            msg = "Pedido Registrado exitosamente";
            tr.Commit();//actualizar a la base de datos si esta Ok
        }
        catch (Exception ex)
        {
            msg = ex.Message;
            tr.Rollback();//deshacer el proceso
        }
        finally
        {
            cn.getCN.Close();
        }
        return(msg);//el metodo retorna el mensaje
    }