示例#1
0
 // Remove Some DAO Administrator.
 public void RemoveAdministrator(LoginToken <Administrator> token, Administrator admin)
 {
     if (token.User.User_Name.ToUpper() == FlyingCenterConfig.ADMIN_NAME && token.User.Password == FlyingCenterConfig.ADMIN_PASSWORD && admin != null)
     {
         User adminUser = _userDAO.GetUserById(admin.Id);
         if (adminUser != null)
         {
             _adminDAO.Remove(admin);
             _userDAO.RemoveUserName(adminUser);
             _backgroundDAO.AddNewAction(Categories.Administrators | Categories.Deletions, $"Admin {token.User.User_Name} Tried To Delete Some Admin. Id: {admin.Id} ({admin.User_Name}).", true);
         }
         else
         {
             _backgroundDAO.AddNewAction(Categories.Administrators | Categories.Deletions, $"Admin {token.User.User_Name} Tried To Delete Some Admin. Id: {admin.Id} ({admin.User_Name}).", false);
             throw new UserNotExistException($"Sorry, But '{admin.User_Name}' Does Not Exist.");
         }
     }
     else
     {
         _backgroundDAO.AddNewAction(Categories.Administrators | Categories.Deletions, $"Not Qualified User Tried To Delete Some Admin. Id: {admin.Id} ({admin.User_Name}).", false);
     }
 }
示例#2
0
 // Force Change Password For Some Customer.
 public void ForceChangePasswordForCustomer(LoginToken <Administrator> token, Customer customer, string newPassword)
 {
     if (UserIsValid(token) && customer != null)
     {
         User customerUser = _userDAO.GetUserById(customer.Id);
         if (customerUser != null)
         {
             _userDAO.ForceChangePasswordForUser(customerUser, newPassword);
             customer.ChangePassword(newPassword);
             _backgroundDAO.AddNewAction(Categories.Customers | Categories.Updates, $"Admin: {token.User.User_Name} Tried To Change Password In Force For Some Customer. Id: {customer.Id} ({customer.User_Name}).", true);
         }
         else
         {
             _backgroundDAO.AddNewAction(Categories.Customers | Categories.Updates, $"Admin: {token.User.User_Name} Tried To Change Password In Force For Some Customer. Id: {customer.Id} ({customer.User_Name}).", false);
             throw new UserNotExistException($"Sorry, But '{customer.User_Name}' Is Not Exist.");
         }
     }
     else
     {
         _backgroundDAO.AddNewAction(Categories.Customers | Categories.Updates, $"Anonymous User Tried To Change Password In Force For Some Customer. Id: {customer.Id} ({customer.User_Name}).", false);
     }
 }
示例#3
0
 // Force Change Password For Some Airline.
 public void ForceChangePasswordForAirline(LoginToken <Administrator> token, AirlineCompany airline, string newPassword)
 {
     if (UserIsValid(token) && airline != null)
     {
         User airlineUser = _userDAO.GetUserById(airline.Id);
         if (airlineUser != null)
         {
             _userDAO.ForceChangePasswordForUser(airlineUser, newPassword);
             airline.ChangePassword(newPassword);
             _backgroundDAO.AddNewAction(Categories.AirlineCompanies | Categories.Updates, $"Admin: {token.User.User_Name} Tried To Change Password In Force For Some Airline Company. Id: {airline.Id} ({airline.User_Name}).", true);
         }
         else
         {
             _backgroundDAO.AddNewAction(Categories.AirlineCompanies | Categories.Updates, $"Admin: {token.User.User_Name} Tried To Change Password In Force For Some Airline Company. Id: {airline.Id} ({airline.User_Name}).", false);
             throw new UserNotExistException($"Sorry, But '{airline.User_Name}' Is Not Exist.");
         }
     }
     else
     {
         _backgroundDAO.AddNewAction(Categories.AirlineCompanies | Categories.Updates, $"Anonymous User Tried To Change Password In Force For Some Airline Company. Id: {airline.Id} ({airline.User_Name}).", false);
     }
 }
