app.modules.SignIn.model.DAO_Login.java Source code

Java tutorial

Introduction

Here is the source code for app.modules.SignIn.model.DAO_Login.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package app.modules.SignIn.model;

import app.classes.fecha;
import app.classes.singleton_global;
import static app.modules.SignIn.view.login.addusername;
import app.modules.users.registered_user.controller.reguser_controller;
import app.modules.users.registered_user.model.classes.singleton_reguser;
import app.modules.users.registered_user.view.regusernew_view;
import static app.modules.users.registered_user.view.regusernew_view.*;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import static app.modules.SignIn.view.login.addpass;
import static app.modules.SignIn.view.login.statuslog;
import app.modules.users.client.controller.client_controller;
import app.modules.users.client.model.classes.client;
import app.modules.users.client.view.clientnew_view;
import static app.modules.users.client.view.clientnew_view.*;
import com.mongodb.BasicDBObject;
import com.mongodb.DBCursor;

/**
 *
 * @author Lara
 */
public class DAO_Login {

    /**
     * Compara el nombre de usuario y la contrasea con los admins de la base de
     * datos, cuando encuentra que ambos campos coinciden devuelve true y
     * permite iniciar sesin.
     *
     * @param _con
     * @return login True si se ha logrado iniciar sesin
     */
    public static boolean SignInAdmin(Connection _con) {
        boolean login = false;
        ResultSet rs = null;
        PreparedStatement stmt = null;
        try {
            stmt = _con.prepareStatement("SELECT * FROM admin WHERE user='" + addusername.getText() + "' AND pass='"
                    + addpass.getText() + "'");
            rs = stmt.executeQuery();
            while (rs.next()) {
                login = true;
            }

        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Ha habido un problema al iniciar sesin");
        }
        if (!login) {
            statuslog.setText("El usuario no existe o ha introducido mal los datos");
        }
        return login;
    }

    /**
     * Compara el nombre de usuario con el de todos los clientes de la base de datos, cuando encuentra una coincidencia
     * compara la contrasea introducida con la de la base de datos, cuando ambos datos coinciden devuelve true y
     * rellena el perfil del usuario
     * @return login True si se ha logrado iniciar sesin
     */
    public static boolean SignInClient() {
        boolean login = false;
        DBCursor cursor = null;
        client c = new client();
        try {
            cursor = singleton_global.collection.find(new BasicDBObject().append("user", addusername.getText()));
            if (cursor.count() != 0) {
                for (int i = 0; i < cursor.size(); i++) {
                    BasicDBObject document = (BasicDBObject) cursor.next();
                    c = c.BBDD_to_client(document);
                    fecha aux = new fecha();
                    if (c.getPass().equals(addpass.getText())) {
                        new client_controller(new clientnew_view(), 2).Iniciar(2);
                        adddnic.setText(c.getDni());
                        caddname.setText(c.getName());
                        caddsurname.setText(c.getSubname());
                        caddmobile.setText(c.getMobile());
                        caddemail.setText(c.getEmail());
                        cadddatebirthday.setCalendar(aux.stringtocalendar(c.getDate_birthday()));
                        caddnameuser.setText(c.getUser());
                        caddpassword.setText(c.getPass());
                        caddavatar.setText(c.getAvatar());
                        cadd_status.setSelectedItem(c.getState());
                        caddreg.setCalendar(aux.stringtocalendar(c.getUp_date()));
                        caddshopping.setText(Float.toString(c.getShopping()));
                        caddpremium.setSelectedItem(c.getPremium());
                        caddtype.setText(c.getClient_type());
                        login = true;
                        if ("Premium".equals(c.getPremium())) {
                            cadddesc.setText("10%");
                        } else {
                            cadddesc.setText("0%");
                        }
                        caddyearsservice.setText(Integer.toString(
                                aux.restafechas(aux.stringtocalendar(c.getUp_date()), aux.fechasystem(), "years")));
                    }
                }
            } else {
                System.out.println("NOT DATA");
            }
        } catch (Exception e) {
            if (cursor != null) {
                cursor.close();
            }
        }
        return login;
    }

    /**
     * Compara el nombre de usuario y la contrasea con los usuarios registrados
     * en el array, cuando encuentra que ambos campos coinciden devuelve true y
     * permite iniciar sesin, mostrando el perfil de ese usuario.
     *
     * @return login True si se ha logrado iniciar sesin
     */
    public static boolean SignInRUser() {
        boolean login = false;
        for (int i = 0; i < singleton_reguser.reguser.getUserreg().size(); i++) {
            if (singleton_reguser.reguser.getClient(i).getUser().equals(addusername.getText())
                    && singleton_reguser.reguser.getClient(i).getPass().equals(addpass.getText())) {
                new reguser_controller(new regusernew_view(), 2).Iniciar(2);
                adddni.setText(singleton_reguser.reguser.getUserreg().get(i).getDni());
                addname.setText(singleton_reguser.reguser.getUserreg().get(i).getName());
                addsurname.setText(singleton_reguser.reguser.getUserreg().get(i).getSubname());
                fecha aux = new fecha();
                adddatebirthday.setCalendar(
                        aux.stringtocalendar(singleton_reguser.reguser.getUserreg().get(i).getDate_birthday()));
                addmobile.setText(singleton_reguser.reguser.getUserreg().get(i).getMobile());
                addemail.setText(singleton_reguser.reguser.getUserreg().get(i).getEmail());
                addnameuser.setText(singleton_reguser.reguser.getUserreg().get(i).getUser());
                addpassword.setText(singleton_reguser.reguser.getUserreg().get(i).getPass());
                addavatar.setText(singleton_reguser.reguser.getUserreg().get(i).getAvatar());
                add_status.setSelectedItem(singleton_reguser.reguser.getUserreg().get(i).getState());
                addactivity.setText(Integer.toString(singleton_reguser.reguser.getClient(i).getActivity()));
                if (singleton_reguser.reguser.getClient(i).getActivity() <= 999) {
                    addkarma.setSelectedItem("Bajo");
                    addpoints.setText(Integer.toString(singleton_reguser.reguser.getClient(i).getActivity() * 5));
                } else if ((singleton_reguser.reguser.getClient(i).getActivity() >= 1000)
                        && (singleton_reguser.reguser.getClient(i).getActivity() <= 4999)) {
                    addkarma.setSelectedItem("Medio");
                    addpoints.setText(Integer.toString(singleton_reguser.reguser.getClient(i).getActivity() * 7));
                } else if (singleton_reguser.reguser.getClient(i).getActivity() >= 5000) {
                    addkarma.setSelectedItem("Alto");
                    addpoints.setText(Integer.toString(singleton_reguser.reguser.getClient(i).getActivity() * 10));
                }
                login = true;
            } else {
                statuslog.setText("El usuario no existe o ha introducido mal los datos");
            }
        }
        return login;
    }
}