//added - END private void AuthenticateAndGetTokenAndGetFacade(out LoginToken <AirlineCompany> token_airline, out LoggedInAirlineFacade facade) { string jwtToken = Request.Headers["Authorization"]; jwtToken = jwtToken.Replace("Bearer ", ""); var handler = new JwtSecurityTokenHandler(); var jsonToken = handler.ReadToken(jwtToken); var decodedJwt = jsonToken as JwtSecurityToken; string userName = decodedJwt.Claims.First(_ => _.Type == "username").Value; int id = Convert.ToInt32(decodedJwt.Claims.First(_ => _.Type == "userid").Value); AirlineCompany airline = new AirlineDAOPGSQL().GetAirlineByUsername(userName); if (airline == null) { throw new Exception("Token not correct"); } token_airline = new LoginToken <AirlineCompany>() { User = airline }; facade = FlightsCenterSystem.Instance.GetFacade(token_airline) as LoggedInAirlineFacade; }
public FlightProfile() { Dictionary <int, string> map_airline_id_to_name = new Dictionary <int, string>(); List <AirlineCompany> airlines = new AirlineDAOPGSQL().GetAll(); foreach (AirlineCompany airline in airlines) { map_airline_id_to_name.Add(airline.Id, airline.Name); } Dictionary <int, string> map_countryid_to_name = new Dictionary <int, string>(); List <Country> countries = new CountryDAOPGSQL().GetAll(); foreach (Country country in countries) { map_countryid_to_name.Add(country.Id, country.Name); } CreateMap <Flight, FlightDTO>() .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id)) .ForMember(dest => dest.Airline_Company_Name, opt => opt.MapFrom(src => map_airline_id_to_name[src.Airline_Company_Id])) .ForMember(dest => dest.Origin_Country_Name, opt => opt.MapFrom(src => map_countryid_to_name[src.Origin_Country_Id])) .ForMember(dest => dest.Destination_Country_Name, opt => opt.MapFrom(src => map_countryid_to_name[src.Destination_Country_Id])) .ForMember(dest => dest.Departure_Time, opt => opt.MapFrom(src => src.Departure_Time)) .ForMember(dest => dest.Landing_Time, opt => opt.MapFrom(src => src.Landing_Time)); }
public async Task <ActionResult <Customer> > GetMyDetails() { AllAirlineDetails details = new AllAirlineDetails(); User myUser = new User(); AirlineCompany myAirline = new AirlineCompany(); FlightsCenterSystem.GetInstance().login(GetLoginToken().Name, GetLoginToken().Password, out LoginToken <Object> l, out FacadeBase f); facade = f as LoggedInAirlineFacade; token_airline = GetLoginToken(); User u = new UserDAOPGSQL().GetAll().FirstOrDefault(_ => _.Password == token_airline.Password && _.Username == token_airline.Name); token_airline.User = new AirlineDAOPGSQL().GetAll().FirstOrDefault(_ => _.UserId == u.Id); await Task.Run(() => myUser = new UserDAOPGSQL().Get(u.Id)); await Task.Run(() => myAirline = new AirlineDAOPGSQL().Get(token_airline.User.Id)); details = new AllAirlineDetails(myUser.Username, myUser.Password, myUser.Email, myAirline.Name, myAirline.CountryID, myAirline.UserId); return(StatusCode(200, details)); }