示例#4
0
 // Update Details For Some Customer.
 public void UpdateCustomerDetails(LoginToken <Administrator> token, Customer customer)
 {
     if (UserIsValid(token) && customer != null)
     {
         User customerUser = _userDAO.GetUserById(customer.Id);
         if (customerUser != null)
         {
             _userDAO.UpdateUserName(customerUser.User_Name, customer.User_Name);
             _customerDAO.Update(customer);
             _backgroundDAO.AddNewAction(Categories.Customers | Categories.Updates, $"Admin: {token.User.User_Name} Tried To Update Some Customer. Id: {customer.Id} ({customer.User_Name}).", true);
         }
         else
         {
             _backgroundDAO.AddNewAction(Categories.Customers | Categories.Updates, $"Admin: {token.User.User_Name} Tried To Update Some Customer. Id: {customer.Id} ({customer.User_Name}).", false);
             throw new UserNotExistException($"Sorry, But '{customer.User_Name}' Does Not Exist.");
         }
     }
     else
     {
         _backgroundDAO.AddNewAction(Categories.Customers | Categories.Updates, $"Anonymous User Tried To Update Some Customer. Id: {customer.Id} ({customer.User_Name}).", false);
     }
 }
示例#5
0
 // Update Details For Some Airline Company.
 public void UpdateAirlineDetails(LoginToken <Administrator> token, AirlineCompany airline)
 {
     if (UserIsValid(token) && airline != null)
     {
         User airlineUser = _userDAO.GetUserById(airline.Id);
         if (airlineUser != null)
         {
             _userDAO.UpdateUserName(airlineUser.User_Name, airline.User_Name);
             _airlineDAO.Update(airline);
             _backgroundDAO.AddNewAction(Categories.AirlineCompanies | Categories.Updates, $"Admin: {token.User.User_Name} Tried To Update Details For Some Airline Company. Id: {airline.Id} ({airline.User_Name}).", true);
         }
         else
         {
             _backgroundDAO.AddNewAction(Categories.AirlineCompanies | Categories.Updates, $"Admin: {token.User.User_Name} Tried To Update Details For Some Airline Company. Id: {airline.Id} ({airline.User_Name}).", false);
             throw new UserNotExistException($"Sorry, But '{airline.User_Name}' Does Not Exist.");
         }
     }
     else
     {
         _backgroundDAO.AddNewAction(Categories.AirlineCompanies | Categories.Updates, $"Anonymous User Tried To Update Details For Some Airline Company. Id: {airline.Id} ({airline.User_Name}).", false);
     }
 }
