internal async Task <int> GuardarPedido(PedidosPed pedido, DemografiaCor demografiaCor)
        {
            int idPedido;

            if (demografiaCor != null)
            {
                try
                {
                    pedido.Fechapedido = DateTime.Now;
                    idPedido           = await _repoPedidosPed.GuardarPedido(pedido);
                }
                catch (COExcepcion e)
                {
                    RepoErrorLog.AddErrorLog(new ErrorLog
                    {
                        Mensaje   = e.Message,
                        Traza     = e.StackTrace,
                        Usuario   = demografiaCor.Email,
                        Creacion  = DateTime.Now,
                        Tipoerror = COErrorLog.ENVIO_CORREO
                    });
                    throw e;
                }
            }
            else
            {
                throw new COExcepcion("El usuario ingresado no existe.");
            }
            return(idPedido);
        }
        internal async Task <RespuestaDatos> GuardarFactura(FacturasFac factura, PedidosPed pedido)
        {
            RespuestaDatos respuestaDatos;

            if (pedido != null)
            {
                try
                {
                    respuestaDatos = await _repoFacturasFac.GuardarFactura(factura);
                }
                catch (COExcepcion e)
                {
                    RepoErrorLog.AddErrorLog(new ErrorLog
                    {
                        Mensaje   = e.Message,
                        Traza     = e.StackTrace,
                        Usuario   = "no_aplica",
                        Creacion  = DateTime.Now,
                        Tipoerror = COErrorLog.ENVIO_CORREO
                    });
                    throw e;
                }
            }
            else
            {
                throw new COExcepcion("El pedido ingresado no existe.");
            }
            return(respuestaDatos);
        }
Esempio n. 3
0
        public async Task <ContratoFacturas> CabeceraPedido(int idPedido)

        {
            ContratoFacturas cabeceraPedido = new ContratoFacturas();
            PedidosPed       pedido         = _pEPedidoBiz.GetPedidoPorId(idPedido);

            if (pedido != null)
            {
                cabeceraPedido.Id = pedido.Idusuario;

                cabeceraPedido.Estado      = pedido.Estado;
                cabeceraPedido.Fechapedido = pedido.Fechapedido;
                cabeceraPedido.Productos   = await ListarDetallesPedido(pedido.Id);
            }
            else
            {
                throw new COExcepcion("El pedido ingresado no existe.");
            }
            return(cabeceraPedido);
        }
Esempio n. 4
0
        public async Task <List <ContratoDetallesPedido> > ListarDetallesPedido(int idPedido)

        {
            List <ContratoDetallesPedido> detallesPedido = new List <ContratoDetallesPedido>();
            PedidosPed pedido = _pEPedidoBiz.GetPedidoPorId(idPedido);

            if (pedido != null)
            {
                List <ProdSerXVendidosPed> productos = _pEPedidoBiz.GetProductosPedidosPorIdPedido(pedido.Id);
                for (int i = 0; i < productos.Count; i++)
                {
                    detallesPedido.Add(await DetalleProductoPedido(productos[i].Id));
                }
            }
            else
            {
                throw new COExcepcion("El pedido ingresado no existe.");
            }
            return(detallesPedido);
        }
        internal async Task <RespuestaDatos> ModificarPedido(PedidosPed pedido)
        {
            RespuestaDatos respuestaDatos;

            try
            {
                respuestaDatos = await _repoPedidosPed.ModificarPedido(pedido);
            }
            catch (COExcepcion e)
            {
                RepoErrorLog.AddErrorLog(new ErrorLog
                {
                    Mensaje   = e.Message,
                    Traza     = e.StackTrace,
                    Usuario   = "no_aplica",
                    Creacion  = DateTime.Now,
                    Tipoerror = COErrorLog.ENVIO_CORREO
                });
                throw e;
            }
            return(respuestaDatos);
        }
 internal async Task <int> GuardarPedido(PedidosPed pedido)
 {
     using FeContext context = new FeContext();
     try
     {
         context.Add(pedido);
         context.SaveChanges();
         return(pedido.Id);
     }
     catch (Exception e)
     {
         RepoErrorLog.AddErrorLog(new ErrorLog
         {
             Mensaje   = e.Message,
             Traza     = e.StackTrace,
             Usuario   = "no_aplica",
             Creacion  = DateTime.Now,
             Tipoerror = COErrorLog.ENVIO_CORREO
         });
         throw new COExcepcion("Ocurrió un problema al intentar realizar el pedido");
     }
 }
        internal async Task <RespuestaDatos> ModificarPedido(PedidosPed pedido)
        {
            using FeContext context = new FeContext();
            RespuestaDatos respuestaDatos;
            PedidosPed     p = GetPedidoPorId(pedido.Id);

            if (p != null)
            {
                try
                {
                    context.Attach(p);
                    p.Idusuario   = pedido.Idusuario;
                    p.Estado      = pedido.Estado;
                    p.Fechapedido = pedido.Fechapedido;
                    context.SaveChanges();
                    respuestaDatos = new RespuestaDatos {
                        Codigo = COCodigoRespuesta.OK, Mensaje = "Pedido modificado exitosamente."
                    };
                }
                catch (Exception e)
                {
                    RepoErrorLog.AddErrorLog(new ErrorLog
                    {
                        Mensaje   = e.Message,
                        Traza     = e.StackTrace,
                        Usuario   = "no_aplica",
                        Creacion  = DateTime.Now,
                        Tipoerror = COErrorLog.ENVIO_CORREO
                    });
                    throw new COExcepcion("Ocurrió un problema al intentar modificar el pedido.");
                }
            }
            else
            {
                throw new COExcepcion("El pedido no existe");
            }
            return(respuestaDatos);
        }
