public static bool InsertarFactura(Factura objProxy) { ValidationException x = new ValidationException(); if (objProxy.Fecha < DateTime.Now.AddDays(-1)) x.AgregarError("La fecha debe ser mayor a la fecha actual"); if (objProxy.Detalle.Count < 1) x.AgregarError("No ingresó el detalle"); foreach (DFactura detalle in objProxy.Detalle) { if (detalle.Producto_id < 1 || detalle.Cantidad < 1) x.AgregarError("Alguno de los elementos del detalle presentan problemas."); } if (x.Cantidad > 0) throw x; // TODO: CAMBIAR A WORKFLOW DataSet dtsDetalle = new DataSet(); DataTable tblProxy = dtsDetalle.Tables.Add(); tblProxy.Columns.Add("Producto_id", typeof(Int32)); tblProxy.Columns.Add("Cantidad", typeof(Int32)); foreach (DFactura detalle in objProxy.Detalle) { tblProxy.Rows.Add(detalle.Producto_id, detalle.Cantidad); } CAD.WorkFlows.WFLFactura wflProxy = new CAD.WorkFlows.WFLFactura(); return wflProxy.Insertar(objProxy.Fecha, objProxy.NombreFactura, objProxy.NitFactura, dtsDetalle) > 0; }
private static Factura Cargar(DataRow fila, DataTable detalle) { Factura objProxy = new Factura(); objProxy.Codigo = Convert.ToInt32(fila["codigo"]); objProxy.Fecha = Convert.ToDateTime(fila["fecha"]); objProxy.NitFactura = fila["nitFactura"].ToString(); objProxy.NombreFactura = fila["nombreFactura"].ToString(); objProxy.Detalle = CargarListaDetalle(detalle); return objProxy; }