示例#6
0
 // Remove Some Airline Company.
 public void RemoveAirline(LoginToken <Administrator> token, AirlineCompany airline)
 {
     if (UserIsValid(token) && airline != null)
     {
         User airlineUser = _userDAO.GetUserById(airline.Id);
         if (airlineUser != null)
         {
             _airlineDAO.Remove(airline);
             _userDAO.RemoveUserName(airlineUser);
             _backgroundDAO.AddNewAction(Categories.AirlineCompanies | Categories.Deletions, $"Admin {token.User.User_Name} Tried Delete Some Admin. Id: {airline.Id} ({airline.User_Name}).", true);
         }
         else
         {
             _backgroundDAO.AddNewAction(Categories.AirlineCompanies | Categories.Deletions, $"Admin {token.User.User_Name} Tried Delete Some Admin. Id: {airline.Id} ({airline.User_Name}).", false);
             throw new UserNotExistException($"Sorry, But '{airline.User_Name}' Does Not Exist.");
         }
     }
     else
     {
         _backgroundDAO.AddNewAction(Categories.AirlineCompanies | Categories.Deletions, $"Anonymous User Tried Delete Some Airline Comapny. Id: {airline.Id} ({airline.User_Name}).", false);
     }
 }
 //Remove Some Customer.
 public void RemoveCustomer(LoginToken <Administrator> token, Customer customer)
 {
     if (UserIsValid(token) && customer != null)
     {
         User customerUser = _userDAO.GetUserById(customer.Id);
         if (customerUser != null)
         {
             _customerDAO.Remove(customer);
             _userDAO.RemoveUserName(customerUser);
             _backgroundDAO.AddNewAction(Categories.Customers | Categories.Deletions, $"Admin {token.User.User_Name} Tried Delete Some Admin. Id: {customer.Id} ({customer.User_Name}).", true);
         }
         else
         {
             _backgroundDAO.AddNewAction(Categories.Customers | Categories.Deletions, $"Admin {token.User.User_Name} Tried Delete Some Admin. Id: {customer.Id} ({customer.User_Name}).", false);
             throw new UserNotExistException($"Sorry, But '{customer.User_Name}' Does Not Exist.");
         }
         _backgroundDAO.AddNewAction(Categories.Customers | Categories.Deletions, $"Admin {token.User.User_Name} Tried Delete Some Admin. Id: {customer.Id} ({customer.User_Name}).", customerUser != null);
     }
     else
     {
         _backgroundDAO.AddNewAction(Categories.Customers | Categories.Deletions, $"Anonymous User Tried Delete Some Airline Comapny. Id: {customer.Id} ({customer.User_Name}).", false);
     }
 }
 // Update Details For Some Administrator.
 public void UpdateAdminDetails(LoginToken <Administrator> token, Administrator admin)
 {
     if (UserIsValid(token))
     {
         if (admin != null && ReferenceEquals(token.User.User_Name, admin.User_Name) || token.User.User_Name.ToUpper() == FlyingCenterConfig.ADMIN_NAME)
         {
             User adminUser = _userDAO.GetUserById(admin.Id);
             if (adminUser != null)
             {
                 if (admin.User_Name != FlyingCenterConfig.ADMIN_NAME)
                 {
                     _userDAO.UpdateUserName(adminUser.User_Name, admin.User_Name);
                 }
                 else
                 {
                     throw new CentralAdministratorException("The UserName Cannot Be Changed To The Same Name As The  Central Administrator UserName.");
                 }
                 _adminDAO.Update(admin);
                 _backgroundDAO.AddNewAction(Categories.Administrators | Categories.Updates, $"Admin: {token.User.User_Name} Tried Update Some Admin. Id: {admin.Id} ({admin.User_Name}).", true);
             }
             else
             {
                 _backgroundDAO.AddNewAction(Categories.Administrators | Categories.Updates, $"Admin: {token.User.User_Name} Tried Update Some Admin. Id: {admin.Id} ({admin.User_Name}).", false);
                 throw new UserNotExistException($"Sorry, But '{admin.User_Name}' Does Not Exist.");
             }
         }
         else
         {
             _backgroundDAO.AddNewAction(Categories.Administrators | Categories.Updates, $"Not Qualified User Tried Update Some Admin. Id: {admin.Id} ({admin.User_Name}).", false);
             throw new CentralAdministratorException("Only Central Administrator Or Who Updateds Himself Can Update Details.");
         }
     }
     else
     {
         _backgroundDAO.AddNewAction(Categories.Administrators | Categories.Updates, $"Anonymous User Tried Update Some Admin. Id: {admin.Id} ({admin.User_Name}).", false);
     }
 }
 // Change Password For Current Customer.
 public void ChangeMyPassword(LoginToken <Customer> token, string oldPassword, string newPassword)
 {
     if (UserIsValid(token))
     {
         User customerUser = _userDAO.GetUserById(token.User.Id);
         if (customerUser != null)
         {
             if (_userDAO.TryChangePasswordForUser(customerUser, oldPassword, newPassword))
             {
                 token.User.ChangePassword(newPassword);
                 _backgroundDAO.AddNewAction(Categories.Customers | Categories.Updates, $"Customer: {token.User.User_Name} Tried To Change His Password.", true);
             }
             else
             {
                 _backgroundDAO.AddNewAction(Categories.Customers | Categories.Updates, $"Customer: {token.User.User_Name} Tried To Change His Password.", false);
                 throw new WrongPasswordException("Your Old Password Is Incorrect!");
             }
         }
     }
     else
     {
         _backgroundDAO.AddNewAction(Categories.Customers | Categories.Updates, $"Anonymous User Tried To Change Password For Some Custmer. Id: {token.User.Id} ({token.User.User_Name}).", false);
     }
 }
 // Change Password For Current Company.
 public void ChangeMyPassword(LoginToken <AirlineCompany> token, string oldPassword, string newPassword)
 {
     if (UserIsValid(token))
     {
         User airlineUser = _userDAO.GetUserById(token.User.Id);
         if (airlineUser != null)
         {
             if (_userDAO.TryChangePasswordForUser(airlineUser, oldPassword, newPassword))
             {
                 token.User.ChangePassword(newPassword);
                 _backgroundDAO.AddNewAction(Categories.AirlineCompanies | Categories.Updates, $"{token.User.User_Name} Company Tried To Change Her Password.", true);
             }
             else
             {
                 _backgroundDAO.AddNewAction(Categories.AirlineCompanies | Categories.Updates, $"{token.User.User_Name} Company Tried To Change Her Password.", false);
                 throw new WrongPasswordException("Your Old Password Is Incorrect!");
             }
         }
     }
     else
     {
         _backgroundDAO.AddNewAction(Categories.AirlineCompanies | Categories.Updates, $"Anonymous User Tried To Change Password For Some Airline Company. Id: {token.User.Id} ({token.User.User_Name}).", false);
     }
 }
