public void UpdateCustomerDetails() { Customer customer = Admin.GetCustomerByUserName(AdminLogin, c.UserName); customer.UserName = "******"; Admin.UpdateCustomerDetails(AdminLogin, customer); }
public TestCenter() { adminFacade = new LoggedInAdministratorFacade(); adminToken = new LoginToken <Administrator> { User = new Administrator(FlyingCenterConfig.ADMIN_NAME, FlyingCenterConfig.ADMIN_PASSWORD) }; adminFacade.CreateNewCountry(adminToken, new Country() { Country_Name = "Israel", }); airlineFacade = new LoggedInAirlineFacade(); airlineToken = new LoginToken <AirlineCompany> { User = new AirlineCompany("TestAirline", "Airline " + UserTest(), "123", (int)adminFacade.GetCountryByName("Israel").Id) }; adminFacade.CreateNewAirline(adminToken, airlineToken.User); airlineToken.User = adminFacade.GetAirlineByUserName(airlineToken.User.User_Name); customerFacade = new LoggedInCustomerFacade(); customerToken = new LoginToken <Customer> { User = new Customer("TestCustomer", "Ben Sadon", UserTest(), "123", "Neria 28", "050", "3317") }; adminFacade.CreateNewCustomer(adminToken, customerToken.User); customerToken.User = adminFacade.GetCustomerByUserName(adminToken, customerToken.User.User_Name); }
public override void OnAuthorization(HttpActionContext actionContext) { string authenticationToken = actionContext.Request.Headers.Authorization.Parameter; string decodedAuthenticationToken = Encoding.UTF8.GetString( Convert.FromBase64String(authenticationToken)); string[] usernamePasswordArray = decodedAuthenticationToken.Split(':'); string username = usernamePasswordArray[0]; string password = usernamePasswordArray[1]; try { AdminLogin.User = admin; customer = facade.GetCustomerByUserName(AdminLogin, username); if (username == customer.UserName && password == customer.Password) { actionContext.Request.Properties["token"] = customer; } else { actionContext.Response = actionContext.Request .CreateResponse(HttpStatusCode.Unauthorized, "incorrect user or password"); } } catch (Exception) { } }
/// <summary> /// Constractor Of Test Center To Create Facade And Token For Basic Users. /// </summary> public TestCenter() { adminFacade = new LoggedInAdministratorFacade(); adminToken = FlyingCenterConfig.basicToken; adminFacade.CreateNewCountry(adminToken, new Country() { Country_Name = "Israel", }); airlineFacade = new LoggedInAirlineFacade(); airlineToken = new LoginToken <AirlineCompany> { User = new AirlineCompany(GetRandomNameForTestUsers(), "Airline " + GetRandomNameForTestUsers(), "123", (int)adminFacade.GetCountryByName("Israel").Id) }; adminFacade.CreateNewAirline(adminToken, airlineToken.User); airlineToken.User = adminFacade.GetAirlineByUserName(adminToken, airlineToken.User.User_Name); customerFacade = new LoggedInCustomerFacade(); customerToken = new LoginToken <Customer> { User = new Customer("TestCustomer", "Ben Sadon", "Customer" + "Customer" + GetRandomNameForTestUsers(), "123", "Neria 28", "050", "3317") }; adminFacade.CreateNewCustomer(adminToken, customerToken.User); customerToken.User = adminFacade.GetCustomerByUserName(adminToken, customerToken.User.User_Name); }
public override void OnAuthorization(HttpActionContext actionContext) { if (actionContext.Request.Headers.Authorization == null) { actionContext.Request.CreateResponse(HttpStatusCode.Forbidden, "You must login with user name and password!"); return; } string authenticationToken = actionContext.Request.Headers.Authorization.Parameter; string decodedAuthenticationToken = Encoding.UTF8.GetString(Convert.FromBase64String(authenticationToken)); string[] userNameAndPasswordArray = decodedAuthenticationToken.Split(':'); string userName = userNameAndPasswordArray[0]; string password = userNameAndPasswordArray[1]; ILoginTokenBase loginToken = FlyingCenterSystem.GetInstance().Login("admin", "9999"); adminFacade = new LoggedInAdministratorFacade(); Customer customer = adminFacade.GetCustomerByUserName(userName); if (customer == null) { actionContext.Request.CreateResponse(HttpStatusCode.Forbidden, "This user name is not exist!"); return; } if (customer.PASSWORD == password) { ILoginTokenBase customerLoginToken = FlyingCenterSystem.GetInstance().Login(userName, password); actionContext.Request.Properties["login-customer"] = customerLoginToken; } actionContext.Request.CreateResponse(HttpStatusCode.Unauthorized, "You are not allowed!"); }
// Create And Log As Customer For The Tests. static public void CreateAndLogAsCustomer(out LoginToken <Customer> token, out LoggedInCustomerFacade facade) { facade = new LoggedInCustomerFacade(); token = new LoginToken <Customer> { User = new Customer { First_Name = "TestCustomer", Last_Name = "Cohen", User_Name = UserTest(), Password = "******", Address = "Ashkelon", Phone_No = "05411111111", Credit_Card_Number = "34233423" } }; defaultFacade.CreateNewCustomer(defaultToken, token.User); token.User = defaultFacade.GetCustomerByUserName(defaultToken, token.User.User_Name); }
public IHttpActionResult CreateNewCustomer([FromBody] Customer customer) { GetLoginToken(); try { facade.CreateNewCustomer(AdminLogin, customer); Customer c = facade.GetCustomerByUserName(AdminLogin, customer.UserName); c.Id = customer.Id; if (c == customer) { return(Ok(customer)); } return(BadRequest()); } catch (Exception) { return(NotFound()); } }
// 6. Create Random Ticket From API Web. public void ReadTicketsFromAPI(int times) { int success = 0; IList <Customer> customers = adminFacade.GetAllCustomers(adminToken); IList <Flight> flights = new AnonymousUserFacade().GetAllFlights(); MainWindow.m_Dispatcher.Invoke(DispatcherPriority.ApplicationIdle, new ThreadStart(new Action(() => ViewModel.Logger.Add("Start Create Tickets...")))); User user; for (int i = 0; i < userNamesOfCustomers.Count; i++) { user = new User(adminFacade.GetCustomerByUserName(adminToken, userNamesOfCustomers[i]).User_Name, adminFacade.GetCustomerByUserName(adminToken, userNamesOfCustomers[i]).Password, UserType.Customer, true); FlyingCenterSystem.GetUserAndFacade(user, out ILogin token, out FacadeBase facade); LoginToken <Customer> customerToken = token as LoginToken <Customer>; LoggedInCustomerFacade customerFacade = new LoggedInCustomerFacade(); for (int j = 0; j < times; j++) { HttpResponseMessage response = client.GetAsync("").Result; if (response.IsSuccessStatusCode) { APIUser ticketAPI = response.Content.ReadAsAsync <APIUser>().Result; customerFacade.PurchaseTicket(customerToken, flights[j]); MainWindow.m_Dispatcher.Invoke(DispatcherPriority.ApplicationIdle, new ThreadStart(new Action(() => ViewModel.Logger[ViewModel.Logger.Count - 1] = $"- {success+1}/{times * userNamesOfCustomers.Count} Tickets Was Generated."))); success++; } ViewModel.HowMuchCreated++; } } userNamesOfCustomers = new List <string>(); if (times > 0) { log.Info($"\n{success} Tickets Were Created And {times - success} Failed.\n"); MainWindow.m_Dispatcher.Invoke(DispatcherPriority.ApplicationIdle, new ThreadStart(new Action(() => ViewModel.Logger.Add($"- Tickets Generator Is Over. ({success} Were Created And {times - success} Failed).")))); } else { MainWindow.m_Dispatcher.Invoke(DispatcherPriority.ApplicationIdle, new ThreadStart(new Action(() => ViewModel.Logger[ViewModel.Logger.Count - 1] = $"- No Creation Request For Tickets."))); } }
public void AdminFacadeTest() { // Deleting database FlightCenterConfig.DeleteDataBase(); //Creating DAO'S samples to test long airlineCompanyId1 = 0, airlineCompanyId2 = 0, countryId1 = 0, countryId2 = 0, flightId1 = 0, customerId1 = 0; AirLineDAOMSSQL adao = new AirLineDAOMSSQL(); FlightDAOMSSQL fdao = new FlightDAOMSSQL(); CustomerDAOMSSQL cdao = new CustomerDAOMSSQL(); CountryDAOMSSQL cydao = new CountryDAOMSSQL(); TicketDAOMSSQL tdao = new TicketDAOMSSQL(); // Adding new countries cydao.Add(new Country { COUNTRY_NAME = "Israel" }); countryId1 = cydao.GetCountryId("Israel"); cydao.Add(new Country { COUNTRY_NAME = "Germany" }); countryId2 = cydao.GetCountryId("Germany"); // Adding new Airline companies adao.Add(new AirlineCompany { AIRLINE_NAME = "IsrLines", USER_NAME = "ISR91", PASSWORD = "******", COUNTRY_CODE = countryId1 }); airlineCompanyId1 = adao.GetAirlineCompanyId("ISR91"); adao.Add(new AirlineCompany { AIRLINE_NAME = "British Airlines", USER_NAME = "British555", PASSWORD = "******", COUNTRY_CODE = countryId2 }); airlineCompanyId2 = adao.GetAirlineCompanyId("British555"); // Adding new Flight fdao.Add(new Flight { AIRLINECOMPANY_ID = airlineCompanyId1, ORIGIN_COUNTRY_CODE = countryId1, DESTINATION_COUNTRY_CODE = countryId2, DEPARTURE_TIME = new DateTime(2019, 05, 10, 10, 30, 00), LANDING_TIME = new DateTime(2019, 05, 10, 15, 05, 00), REMAINING_TICKETS = 15, AIRLINECOMPANY_NAME = "IsrLines", FLIGHT_NAME = "555" }); flightId1 = fdao.GetFlightId("555"); // Adding new Customer cdao.Add(new Customer { FIRST_NAME = "Efrat", LAST_NAME = "Patihi", USER_NAME = "Efrat_kapara", PASSWORD = "******", ADDRESS = "Netanya , Raziel 40", PHONE_NO = "05011554875", CREDIT_CARD_NUMBER = "123456789" }); customerId1 = cdao.GetCustomerId("Efrat_kapara"); // Adding new Ticket tdao.Add(new Tickets { CUSTOMER_ID = customerId1, FLIGHT_ID = flightId1 }); // Testing FlyingCenterSystem fcs = FlyingCenterSystem.GetInstance(); LoginToken <Administrator> adminLogin = new LoginToken <Administrator>(); adminLogin.User = new Administrator(); adminLogin.User.AdminUserName = "******"; adminLogin.User.Password = "******"; // Trying to login fcs.login.TryAdminLogin(adminLogin.User.AdminUserName, adminLogin.User.Password, out LoginToken <Administrator> adminToken); fcs.login.TryAirlineLogin("ISR91", "Is789", out LoginToken <AirlineCompany> airlineToken); fcs.login.TryCustomerLogin("Efrat_kapara", "Efi93", out LoginToken <Customer> customerToken); // Testing admin facade fucntions LoggedInAdministratorFacade adminFacadae = fcs.GetFacade(adminLogin) as LoggedInAdministratorFacade; adminFacadae.CreateNewCountry(adminLogin, new Country { COUNTRY_NAME = "Israel" }); AirlineCompany airline = new AirlineCompany() { AIRLINE_NAME = "Nassa", USER_NAME = "Nassa28", PASSWORD = "******", COUNTRY_CODE = adminFacadae.GetCountryId("Israel") }; adminFacadae.CreateNewAirline(adminLogin, airline); Assert.AreEqual(adminFacadae.GetAirlineByUserame("Nassa28"), airline); Customer cust = new Customer() { FIRST_NAME = "Tal", LAST_NAME = "Rdt", USER_NAME = "TalGever", PASSWORD = "******", ADDRESS = "Hazfira 20, Pardes hanna", PHONE_NO = "0505001245", CREDIT_CARD_NUMBER = "456123456789" }; adminFacadae.CreateNewCustomer(adminLogin, cust); Assert.AreEqual(cust, adminFacadae.GetCustomerByUserName("TalGever")); // works adminFacadae.UpdateAirlineDetails(adminLogin, new AirlineCompany { AIRLINE_NAME = "Nasa4Life", USER_NAME = "Nassa28", PASSWORD = "******", COUNTRY_CODE = adminFacadae.GetCountryId("Israel") }); adminFacadae.UpdateCustomerDetails(adminLogin, new Customer { FIRST_NAME = "Tal", LAST_NAME = "Rdt", USER_NAME = "TalGever", PASSWORD = "******", ADDRESS = "Raziel 50 , Netanya", PHONE_NO = "0505001245", CREDIT_CARD_NUMBER = "456123456789" }); AirlineCompany airl = new AirlineCompany() { AIRLINE_NAME = "Nasa4Life", USER_NAME = "Nassa28", PASSWORD = "******", COUNTRY_CODE = adminFacadae.GetCountryId("Israel") }; adminFacadae.RemoveAirline(adminLogin, airl); }
private void Add_Click(object sender, RoutedEventArgs e) { // Creating new customer. Customer newCustomer = new Customer { FIRST_NAME = "Iliya", LAST_NAME = "Tsvibel", USER_NAME = "Iliya", PASSWORD = "******", ADDRESS = "Rishon", PHONE_NO = "0546800559", CREDIT_CARD_NUMBER = "12345" }; adminFacade.CreateNewCustomer(defaultToken, newCustomer); // Creating new country. Country country = null; country = new Country(); for (int i = 0; i < ListOfCountries.CountryNames.Length; i++) { country = countryDAO.GetByName(ListOfCountries.CountryNames[i]); if (country == null) { Country newCountry = new Country { COUNTRY_NAME = ListOfCountries.CountryNames[i] }; adminFacade.CreateNewCountry(defaultToken, newCountry); } } // Creating new administrator. Administrator newAdmin = new Administrator { FIRST_NAME = "Iliya", LAST_NAME = "Tsvibel", USER_NAME = "Admin", PASSWORD = "******" }; adminFacade.CreateNewAdmin(defaultToken, newAdmin); //Creating new airline. //AirlineCompany newAirline = new AirlineCompany //{ // AIRLINE_NAME = "Aeroflot", // USER_NAME = "Vladimir", // COUNTRY_CODE = adminFacade.GetCountryByName("Germany").ID, // PASSWORD = "******" //}; //adminFacade.CreateNewAirline(defaultToken, newAirline); AirlineCompany airline = null; airline = new AirlineCompany(); long countryStartID = 0; countryStartID = countryDAO.GetByName(ListOfCountries.CountryNames[0]).ID; for (int i = 0; i < ListOfAirlinesCompanies.AirlineNames.Length; i++) { airline = airlineDAO.GetAirlineByName(ListOfAirlinesCompanies.AirlineNames[i]); if (airline == null) { AirlineCompany newAirline = new AirlineCompany { AIRLINE_NAME = ListOfAirlinesCompanies.AirlineNames[i], USER_NAME = "UserName-" + ListOfAirlinesCompanies.AirlineNames[i], PASSWORD = random.Next(1000, 10000).ToString(), COUNTRY_CODE = random.Next(Convert.ToInt32(countryStartID), (Convert.ToInt32(countryStartID) + ListOfCountries.CountryNames.Length)) }; adminFacade.CreateNewAirline(defaultToken, newAirline); } } // Creating new flight. Flight flight = new Flight { AIRLINECOMPANY_ID = adminFacade.GetAirlineByName(adminToken, "SOLAR CARGO, C.A.").ID, DEPARTURE_TIME = DateTime.Now, LANDING_TIME = DateTime.Now + TimeSpan.FromHours(1), ORIGIN_COUNTRY_CODE = adminFacade.GetCountryByName("Germany").ID, DESTINATION_COUNTRY_CODE = adminFacade.GetCountryByName("Germany").ID, REMAINING_TICKETS = 250 }; //airlineFacade.CreateFlight(defaultAirlioneToken, flight); flightDAO.Add(flight); // Creating new ticket. Ticket tickets = new Ticket { FLIGHT_ID = anonFacade.GetFlightsByDestinationCountryForTest(adminFacade.GetCountryByName("Germany").ID).ID, CUSTOMER_ID = adminFacade.GetCustomerByUserName(adminToken, "Iliya").ID }; //customerFacade.PurchaseTicket(defaultCustomerToken, tickets); ticketDAO.Add(tickets); MessageBox.Show($"All data successfully added"); }
public override void OnAuthorization(HttpActionContext actionContext) { string adminpas = flightCenterConfig.ADMIN_PASSWORD; string adminusername = flightCenterConfig.ADMIN_NAME; CurrentAdministrator = new LoginToken <Administrator>() { User = new Administrator($"{adminusername}", $"{adminpas}") }; LoggedInAdministratorFacade F = new LoggedInAdministratorFacade(); if (actionContext.Request.Headers.Authorization == null) { actionContext.Response = actionContext.Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "username & password is nulls "); } string authenticationToken = actionContext.Request.Headers.Authorization.Parameter; string decodedAuthenticationToken = Encoding.UTF8.GetString( Convert.FromBase64String(authenticationToken)); string[] usernamePasswordArray = decodedAuthenticationToken.Split(':'); string username = usernamePasswordArray[0]; string password = usernamePasswordArray[1]; CurrentCustomer = new LoginToken <Customer>() { User = F.GetCustomerByUserName(CurrentAdministrator, username) }; CurrentAiLine = new LoginToken <AirlineCompany>() { User = F.GetAirLineByUserName(CurrentAdministrator, username) }; FlyingCenterSystem.Login(username, password, out LoginTokenBase loginToken, out FacadeBase facadeBase); var uri = actionContext.Request.RequestUri.ToString(); if (loginToken is LoginToken <Administrator> ) { Thread.CurrentPrincipal = new GenericPrincipal( new GenericIdentity(username), null); actionContext.Request.Properties["Admin"] = CurrentAdministrator; if (!uri.ToUpper().Contains("AdministratorFacdeAPIController".ToUpper()) && !uri.ToUpper().Contains("AnonymousFacadeApi".ToUpper())) { actionContext.Response = new HttpResponseMessage(HttpStatusCode.Unauthorized); } } else if (loginToken is LoginToken <AirlineCompany> ) { Thread.CurrentPrincipal = new GenericPrincipal( new GenericIdentity(username), null); actionContext.Request.Properties["AirLine"] = CurrentAiLine; if (!uri.ToUpper().Contains("CompanyFacdeAPIController".ToUpper()) && !uri.ToUpper().Contains("AnonymousFacadeApi".ToUpper())) { actionContext.Response = new HttpResponseMessage(HttpStatusCode.Unauthorized); } } else if (loginToken is LoginToken <Customer> ) { Thread.CurrentPrincipal = new GenericPrincipal( new GenericIdentity(username), null); actionContext.Request.Properties["Customer"] = CurrentCustomer; if (!uri.ToUpper().Contains("CustomerFacadeApiController".ToUpper()) && !uri.ToUpper().Contains("AnonymousFacadeApi".ToUpper())) { actionContext.Response = new HttpResponseMessage(HttpStatusCode.Unauthorized); } } else { actionContext.Response = actionContext.Request .CreateResponse(HttpStatusCode.Unauthorized); } }