/// <summary> /// Crea un pedido y su detalle /// </summary> /// <param name="pedido"></param> /// <param name="tipoFolio"></param> /// <returns></returns> internal PedidoInfo Crear(PedidoInfo pedido, TipoFolio tipoFolio) { PedidoInfo pedidoGuardado = new PedidoInfo(); try { Logger.Info(); var pedidosDal = new PedidosDAL(); using (var transaccion = new TransactionScope()) { pedidoGuardado = pedidosDal.Crear(pedido, tipoFolio); if (pedidoGuardado != null) { var pedidosDetalleBl = new PedidoDetalleBL(); foreach (PedidoDetalleInfo pedidoDetalle in pedido.DetallePedido) { pedidoDetalle.UsuarioCreacion = pedido.UsuarioCreacion; pedidoDetalle.PedidoId = pedidoGuardado.PedidoID; pedidoDetalle.Observaciones = pedido.Observaciones; } pedidosDetalleBl.Crear(pedido.DetallePedido); pedidoGuardado = ObtenerPedidoPorFolio(pedidoGuardado); } transaccion.Complete(); } return(pedidoGuardado); } catch (ExcepcionGenerica exg) { Logger.Error(exg); } catch (Exception ex) { Logger.Error(ex); } return(pedidoGuardado); }