Example #1
0
        public IActionResult Eliminar(Int32?ClienteTarjetaId)
        {
            ResponseModel responseModel = new ResponseModel();

            try
            {
                if (ClienteTarjetaId == null || ClienteTarjetaId <= 0)
                {
                    responseModel.Codigo  = CodeEN.Warning;
                    responseModel.Mensaje = "Datos inválidos";

                    return(BadRequest(responseModel));
                }

                ClienteTarjetaBL clienteTarjetaBL = new ClienteTarjetaBL();

                if (clienteTarjetaBL.Eliminar(ClienteTarjetaId.GetValueOrDefault()))
                {
                    responseModel.Codigo  = CodeEN.Success;
                    responseModel.Mensaje = "Se eliminó su tarjeta de manera satisfactoria";

                    return(Ok(responseModel));
                }
                else
                {
                    responseModel.Codigo  = CodeEN.Error;
                    responseModel.Mensaje = "No se pudo eliminar su tarjeta de manera satisfactoria";

                    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 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));
            }
        }
Example #3
0
        public IActionResult Registrar([FromBody] RegistroModel registroModel)
        {
            ResponseModel responseModel = new ResponseModel();

            try
            {
                if (registroModel == null)
                {
                    responseModel.Codigo  = CodeEN.Warning;
                    responseModel.Mensaje = "Datos inválidos";

                    return(BadRequest(responseModel));
                }

                Tuple <Boolean, String> Valid = registroModel.Validate();

                if (!Valid.Item1)
                {
                    responseModel.Codigo  = CodeEN.Warning;
                    responseModel.Mensaje = Valid.Item2;

                    return(BadRequest(responseModel));
                }

                ClienteTarjetaBL clienteTarjetaBL = new ClienteTarjetaBL();

                Tarjeta tarjeta = new Tarjeta
                {
                    NumeroTarjeta   = registroModel.NumeroTarjeta,
                    CVC             = registroModel.CVC,
                    Propietario     = registroModel.Propietario,
                    FechaExpiracion = registroModel.FechaExpiracion
                };

                String datosTarjeta = JsonSerializer.Serialize(tarjeta);

                String encriptacionTarjeta = dataProtector.Protect(datosTarjeta);

                String clienteId = this.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value;

                if (String.IsNullOrEmpty(clienteId))
                {
                    responseModel.Codigo  = CodeEN.Error;
                    responseModel.Mensaje = "Sesión expirada";

                    return(Unauthorized(responseModel));
                }

                Int32 ClienteId = Int32.Parse(clienteId);

                ClienteTarjeta clienteTarjeta = new ClienteTarjeta
                {
                    ClienteId   = ClienteId,
                    Descripcion = encriptacionTarjeta
                };

                Int32 ClienteTarjetaId = clienteTarjetaBL.Registrar(clienteTarjeta);

                if (ClienteTarjetaId > 0)
                {
                    clienteTarjeta.ClienteId = ClienteTarjetaId;

                    responseModel.Codigo  = CodeEN.Success;
                    responseModel.Mensaje = "Se registro la tarjeta de manera satisfactoria";
                    responseModel.Data    = clienteTarjeta;

                    return(Ok(responseModel));
                }
                else
                {
                    responseModel.Codigo  = CodeEN.Error;
                    responseModel.Mensaje = "No se pudo registrar la tarjeta";
                    responseModel.Data    = null;

                    return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
                }
            }
            catch (Exception ex)
            {
                responseModel.Codigo  = CodeEN.Exception;
                responseModel.Mensaje = "Ocurrió una excepción";

                return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
            }
        }
Example #4
0
        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));
            }
        }