public IActionResult ConsultarClienteTarjetas() { ResponseModel responseModel = new ResponseModel(); try { String cuenta = this.HttpContext.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Email)?.Value; if (String.IsNullOrEmpty(cuenta)) { responseModel.Codigo = CodeEN.Error; responseModel.Mensaje = "Sesión expirada"; return(Unauthorized(responseModel)); } ClienteBL clienteBL = new ClienteBL(); Cliente cliente = clienteBL.Consultar(cuenta); if (cliente == null) { responseModel.Codigo = CodeEN.Warning; responseModel.Mensaje = "Cuenta no encontrada"; return(BadRequest(responseModel)); } ClienteTarjetaBL clienteTarjetaBL = new ClienteTarjetaBL(); List <ClienteTarjeta> lstclienteTarjetas = clienteTarjetaBL.Listar(cliente.ClienteId); if (lstclienteTarjetas != null) { List <TarjetaPago> lstTarjetaPagos = new List <TarjetaPago>(); if (lstclienteTarjetas.Count > 0) { lstclienteTarjetas.ForEach(clienteTarjeta => { TarjetaPago tarjetaPago = new TarjetaPago(); tarjetaPago.ClienteTarjetaId = clienteTarjeta.ClienteTarjetaId; tarjetaPago.ClienteId = clienteTarjeta.ClienteId; String tarjetaDesencriptado = dataProtector.Unprotect(clienteTarjeta.Descripcion); Tarjeta tarjeta = JsonSerializer.Deserialize <Tarjeta>(tarjetaDesencriptado); tarjetaPago.NumeroTarjeta = tarjeta.NumeroTarjeta; tarjetaPago.Propietario = tarjeta.Propietario; tarjetaPago.CVC = tarjeta.CVC; tarjetaPago.FechaExpiracion = tarjeta.FechaExpiracion; lstTarjetaPagos.Add(tarjetaPago); }); } ClienteTarjetas clienteTarjetas = new ClienteTarjetas { Cuenta = cliente.Cuenta, Nombre = cliente.Nombre, Apellido = cliente.Apellido, ClienteId = cliente.ClienteId, TarjetaPagos = lstTarjetaPagos }; responseModel.Codigo = CodeEN.Success; responseModel.Mensaje = "Se listó las tarjetas de pago del usuario con éxito"; responseModel.Data = clienteTarjetas; return(Ok(responseModel)); } else { responseModel.Codigo = CodeEN.Error; responseModel.Mensaje = "No se pudo listar las tarjetas de pago del usuario"; return(StatusCode(StatusCodes.Status500InternalServerError, responseModel)); } } catch (Exception ex) { responseModel.Codigo = CodeEN.Exception; responseModel.Mensaje = "Ocurrió una excepción"; return(StatusCode(StatusCodes.Status500InternalServerError, responseModel)); } }
public IActionResult ListarPorCliente(Int32?ClienteId) { ResponseModel responseModel = new ResponseModel(); try { if (ClienteId == null || ClienteId <= 0) { responseModel.Codigo = CodeEN.Warning; responseModel.Mensaje = "Datos inválidos"; return(BadRequest(responseModel)); } ClienteTarjetaBL clienteTarjetaBL = new ClienteTarjetaBL(); List <ClienteTarjeta> lstclienteTarjetas = clienteTarjetaBL.Listar(ClienteId.GetValueOrDefault()); if (lstclienteTarjetas != null) { List <TarjetaPago> lstTarjetaPagos = new List <TarjetaPago>(); if (lstclienteTarjetas.Count > 0) { lstclienteTarjetas.ForEach(clienteTarjeta => { TarjetaPago tarjetaPago = new TarjetaPago(); tarjetaPago.ClienteTarjetaId = clienteTarjeta.ClienteTarjetaId; tarjetaPago.ClienteId = clienteTarjeta.ClienteId; String tarjetaDesencriptado = dataProtector.Unprotect(clienteTarjeta.Descripcion); Tarjeta tarjeta = JsonSerializer.Deserialize <Tarjeta>(tarjetaDesencriptado); tarjetaPago.NumeroTarjeta = tarjeta.NumeroTarjeta; tarjetaPago.Propietario = tarjeta.Propietario; tarjetaPago.CVC = tarjeta.CVC; tarjetaPago.FechaExpiracion = tarjeta.FechaExpiracion; lstTarjetaPagos.Add(tarjetaPago); }); } responseModel.Codigo = CodeEN.Success; responseModel.Mensaje = "Se listó las tarjetas de pago con éxito"; responseModel.Data = lstTarjetaPagos; return(Ok(responseModel)); } else { responseModel.Codigo = CodeEN.Error; responseModel.Mensaje = "No se pudo listar sus tarjetas"; return(StatusCode(StatusCodes.Status500InternalServerError, responseModel)); } } catch (Exception ex) { responseModel.Codigo = CodeEN.Exception; responseModel.Mensaje = "Ocurrió una excepción"; return(StatusCode(StatusCodes.Status500InternalServerError, responseModel)); } }