Foros del Web » Programación para mayores de 30 ;) » .NET »

Guardar cabecera y detalle c#

Estas en el tema de Guardar cabecera y detalle c# en el foro de .NET en Foros del Web. Hola a todos, como estan tengo un problema me he estancado en una mantenimiento usando herencia(clases). Quiero guardar un pedido y su detalle, pero no ...
  #1 (permalink)  
Antiguo 16/08/2012, 22:01
 
Fecha de Ingreso: agosto-2012
Mensajes: 1
Antigüedad: 12 años, 3 meses
Puntos: 0
Guardar cabecera y detalle c#

Hola a todos, como estan tengo un problema me he estancado en una mantenimiento usando herencia(clases).
Quiero guardar un pedido y su detalle, pero no se como guardarlo en el procedimiento "guardarpedido" de la clase.

Pedido
-PedidoId(PK)
-NroPedido
-ClienteId(FK)
-Fecha
-SubTotal
-Igv
-Total

Mi formulario tiene la siguiente estructura, resaltando los botones.


************************************************** **********
Nro Telefono 133 Buscar <--Cargar los datos del Cliente

Código 0001
Nombres Pepito
Apellidos Martinez
Direccion Av.Dd

Lista de Productos
Cantidad 3 Agregar <---- Agrega productos al grid
Guardar<---guarda la cabecera y detalle

----datagrid---------------------------------------
Producto Cantidad Precio SubTotal
P1 1 9 9
P2 1 5 5
P3 2 5 10
---------------------------------------------------------
Sub-Total 24 <--txtsubtotal
IGV 4.32 <--txtigv
Total 28.32 <--txttotal
************************************************** ******

---------Boton guardar---------------------------------------------------------------
AccesoDatos.PedidoDAO productoDAO = new AccesoDatos.PedidoDAO();
productoDAO.GuardarPedido(pedido);
this.pedido = new Entidades.PedidoData();
------------------------------------------------------------------------------------------

-------Clase PedidoDAO-------------------------------------------------------------
public void GuardarPedido(Entidades.PedidoData pedido)
{ //GUARDAR EL PEDIDO - EN LA CABECERA
foreach (Entidades.PedidoDetalleData detalle in pedido.Detalle)
{
}
}
-------------------------------------------------------------------------------------------

--------Clase PedidoData-------------------------------------------------------------

public class PedidoData
{
public PedidoData() {
Detalle = new List<PedidoDetalleData>();
}

public string NroPedido { get; set; }
public DateTime Fecha { get; set; }
public double SubTotal { get; set; }
public double Direccion { get; set; }
public double Igv { get; set; }
public double Total { get; set; }

public List<PedidoDetalleData> Detalle { get; set; }
}
  #2 (permalink)  
Antiguo 17/08/2012, 08:42
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Guardar cabecera y detalle c#

lo unico que deberias hacer es una vez guardado en tu cabecera pedido que te devuelva el id o el code para poder guardarlo en el detalle
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 17/08/2012, 15:24
 
Fecha de Ingreso: abril-2009
Mensajes: 36
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Guardar cabecera y detalle c#

la otra es grabar todo los registros del detalle en un DataTable y luego invocar la accion de grabar
  #4 (permalink)  
Antiguo 17/08/2012, 23:32
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Guardar cabecera y detalle c#

Cita:
Iniciado por greg_dorian Ver Mensaje
la otra es grabar todo los registros del detalle en un DataTable y luego invocar la accion de grabar
No creo y como obtendrias el codigo generado para la cabacera sino envias al servidor los datos a menos que solo traigas el codigo generado hasta luego mandar todo aunque no es recomendable
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones

Etiquetas: detalle, cabeceras
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 08:15.