示例#11
0
        public UserType TryLogin(string userName, string password, out ILogin token, out FacadeBase facade)
        {
            token  = null;
            facade = new AnonymousUserFacade();

            // Default Admin.
            if (userName.ToUpper() == FlyingCenterConfig.ADMIN_NAME.ToUpper())
            {
                if (password.ToUpper() == FlyingCenterConfig.ADMIN_PASSWORD.ToUpper())
                {
                    token = new LoginToken <Administrator>
                    {
                        User = new Administrator
                               (
                            0, //Admin Number
                            0, //Id
                            FlyingCenterConfig.ADMIN_NAME,
                            FlyingCenterConfig.ADMIN_PASSWORD
                               )
                    };
                    facade = new LoggedInAdministratorFacade();
                    return(UserType.Administrator);
                }
                else
                {
                    throw new WrongPasswordException("Sorry, But Your Password Isn't Match To Your User Name.");
                }
            }

            // DAO Users.
            User user = _userDAO.GetUserByUserName(userName);

            if (user != null)
            {
                if (user.User_Name == userName)
                {
                    if (password.ToUpper() == user.Password.ToUpper())
                    {
                        switch (user.MyType)
                        {
                        case UserType.Administrator:
                        {
                            Administrator admin = _administratorDAO.GetById(user.Id);
                            token = new LoginToken <Administrator>
                            {
                                User = new Administrator
                                       (
                                    admin.Admin_Number,
                                    user.Id,
                                    user.User_Name,
                                    user.Password
                                       )
                            };
                            facade = new LoggedInAdministratorFacade();
                            return(UserType.Administrator);
                        }

                        case UserType.Airline:
                        {
                            AirlineCompany airline = _airlineDAO.GetById(user.Id);
                            token = new LoginToken <AirlineCompany>
                            {
                                User = new AirlineCompany
                                       (
                                    airline.Airline_Number,
                                    user.Id,
                                    user.User_Name,
                                    user.Password,
                                    airline.Airline_Name,
                                    airline.Country_Code
                                       )
                            };
                            facade = new LoggedInAirlineFacade();
                            return(UserType.Airline);
                        }

                        case UserType.Customer:
                        {
                            Customer customer = _customerDAO.GetById(user.Id);
                            token = new LoginToken <Customer>
                            {
                                User = new Customer
                                       (
                                    customer.Customer_Number,
                                    user.Id,
                                    user.User_Name,
                                    user.Password,
                                    customer.First_Name,
                                    customer.Last_Name,
                                    customer.Address,
                                    customer.Phone_No,
                                    customer.Credit_Card_Number
                                       )
                            };
                            facade = new LoggedInCustomerFacade();
                            return(UserType.Customer);
                        }

                        default:
                        {
                            return(UserType.Anonymous);
                        }
                        }
                    }
                    else
                    {
                        throw new WrongPasswordException("Sorry, But Your Password Is Not Match To Your User Name.");
                    }
                }
                else
                {
                    throw new UserNotExistException($"Sorry, But {userName} Does Not Exist.");
                }
            }
            return(UserType.Anonymous);
        }