Пример #1
0
        public static void AddNewUser(string firstName, string lastName, DateTime birthDate, User.Gender gender, string email,
                                      string address, string postalCode, string city, string password, string accountType)
        {
            if (accountType == "Volunteer")
            {
                Volunteer currentUser = new Volunteer(firstName, lastName, address, city, postalCode, address, birthDate, gender,
                                                      true, User.AccountType.Volunteer);
            }
            else if (accountType == "Admin")
            {
                Admin currentUser = new Admin(firstName, lastName, address, city, postalCode, address, birthDate, gender,
                                              true, User.AccountType.Admin);
            }
            else if (accountType == "CareRecipient")
            {
                CareRecipient currentUser = new CareRecipient(firstName, lastName, address, city, postalCode, address, birthDate, gender,
                                                              true, User.AccountType.CareRecipient);
            }
            else if (accountType == "Professional")
            {
                Professional currentUser = new Professional(firstName, lastName, address, city, postalCode, address, birthDate, gender,
                                                            true, User.AccountType.Professional);
            }

            string genderString = gender.ToString();

            userRepo.AddNewUser(firstName, lastName, birthDate, genderString, email, address, postalCode, city, password, accountType);
        }
Пример #2
0
        public User getCurrentUserInfo(string email)
        {
            try
            {
                string query =
                    "SELECT UserID, AccountType, FirstName, LastName, Birthdate, Sex, Email, Address, PostalCode, City, Status " +
                    "FROM [User] " +
                    "WHERE Email = @email";

                _conn.Open();
                SqlParameter emailParam = new SqlParameter();
                emailParam.ParameterName = "@email";
                SqlCommand cmd = new SqlCommand(query, _conn);
                emailParam.Value = email;
                cmd.Parameters.Add(emailParam);
                User currentUser = new Admin("a", "b", "c,", "d", "e", "f", Convert.ToDateTime("1988/12/20"), User.Gender.M, true, User.AccountType.CareRecipient);
                using (SqlDataReader reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        string      accountType = reader.GetString(1);
                        User.Gender gender      = (User.Gender)Enum.Parse(typeof(User.Gender), reader.GetString(5));


                        if (accountType == "Admin")
                        {
                            currentUser = new Admin(reader.GetInt32(0), reader.GetString(2), reader.GetString(3), reader.GetString(7), reader.GetString(9), reader.GetString(8), email,
                                                    reader.GetDateTime(4), gender, reader.GetBoolean(10), User.AccountType.Admin);
                        }
                        else if (accountType == "Professional")
                        {
                            currentUser = new Professional(reader.GetInt32(0), reader.GetString(2), reader.GetString(3), reader.GetString(7), reader.GetString(9), reader.GetString(8), email,
                                                           reader.GetDateTime(4), gender, reader.GetBoolean(10), User.AccountType.Professional);
                        }
                        else if (accountType == "Volunteer")
                        {
                            currentUser = new Volunteer(reader.GetInt32(0), reader.GetString(2), reader.GetString(3), reader.GetString(7), reader.GetString(9), reader.GetString(8), email,
                                                        reader.GetDateTime(4), gender, reader.GetBoolean(10), User.AccountType.Volunteer);
                        }
                        else
                        {
                            currentUser = new CareRecipient(reader.GetInt32(0), reader.GetString(2), reader.GetString(3), reader.GetString(7), reader.GetString(9), reader.GetString(8), email,
                                                            reader.GetDateTime(4), gender, reader.GetBoolean(10), User.AccountType.CareRecipient);
                        }
                        return(currentUser);
                    }
                    return(currentUser);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
            finally
            {
                _conn.Close();
            }
        }
Пример #3
0
        public List <User> GetAllUsers()
        {
            string query =
                "SELECT UserID, AccountType, FirstName, LastName, Birthdate, Sex, Email, Address, PostalCode, City, Status " +
                "FROM [User]";

            _conn.Open();
            SqlCommand cmd = new SqlCommand(query, _conn);

            List <User> Users = new List <User>();

            using (SqlDataReader reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    int         userID      = reader.GetInt32(0);
                    string      accountType = reader.GetString(1);
                    string      firstName   = reader.GetString(2);
                    string      lastName    = reader.GetString(3);
                    DateTime    birthDate   = reader.GetDateTime(4);
                    User.Gender gender      = (User.Gender)Enum.Parse(typeof(User.Gender), reader.GetString(5));
                    string      email       = reader.GetString(6);
                    string      address     = reader.GetString(7);
                    string      postalCode  = reader.GetString(8);
                    string      city        = reader.GetString(9);
                    bool        status      = reader.GetBoolean(10);


                    if (accountType == "CareRecipient")
                    {
                        User user = new CareRecipient(userID, firstName, lastName, address, city, postalCode, email,
                                                      birthDate, gender, status, User.AccountType.CareRecipient);
                        Users.Add(user);
                    }

                    else if (accountType == "Volunteer")
                    {
                        User user = new CareRecipient(userID, firstName, lastName, address, city, postalCode, email,
                                                      birthDate, gender, status, User.AccountType.Volunteer);
                        Users.Add(user);
                    }
                    else
                    {
                        User user = new CareRecipient(userID, firstName, lastName, address, city, postalCode, email,
                                                      birthDate, gender, status, User.AccountType.Admin);
                        Users.Add(user);
                    }
                }
            }

            _conn.Close();
            return(Users);
        }
        public List <User> GetAllUsers()
        {
            try
            {
                string query =
                    "SELECT DISTINCT UserID, AccountType, FirstName, LastName, Birthdate, Sex, Email, Address, PostalCode, City, Status, Password, CP.ProfessionalID" +


                    " FROM[User] U" +
                    "  LEFT JOIN CareRecipientProfessional CP ON CP.CareRecipientID = U.UserID ";

                _conn.Open();
                SqlCommand cmd = new SqlCommand(query, _conn);

                List <User> users = new List <User>();


                DataTable dt = new DataTable();
                dt.Load(cmd.ExecuteReader());

                _conn.Close();


                foreach (DataRow dr in dt.Rows)
                {
                    int         userId         = Convert.ToInt32(dr["UserID"]);
                    string      accountType    = dr["AccountType"].ToString();
                    string      firstName      = dr["FirstName"].ToString();
                    string      lastName       = dr["LastName"].ToString();
                    DateTime    birthDate      = Convert.ToDateTime(dr["Birthdate"].ToString());
                    User.Gender gender         = (User.Gender)Enum.Parse(typeof(User.Gender), dr["Sex"].ToString());
                    string      email          = dr["Email"].ToString();
                    string      address        = dr["Address"].ToString();
                    string      postalCode     = dr["PostalCode"].ToString();
                    string      city           = dr["City"].ToString();
                    bool        status         = Convert.ToBoolean(dr["Status"].ToString());
                    string      password       = dr["Password"].ToString();
                    int         professionalId = 0;

                    if (dr["ProfessionalID"] != DBNull.Value)
                    {
                        professionalId = Int32.Parse((dr["ProfessionalID"]).ToString());
                    }

                    if (accountType == "CareRecipient")
                    {
                        if (professionalId != 0)
                        {
                            User professional = GetUserById(professionalId);

                            User user = new CareRecipient(userId, firstName, lastName, address, city, postalCode, email,
                                                          birthDate, gender, status, User.AccountType.CareRecipient, password, professional);
                            users.Add(user);
                        }
                        else
                        {
                            User user = new CareRecipient(userId, firstName, lastName, address, city, postalCode, email,
                                                          birthDate, gender, status, User.AccountType.CareRecipient, password);
                            users.Add(user);
                        }
                    }

                    else if (accountType == "Volunteer")
                    {
                        User user = new CareRecipient(userId, firstName, lastName, address, city, postalCode, email,
                                                      birthDate, gender, status, User.AccountType.Volunteer, password);
                        users.Add(user);
                    }
                    else
                    {
                        User user = new CareRecipient(userId, firstName, lastName, address, city, postalCode, email,
                                                      birthDate, gender, status, User.AccountType.Admin, password);
                        users.Add(user);
                    }
                }

                return(users);
            }
            catch (SqlException e)
            {
                Console.WriteLine(e);
                throw;
            }
        }