Esempio n. 8
0
        public async Task <int> GuardarPedido(PedidosPed pedido)
        {
            int idPedido;

            try
            {
                DemografiaCor demografiaCor = _cOGeneralFachada.GetDemografiaPorId(pedido.Idusuario);
                idPedido = idPedido = await _pEPedidoBiz.GuardarPedido(pedido, demografiaCor);
            }
            catch (COExcepcion e)
            {
                RepoErrorLog.AddErrorLog(new ErrorLog
                {
                    Mensaje   = e.Message,
                    Traza     = e.StackTrace,
                    Usuario   = "no_aplica",
                    Creacion  = DateTime.Now,
                    Tipoerror = COErrorLog.ENVIO_CORREO
                });
                throw e;
            }
            return(idPedido);
        }
Esempio n. 9
0
        public async Task <RespuestaDatos> GuardarFactura(FacturasFac factura)
        {
            RespuestaDatos respuestaDatos;

            try
            {
                PedidosPed pedido = _pEFachada.GetPedidoPorId(factura.Idpedido);
                respuestaDatos = respuestaDatos = await _fAFacturaBiz.GuardarFactura(factura, pedido);
            }
            catch (COExcepcion e)
            {
                RepoErrorLog.AddErrorLog(new ErrorLog
                {
                    Mensaje   = e.Message,
                    Traza     = e.StackTrace,
                    Usuario   = "no_aplica",
                    Creacion  = DateTime.Now,
                    Tipoerror = COErrorLog.ENVIO_CORREO
                });
                throw e;
            }
            return(respuestaDatos);
        }
Esempio n. 10
0
        public async Task <int> GuardarPedido([FromBody] PedidosPed pedido)
        {
            int idPedido;

            try
            {
                idPedido = await _peFachada.GuardarPedido(pedido);
            }
            catch (COExcepcion e)
            {
                RepoErrorLog.AddErrorLog(new ErrorLog
                {
                    Mensaje   = e.Message,
                    Traza     = e.StackTrace,
                    Usuario   = "no_aplica",
                    Creacion  = DateTime.Now,
                    Tipoerror = COErrorLog.ENVIO_CORREO
                });
                //respuestaDatos = new RespuestaDatos { Codigo = COCodigoRespuesta.ERROR, Mensaje = e.Message };
                throw e;
            }
            return(idPedido);
        }
        internal async Task <RespuestaDatos> RemoverPedido(int idPedido)
        {
            using FeContext context = new FeContext();
            RespuestaDatos respuestaDatos;
            PedidosPed     pedido = GetPedidoPorId(idPedido);

            if (pedido != null)
            {
                try
                {
                    context.PedidosPeds.Attach(pedido);
                    pedido.Estado = COEstadoPedido.CANCELADO;
                    context.SaveChanges();
                    respuestaDatos = new RespuestaDatos {
                        Codigo = COCodigoRespuesta.OK, Mensaje = "Pedido eliminada exitosamente."
                    };
                }
                catch (Exception e)
                {
                    RepoErrorLog.AddErrorLog(new ErrorLog
                    {
                        Mensaje   = e.Message,
                        Traza     = e.StackTrace,
                        Usuario   = "no_aplica",
                        Creacion  = DateTime.Now,
                        Tipoerror = COErrorLog.ENVIO_CORREO
                    });
                    throw new COExcepcion("Ocurrió un problema al intentar eliminar el pedido");
                }
            }
            else
            {
                throw new COExcepcion("El pedido no existe");
            }
            return(respuestaDatos);
        }
