Exemplo n.º 1
0
        public bool PagoTarjetaListo(int idPedido)
        {
            Token token = (Token)Session["token"];

            _documentoPagoService = new DocumentoPagoService(token.access_token);
            List <DocumentoPago> listaDocumentoPago = _documentoPagoService.Obtener();

            if (listaDocumentoPago == null)
            {
                return(false);
            }
            DocumentoPago documentoPago = listaDocumentoPago.FirstOrDefault(x => x.IdPedido == idPedido);

            if (documentoPago == null)
            {
                return(false);
            }
            _medioPagoDocumentoService = new MedioPagoDocumentoService(token.access_token);
            List <MedioPagoDocumento> listaMedioPagoDocumentos = _medioPagoDocumentoService.Obtener();
            MedioPagoDocumento        medioPagoDocumento       = listaMedioPagoDocumentos.FirstOrDefault(x => x.IdDocumentoPago == documentoPago.Id &&
                                                                                                         x.IdMedioPago != MedioPago.efectivo);

            if (medioPagoDocumento == null)
            {
                return(false);
            }
            return(true);
        }
Exemplo n.º 2
0
        public async Task <IHttpActionResult> Post([FromBody] MedioPagoDocumento medioPagoDocumento)
        {
            var id = await _medioPagoDocumentoBl.GuardarAsync(medioPagoDocumento);

            if (id == 0)
            {
                throw new Exception("No se pudo crear el medioPagoDocumento");
            }
            return(Ok(id));
        }
Exemplo n.º 3
0
        public bool Modificar(MedioPagoDocumento medioPagoDocumento, int idMedioPagoDocumento)
        {
            string url       = $"http://localhost/restaurant/api/medioPagoDocumentos/{idMedioPagoDocumento}";
            var    respuesta = _restClientHttp.Put <bool>(url, medioPagoDocumento);

            if (respuesta.StatusName != HttpStatusCode.OK)
            {
                return(false);
            }
            return(respuesta.Response);
        }
