public static OfficePersonDTO getDTO(OfficePers user)
        {
            String uname = user.Username;
            String pass  = user.Password;

            return(new OfficePersonDTO(uname, pass));
        }
        //private OfficePers currentUser;

        public void login(String username, String pass)
        {
            OfficePers user = new OfficePers(username, pass);

            server.login(user, this);
            Console.WriteLine("Login succeeded...");
            this.currentUser = user;
            Console.WriteLine("Current user {0}", user);
        }
Exemple #3
0
        public void logout(OfficePers user, IClient client)
        {
            IClient localClient = loggedClients[user.Username];

            if (localClient == null)
            {
                throw new RaceException("User: "******" is not logged in.");
            }
            loggedClients.Remove(user.Username);
            //notifyLogOut(user);
        }
Exemple #4
0
        public void logout(OfficePers user, IClient client)
        {
            OfficePersonDTO officePersonDTO = DTOUtils.getDTO(user);

            sendRequest(new LogoutRequest(officePersonDTO));
            Response response = readResponse();

            closeConnection();
            if (response is ErrorResponse)
            {
                ErrorResponse err = (ErrorResponse)response;
                throw new RaceException(err.Message);
            }
        }
Exemple #5
0
        public void login(OfficePers user, IClient client)
        {
            OfficePers userOK = userRepo.findByUserPass(user.Username, user.Password);

            if (userOK != null)
            {
                if (loggedClients.ContainsKey(user.Username))
                {
                    throw new RaceException("User already logged in.");
                }
                loggedClients[user.Username] = client;
                //notifyLogIn(user);
            }
            else
            {
                throw new RaceException("Authentication failed.");
            }
        }
Exemple #6
0
        public OfficePers findByUserPass(string username, string password)
        {
            IDbConnection con = DbUtils.getConnection(props);

            log.Info("Find user by username and password");
            using (var comm = con.CreateCommand())
            {
                comm.CommandText = "select * " +
                                   "from OfficePers where username=@user and password = @password";
                IDbDataParameter paramUsername = comm.CreateParameter();
                paramUsername.ParameterName = "@user";
                paramUsername.Value         = username;
                comm.Parameters.Add(paramUsername);

                IDbDataParameter paramPass = comm.CreateParameter();
                paramPass.ParameterName = "@password";
                paramPass.Value         = password;
                comm.Parameters.Add(paramPass);


                using (var dataR = comm.ExecuteReader())
                {
                    if (dataR.Read())
                    {
                        int    idC   = dataR.GetInt32(0);
                        string name  = dataR.GetString(1);
                        string usern = dataR.GetString(2);
                        string pass  = dataR.GetString(3);

                        OfficePers pers = new OfficePers(idC, name, usern, pass);
                        con.Close();
                        return(pers);
                    }
                }
            }
            if (con.State == ConnectionState.Open)
            {
                con.Close();
            }


            return(null);
        }
Exemple #7
0
        public void login(OfficePers user, IClient client)
        {
            initializeConnection();
            OfficePersonDTO udto = DTOUtils.getDTO(user);

            sendRequest(new LoginRequest(udto));
            Response response = readResponse();

            if (response is OKResponse)
            {
                this.client = client;
                return;
            }
            if (response is ErrorResponse)
            {
                ErrorResponse err = (ErrorResponse)response;
                closeConnection();
                throw new RaceException(err.Message);
            }
        }
 public void logOut()
 {
     server.logout(currentUser, this);
     currentUser = null;
 }
 public ClientCtrl(IServer srv)
 {
     this.server = srv;
     currentUser = null;
 }
        private Response handleRequest(Request request)
        {
            Console.WriteLine("Handle request pentru..." + request);
            Response response = null;

            if (request is LoginRequest)
            {
                Console.WriteLine("Login request...");
                LoginRequest    loginRequest = (LoginRequest)request;
                OfficePersonDTO userDTO      = loginRequest.OfficePersonDTO();
                OfficePers      pers         = DTOUtils.getFromDTO(userDTO);
                try
                {
                    lock (server)
                    {
                        server.login(pers, this);
                        username = pers.Username;
                    }
                    return(new OKResponse());
                }catch (RaceException ex)
                {
                    connected = false;
                    return(new ErrorResponse(ex.Message));
                }
            }

            if (request is LogoutRequest)
            {
                Console.WriteLine("Logout request...");
                LogoutRequest   logReq = (LogoutRequest)request;
                OfficePersonDTO dTO    = logReq.OfficePersonDTO();
                OfficePers      user   = DTOUtils.getFromDTO(dTO);
                try
                {
                    lock (server)
                    {
                        server.logout(user, this);
                    }
                    connected = false;
                    return(new OKResponse());
                }catch (RaceException ex)
                {
                    return(new ErrorResponse(ex.Message));
                }
            }

            if (request is GetRacesRequest)
            {
                Console.WriteLine("Get all races request");
                GetRacesRequest req = (GetRacesRequest)request;
                try
                {
                    IList <Race> races = new List <Race>();
                    lock (server)
                    {
                        races = server.getAllRaces();
                    }
                    IList <RaceDTO> raceDTOs = new List <RaceDTO>();
                    foreach (Race r in races)
                    {
                        RaceDTO raceDTO = DTOUtils.getDTO(r);
                        raceDTOs.Add(raceDTO);
                    }
                    return(new GetRacesResponse((List <RaceDTO>)raceDTOs));
                }catch (Exception ex)
                {
                    throw new RaceException(ex.Message);
                }
            }

            if (request is GetContestantsRequest)
            {
                GetContestantsRequest req = (GetContestantsRequest)request;
                try
                {
                    IList <Contestant> contestants = new List <Contestant>();
                    lock (server)
                    {
                        contestants = server.getAllContestants();
                    }
                    IList <ContestantDTO> contestantDTOs = new List <ContestantDTO>();
                    foreach (Contestant c in contestants)
                    {
                        ContestantDTO dTO = DTOUtils.getDTO(c);
                        contestantDTOs.Add(dTO);
                    }
                    return(new GetContestantsResponse((List <ContestantDTO>)contestantDTOs));
                }catch (Exception e)
                {
                    throw new RaceException(e.Message);
                }
            }

            if (request is SaveRegistrationRequest)
            {
                Console.WriteLine("Saving registration...");
                SaveRegistrationRequest req             = (SaveRegistrationRequest)request;
                RegistrationDTO         registrationDTO = req.RegistrationDTO;
                try
                {
                    lock (server)
                    {
                        server.addContestant(registrationDTO.Contestant.Name, registrationDTO.Contestant.Engine, registrationDTO.Contestant.Team, username);
                    }
                    return(new OKResponse());
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.StackTrace);
                }
            }
            return(response);
        }
Exemple #11
0
 public void update(OfficePers entity)
 {
     throw new NotImplementedException();
 }
        public OfficePers validateCredentials(String username, String password)
        {
            OfficePers op = repoOp.findByUserPass(username, password);

            return(op);
        }