Esempio n. 12
0
        public async Task <RespuestaDatos> ModificarPedido([FromBody] PedidosPed pedido)
        {
            RespuestaDatos respuestaDatos;

            try
            {
                respuestaDatos = await _peFachada.ModificarPedido(pedido);
            }
            catch (COExcepcion e)
            {
                RepoErrorLog.AddErrorLog(new ErrorLog
                {
                    Mensaje   = e.Message,
                    Traza     = e.StackTrace,
                    Usuario   = "no_aplica",
                    Creacion  = DateTime.Now,
                    Tipoerror = COErrorLog.ENVIO_CORREO
                });
                respuestaDatos = new RespuestaDatos {
                    Codigo = COCodigoRespuesta.ERROR, Mensaje = e.Message
                };
            }
            return(respuestaDatos);
        }
Esempio n. 13
0
        public async Task <RespuestaDatos> GuardarProductoPedido(ProdSerXVendidosPed productoPedido)
        {
            RespuestaDatos       respuestaDatos;
            ProductosServiciosPc producto = await _cOContenidoFachada.GetPublicacionPorIdPublicacion(productoPedido.Idproductoservico);

            System.Diagnostics.Debug.WriteLine("Este es el ID:");
            System.Diagnostics.Debug.WriteLine(productoPedido.Idproductoservico);
            if (producto != null)
            {
                if (await ValidarPrecioProductoPedido(productoPedido))
                {
                    TipoPublicacionPc tipoProductoPedido = _cOContenidoFachada.GetTipoPublicacionPorID(producto.Idtipopublicacion);
                    productoPedido.Creacion = DateTime.Now;
                    if (tipoProductoPedido != null)
                    {
                        System.Diagnostics.Debug.WriteLine("Este es el tipo:");
                        System.Diagnostics.Debug.WriteLine(tipoProductoPedido.Nombre);
                        if (tipoProductoPedido.Id == 2)
                        {
                            try
                            {
                                PedidosPed pedido = _pEPedidoBiz.GetPedidoPorId(productoPedido.Idpedido);
                                respuestaDatos = respuestaDatos = await _pEPedidoBiz.GuardarProductoPedido(productoPedido, pedido);
                            }
                            catch (COExcepcion e)
                            {
                                RepoErrorLog.AddErrorLog(new ErrorLog
                                {
                                    Mensaje   = e.Message,
                                    Traza     = e.StackTrace,
                                    Usuario   = "no_aplica",
                                    Creacion  = DateTime.Now,
                                    Tipoerror = COErrorLog.ENVIO_CORREO
                                });
                                throw e;
                            }
                        }
                        else
                        {
                            if (await ValidarCantidadProductoPedido(productoPedido))
                            {
                                try
                                {
                                    PedidosPed pedido = _pEPedidoBiz.GetPedidoPorId(productoPedido.Idpedido);
                                    respuestaDatos = respuestaDatos = await _pEPedidoBiz.GuardarProductoPedido(productoPedido, pedido);
                                }
                                catch (COExcepcion e)
                                {
                                    RepoErrorLog.AddErrorLog(new ErrorLog
                                    {
                                        Mensaje   = e.Message,
                                        Traza     = e.StackTrace,
                                        Usuario   = "no_aplica",
                                        Creacion  = DateTime.Now,
                                        Tipoerror = COErrorLog.ENVIO_CORREO
                                    });
                                    throw e;
                                }
                            }
                            else
                            {
                                throw new COExcepcion("No hay suficiente cantidad del producto deseado");
                            }
                        }
                    }
                    else
                    {
                        throw new COExcepcion("Hay un inconveniente con el tipo del producto");
                    }
                }
                else
                {
                    throw new COExcepcion("Hay un inconveniente con el precio total del producto pedido");
                }
            }
            else
            {
                throw new COExcepcion("El producto deseado no existe");
            }
            return(respuestaDatos);
        }