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(); } } }
public int ListaMaterialesConDetallesNew(ListaDeMaterialesBE matBE) { return(lmat.ListaMaterialesConDetallesNew(matBE)); }
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(); } }