Exemplo n.º 4
0
        public int Guardar(MedioPagoDocumento medioPagoDocumento)
        {
            string url       = $"http://localhost/restaurant/api/medioPagoDocumentos/";
            var    respuesta = _restClientHttp.Post <int>(url, medioPagoDocumento);

            if (respuesta.StatusName != HttpStatusCode.OK)
            {
                return(0);
            }
            return(respuesta.Response);
        }
        public Task <int> InsertAsync(MedioPagoDocumento medioPagoDocumento)
        {
            const string spName = "sp_insertMedioPagoDocumento";

            return(_repository.ExecuteProcedureAsync <int>(spName, new Dictionary <string, object>
            {
                { "@p_monto", medioPagoDocumento.Monto },
                { "@p_medio_pago_id", medioPagoDocumento.IdMedioPago },
                { "@p_documento_pago_id", medioPagoDocumento.IdDocumentoPago },
                { "@p_return", 0 }
            }, CommandType.StoredProcedure));
        }
        public async Task <int> GuardarAsync(MedioPagoDocumento medioPagoDocumento)
        {
            var documentoPago = await _documentoPagoBl.ObtenerPorIdAsync(medioPagoDocumento.IdDocumentoPago);

            if (documentoPago == null)
            {
                throw new Exception($"No se ha encontrado el documento de pago {medioPagoDocumento.IdDocumentoPago}");
            }

            var articulos = await _articuloPedidoBl.ObtenerPorIdPedidoAsync(documentoPago.IdPedido);

            if (articulos == null || articulos.Count <= 0)
            {
                throw new Exception("No se puede generar un pago que no tenga articulos");
            }

            var id = await _unitOfWork.MedioPagoDocumentoDal.InsertAsync(medioPagoDocumento);

            var medioPago = await ObtenerPorIdAsync(id);

            var url = _itextSharpClient.CreatePdf(GetHtmlBoleta(documentoPago, medioPago, articulos), $"Boleta_pedido_{documentoPago.IdPedido}_{DateTime.Now:dd-MM-yyyy}.pdf");

            _emailClient.Send(new Email
            {
                UrlAdjunto = new List <string>
                {
                    url
                },
                ReceptorEmail  = documentoPago.Pedido.Reserva.Cliente.Persona.Email,
                ReceptorNombre = documentoPago.Pedido.Reserva.Cliente.Persona.Nombre,
                Asunto         = "Comprobante de su compra en Restaurante Siglo XXI",
                Contenido      =
                    $@"Estimad@ {documentoPago.Pedido.Reserva.Cliente.Persona.Nombre} {documentoPago.Pedido.Reserva.Cliente.Persona.Apellido} :<br/><br/>
                           Se ha emitido el Pago #{medioPago.Id} en Restaurante Siglo XXI de forma correcta. <br/>
                           Se adjuntan los datos de la transacción: <br/><br/>
                           -------------------------------------------------------------------- <br/>
                           N° Documento.......: {documentoPago.Id}                              <br/>
                           -------------------------------------------------------------------- <br/>
                           Tipo Documento.....: {documentoPago.TipoDocumentoPago.Nombre}        <br/>
                           -------------------------------------------------------------------- <br/>
                           Método de Pago.....: {medioPago.MedioPago.Nombre}                    <br/>
                           -------------------------------------------------------------------- <br/>
                           Fecha de emisión...: {documentoPago.FechaHora:dd-MM-yyyy hh:mm}      <br/>
                           -------------------------------------------------------------------- <br/>
                           Monto Total........: $ {medioPago.Monto:N}                           <br/>
                           -------------------------------------------------------------------- <br/><br/>

                           Atte, <br/>
                           Restaurante Siglo XXI. <br/>"
            });
Exemplo n.º 7
0
        public async Task <IHttpActionResult> Put([FromBody] MedioPagoDocumento medioPagoDocumento, int id)
        {
            if (id == 0)
            {
                throw new Exception("El id del medioPagoDocumento debe ser mayor a cero");
            }
            medioPagoDocumento.Id = id;
            var esActualizado = await _medioPagoDocumentoBl.ModificarAsync(medioPagoDocumento);

            if (esActualizado == 0)
            {
                throw new Exception("No se pudo actualizar el medioPagoDocumento");
            }
            return(Ok(true));
        }
Exemplo n.º 8
0
        public void crearDocumentoPago(int idPedido, int total, int medioPago)
        {
            DocumentoPago documentoPago = new DocumentoPago();

            documentoPago.IdPedido            = idPedido;
            documentoPago.Total               = total;
            documentoPago.FechaHora           = DateTime.Now;
            documentoPago.IdTipoDocumentoPago = (int)Session["tipoDocumentoPago"];
            Token token = (Token)Session["token"];

            _documentoPagoService = new DocumentoPagoService(token.access_token);
            int idDocumentoPago = _documentoPagoService.Guardar(documentoPago);

            if (idDocumentoPago == 0)
            {
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "crearDocumento", "Swal.fire('Error al realizar el pago', '', 'error');", true);
            }
            MedioPagoDocumento medioPagoDocumento = new MedioPagoDocumento();

            medioPagoDocumento.IdDocumentoPago = idDocumentoPago;
            medioPagoDocumento.IdMedioPago     = medioPago;
            medioPagoDocumento.Monto           = Convert.ToInt32(txtMontoPagar.Text);
            _medioPagoDocumentoService         = new MedioPagoDocumentoService(token.access_token);
            int idMedioPago = _medioPagoDocumentoService.Guardar(medioPagoDocumento);

            if (idMedioPago == 0)
            {
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "crearMedioPago", "Swal.fire('Error al realizar el pago', '', 'error');", true);
            }

            Reserva             reserva      = (Reserva)Session["reservaCliente"];
            ReservaCambioEstado cambioEstado = new ReservaCambioEstado();

            cambioEstado.IdReserva       = reserva.Id;
            cambioEstado.IdEstadoReserva = EstadoReserva.finalizada;
            _reservaService = new ReservaService(token.access_token);
            bool editar = _reservaService.ModificarEstado(cambioEstado);
        }