/// <summary> /// Establece los datos y el detalle del pedido /// </summary> /// <param name="pedido"></param> private void EstableceDetallePedido(PedidoInfo pedido) { var pedidoDetalleDl = new PedidoDetalleBL(); var organizacionBl = new OrganizacionBL(); var almacenBl = new AlmacenBL(); var usuarioBl = new UsuarioBL(); var almacen = pedido.Almacen; var organizacion = pedido.Organizacion; var usuarioCreacion = pedido.UsuarioCreacion; var usuarioModificacion = pedido.UsuarioModificacion; if (almacen != null && almacen.AlmacenID > 0) { pedido.Almacen = almacenBl.ObtenerPorID(almacen.AlmacenID); } if (organizacion != null && organizacion.OrganizacionID > 0) { pedido.Organizacion = organizacionBl.ObtenerPorID(organizacion.OrganizacionID); } if (usuarioCreacion != null && usuarioCreacion.UsuarioID > 0) { pedido.UsuarioCreacion = usuarioBl.ObtenerPorID(usuarioCreacion.UsuarioID); } if (usuarioModificacion != null && usuarioModificacion.UsuarioID > 0) { pedido.UsuarioModificacion = usuarioBl.ObtenerPorID(usuarioModificacion.UsuarioID); } pedido.DetallePedido = pedidoDetalleDl.ObtenerDetallePedido(pedido); }
/// <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); }