Exemplo n.º 1
0
        public int ListaMaterialesConDetallesNew(ListaDeMaterialesBE matBE)
        {
            try {
                con.ConnectionString = conection.GetCon();

                cmd.Connection  = con;
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "DOCUMENTO.ListaMaterialesNew";
                cmd.Parameters.Clear();

                cmd.Parameters.Add(new SqlParameter("@proyecto", matBE.Proyecto));
                cmd.Parameters.Add(new SqlParameter("@pedido_por", matBE.Pedido_por));
                cmd.Parameters.Add(new SqlParameter("@fecha_pedida", matBE.Fecha_pedida));
                cmd.Parameters.Add(new SqlParameter("@fecha_aprobada", matBE.Fecha_aprobada));

                cmd.Parameters.Add(new SqlParameter("@aprobado", matBE.Aprobado));
                cmd.Parameters.Add(new SqlParameter("@aprobado_por", matBE.Aprobado_por));
                cmd.Parameters.Add(new SqlParameter("@ingresado_por", matBE.Ingresado_por));
                cmd.Parameters.Add(new SqlParameter("@rnid", SqlDbType.Int));

                cmd.Parameters["@rnid"].Direction = ParameterDirection.Output;
                cmd.Parameters.Add(new SqlParameter("@detalles", SqlDbType.Structured));
                cmd.Parameters["@detalles"].Value = matBE.DetalleDeListaMateriales;


                con.Open();
                cmd.ExecuteNonQuery();
                return(Convert.ToInt32(cmd.Parameters["@rnid"].Value.ToString()));
            } catch (Exception) {
                return(-1);
            } finally {
                if (con.State == ConnectionState.Open)
                {
                    con.Close();
                }
            }
        }
Exemplo n.º 2
0
 public int ListaMaterialesConDetallesNew(ListaDeMaterialesBE matBE)
 {
     return(lmat.ListaMaterialesConDetallesNew(matBE));
 }
Exemplo n.º 3
0
        protected void btnGrabar_Click(object sender, EventArgs e)
        {
            try {
                detalles = (DataTable)Session["Detalles"];

                // Validamos las fechas...
                if (dtpAprobacion.Text == "")
                {
                    throw new Exception("Debe ingresar fecha de aprobacion.");
                }

                if (dtpCreacion.Text == "")
                {
                    throw new Exception("Debe ingresar fecha de creacion.");
                }


                // Si existen  registros de detalles se registra la orden
                if (detalles.Rows.Count > 0)
                {
                    ListaDeMaterialesBE lmatBE = new ListaDeMaterialesBE();
                    ListaDeMaterialesBL lmatBL = new ListaDeMaterialesBL();

                    //Asignamos valores de cabecera ( El nro lo genera el SP)
                    lmatBE.Aprobado_por   = Convert.ToInt32(cboAprobado.SelectedValue);
                    lmatBE.Proyecto       = Convert.ToInt32(cboProyecto.SelectedValue);
                    lmatBE.Pedido_por     = Convert.ToInt32(cboPedidoPor.SelectedValue);
                    lmatBE.Fecha_aprobada = Convert.ToDateTime(dtpAprobacion.Text);
                    lmatBE.Fecha_pedida   = Convert.ToDateTime(dtpCreacion.Text);
                    lmatBE.Ingresado_por  = Convert.ToInt32(cboIngresadoPor.SelectedValue);
                    lmatBE.Aprobado       = false;

                    // Asignamos los detalles a la propiedad respectiva
                    lmatBE.DetalleDeListaMateriales = detalles;

                    // Se evalua el exito del metodo
                    int rnid = lmatBL.ListaMaterialesConDetallesNew(lmatBE);
                    if (rnid == -1)
                    {
                        throw new Exception("Error , no se registró la orden. Contacte con IT.");
                    }
                    else
                    {
                        lblMensaje.Text = "Se registró la orden Nro: " + rnid.ToString() + " exitosamente.";
                        mpeMensaje.Show();
                        // Reinicio los controles y  la tabla por si se desea registrar una nueva orden de compra
                        dtpAprobacion.Text            = "";
                        dtpCreacion.Text              = "";
                        txtNotas.Text                 = "";
                        cboPedidoPor.SelectedIndex    = 0;
                        cboProyecto.SelectedIndex     = 0;
                        cboAprobado.SelectedIndex     = 0;
                        cboIngresadoPor.SelectedIndex = 0;
                        CrearTabla();
                    }
                }
                //Si no hay detalles, no se puede registrar la  orden
                else
                {
                    throw new Exception("No puede registrar una orden sin detalles.");
                }
            } catch (Exception ex) {
                lblMensaje.Text = ex.Message;
                mpeMensaje.Show();
            }
        }