// Create New Flight For Current Airline. public long CreateFlight(LoginToken <AirlineCompany> token, Flight flight) { long newId = 0; if (UserIsValid(token) && flight != null) { if (token.User.Id != flight.AirlineCompany_Id) { //ImHere_backgroundDAO.WriteRequestToLog(LogCategories.AirlineCompanies | LogCategories.Flights | LogCategories.Adds, $"Company: {token.User.UserName} Tried To Add New Flight (Flight: {flight.Id}).", false); throw new FlightNotMatchException("The ID Of Your New Flight Isn't Match To Your Company ID"); } if (flight.Departure_Time >= flight.Landing_Time) { //ImHere_backgroundDAO.WriteRequestToLog(LogCategories.AirlineCompanies | LogCategories.Flights | LogCategories.Adds, $"Company: {token.User.UserName} Tried To Add New Flight (Flight: {flight.Id}).", false); throw new DepartureTimeTooLateException("Departue Time Must Be Earlier Than Landing Time"); } newId = _flightDAO.Add(flight); //ImHere_backgroundDAO.WriteRequestToLog(LogCategories.AirlineCompanies | LogCategories.Flights | LogCategories.Adds, $"Company: {token.User.UserName} Tried To Add New Flight (Flight: {flight.Id}).", true); } //else //ImHere_backgroundDAO.WriteRequestToLog(LogCategories.AirlineCompanies | LogCategories.Flights | LogCategories.Adds, $"Anonymous User Tried To Add Some Flight.", false); return(newId); }
public ReponseDetails CreateMessage(LoginToken <Customer> token, Message newMessage) { ReponseDetails response = new ReponseDetails(); try { string error = null; if (UserIsValid(token)) { if (token.User.Id == newMessage.SenderId) { if (MessageIsValid(newMessage, out error)) { response.ResponseMessage = _messageDAO.CreateMessage(newMessage); } else { response.ResponseMessage += "You're Message Is Invalid: " + error; } } else { throw new UnauthorizedAccessException("Sorry But You're Unauthorized For This Action"); } } } catch (Exception ex) { response.ResponseMessage += "Sent A Message Was Fail: " + ex.Message; } finally { //ImHere_backgroundDAO.WriteRequestToLog(LogCategories.Customers | LogCategories.Messages | LogCategories.Adds, $"Customer: {token.User.UserName} Tried To Sent A New Message (Message: {newMessage.Id}).", response.ResponseCode == Enum.ResponseCode.Success,newMessage.ToString(),response.ToString()); } return(response); }
string IUserFacadeBase <Customer> .CreateMessage(LoginToken <Customer> login, Message newMessage) { throw new NotImplementedException(); }
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); }