示例#1
0
        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;
        }
示例#2
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;
        }