Exemple #1
0
        /// <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);
        }
Exemple #2
0
        /// <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);
        }