// Change Password Of Current Airline.
 public void ChangePassword(AirlineCompany airline)
 {
     using (SqlConnection conn = new SqlConnection(FlyingCenterConfig.CONNECTION_STRING))
     {
         conn.Open();
         using (SqlCommand cmd = new SqlCommand($"Update AirLineCompanies Set Password = '******' Where Id = {airline.Id}", conn))
         {
             cmd.ExecuteNonQuery();
         }
     }
 }
 // Remove Airline Company.
 public bool Remove(AirlineCompany t)
 {
     using (SqlConnection conn = new SqlConnection(FlyingCenterConfig.CONNECTION_STRING))
     {
         conn.Open();
         using (SqlCommand cmd = new SqlCommand($"Delete from Tickets Where Flight_Id = (select  TOP 1 Id from Flights where AirlineCompany_Id = (select Id from AirlineCompanies where Id = {t.Id})); " +
                                                $"Delete from Flights Where AirlineCompany_Id = (select Id from AirlineCompanies where Id = {t.Id});" +
                                                $"Delete from AirlineCompanies where Id = {t.Id}", conn))
         {
             cmd.ExecuteNonQuery();
             return(true);
         }
     }
     throw new UserNotExistException("Sorry, But This Company Does Not Exist.");
 }
 // Update Airline Company (Except Password).
 public bool Update(AirlineCompany t)
 {
     using (SqlConnection conn = new SqlConnection(FlyingCenterConfig.CONNECTION_STRING))
     {
         conn.Open();
         using (SqlCommand cmd = new SqlCommand($"Update AirLineCompanies Set Airline_Name = '{t.AirlineName}'," +
                                                $"Country_Code = '{t.CountryCode}' Where Id = {t.Id}", conn))
         {
             using (SqlDataReader reader = cmd.ExecuteReader())
             {
                 if (reader.RecordsAffected > 0)
                 {
                     return(true);
                 }
             }
         }
     }
     throw new UserNotExistException("Sorry, But This Airline Does Not Exist.");
 }
        //====== Crud Commands ======//

        // Add New Airline Company.
        public long Add(AirlineCompany t)
        {
            long airlineNumber = 0;

            using (SqlConnection conn = new SqlConnection(FlyingCenterConfig.CONNECTION_STRING))
            {
                using (SqlCommand cmd = new SqlCommand($"Add_Airline", conn))
                {
                    cmd.Connection.Open();

                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@Id", t.Id);
                    cmd.Parameters.AddWithValue("@Airline_Name", t.AirlineName);
                    cmd.Parameters.AddWithValue("@Country_Code", t.CountryCode);

                    airlineNumber = (long)cmd.ExecuteScalar();
                }
            }
            return(airlineNumber);
        }
        // This Function Override The Real Function Equals And Compair Between This.Id And Other.Id.
        public override bool Equals(object obj)
        {
            AirlineCompany otherAirline = obj as AirlineCompany;

            return(this.Id == otherAirline.Id);
        }
示例#6
0
        public bool TryLogin(User userDetails, out ILogin token, out FacadeBase facade)
        {
            token  = null;
            facade = new AnonymousUserFacade();
            // Default Admin.
            if (userDetails.Type == UserTypes.Administrator && userDetails.UserName.ToUpper() == FlyingCenterConfig.ADMIN_NAME.ToUpper())
            {
                if (userDetails.Password.ToUpper() == FlyingCenterConfig.ADMIN_PASSWORD.ToUpper())
                {
                    token = new LoginToken <IUser>
                    {
                        User = new Administrator
                               (
                            0, //Admin Number
                            0, //UserId
                            FlyingCenterConfig.ADMIN_NAME,
                            FlyingCenterConfig.ADMIN_PASSWORD
                               )
                    };
                    facade = new LoggedInAdministratorFacade();
                    return(true);
                }
                else
                {
                    throw new WrongPasswordException("Sorry, But Your Password Isn't Match To Your User Name.");
                }
            }

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

            if (user != null)
            {
                if (user.UserName.ToUpper() == userDetails.UserName.ToUpper())
                {
                    if (userDetails.Password.ToUpper() == user.Password.ToUpper())
                    {
                        switch (userDetails.Type)
                        {
                        case UserTypes.Administrator:
                        {
                            Administrator admin = _administratorDAO.GetById(user.Id);
                            token = new LoginToken <IUser>
                            {
                                User = new Administrator
                                       (
                                    admin.AdminNumber,
                                    user.Id,
                                    user.UserName,
                                    user.Password
                                       )
                            };
                            facade = new LoggedInAdministratorFacade();
                            return(true);
                        }

                        case UserTypes.Airline:
                        {
                            AirlineCompany airline = _airlineDAO.GetById(user.Id);
                            token = new LoginToken <IUser>
                            {
                                User = new AirlineCompany
                                       (
                                    airline.AirlineNumber,
                                    user.Id,
                                    user.UserName,
                                    user.Password,
                                    airline.AirlineName,
                                    airline.CountryCode
                                       )
                            };
                            facade = new LoggedInAirlineFacade();
                            return(true);
                        }

                        case UserTypes.Customer:
                        {
                            Customer customer = _customerDAO.GetById(user.Id);
                            token = new LoginToken <IUser>
                            {
                                User = new Customer
                                       (
                                    customer.CustomerNumber,
                                    user.Id,
                                    user.UserName,
                                    user.Password,
                                    customer.FirstName,
                                    customer.LastName,
                                    customer.Address,
                                    customer.PhoneNo,
                                    customer.CreditCardNumber
                                       )
                            };
                            return(true);
                        }

                        default:
                            return(false);
                        }
                    }
                    else
                    {
                        throw new WrongPasswordException("Sorry, But Your Password Doe's Not Match To Your User Name.");
                    }
                }
                else
                {
                    throw new UserNotExistException($"Sorry, But {userDetails.UserName} Does Not Exist.");
                }
            }
            return(false);
        }