public async Task <ActionResult <TravellerDto> > AuthenticateTraveller([FromHeader] string name) { try { if (name == null) { return(BadRequest("Please enter traveller name.")); } bool isFamous = await _travellerRepository.IsFamous(name); if (!isFamous) { return(Unauthorized("Traveller " + name + " has not been in a Starwars movie.")); } Traveller traveller = _travellerRepository.GetTravellerByName(name).Result; if (traveller == null) { traveller = _travellerRepository.RegisterTraveller(name).Result; } var newTraveller = _mapper.Map <TravellerDto>(traveller); return(Ok(newTraveller)); } catch (Exception e) { return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Exception: {e.Message}")); } }
public ActionResult Index(int deviceNumber) { Device device = AppData.DeviceList[deviceNumber]; Table table = AppData.TableList.Find(x => x.SectionID == device.SectionID && x.TableNumber == device.TableNumber); if (!Settings.ShowResults) { return(RedirectToAction("Index", "RegisterPlayers", new { deviceNumber, boardNumber = table.BoardNumber + 1 })); } if (Settings.ShowHandRecord) { ViewData["Buttons"] = ButtonOptions.HandsAndOK; } else { ViewData["Buttons"] = ButtonOptions.OKVisible; } Traveller traveller = new Traveller(deviceNumber, table); ViewData["Title"] = $"Traveller - {device.SectionTableString}:{device.Direction}"; if (AppData.IsIndividual) { ViewData["Header"] = $"Table {device.SectionTableString} - Round {table.RoundNumber} - Board {table.BoardNumber} - {Utilities.ColourPairByVulnerability("NS", table.BoardNumber, $"{table.PairNumber[0]}+{table.PairNumber[2]}")} v {Utilities.ColourPairByVulnerability("EW", table.BoardNumber, $"{table.PairNumber[1]}+{table.PairNumber[3]}")}"; return(View("Individual", traveller)); } else { ViewData["Header"] = $"Table {device.SectionTableString} - Round {table.RoundNumber} - Board {table.BoardNumber} - {Utilities.ColourPairByVulnerability("NS", table.BoardNumber, $"NS {table.PairNumber[0]}")} v {Utilities.ColourPairByVulnerability("EW", table.BoardNumber, $"EW {table.PairNumber[1]}")}"; return(View("Pairs", traveller)); } }
public string AddTraveller(TravellerModel travellerModel) { string result = string.Empty; using (HotelDBContext travellerEntities = new HotelDBContext()) { try { Traveller traveller = new Traveller(); traveller.FirstName = travellerModel.FirstName; traveller.MiddleName = travellerModel.MiddleName; traveller.LastName = travellerModel.LastName; traveller.MobileNo = travellerModel.MobileNo; traveller.EmailId = travellerModel.EmailId; traveller.Gender = travellerModel.Gender; traveller.Address = travellerModel.Address; traveller.FirstName_2 = travellerModel.FirstName_2; traveller.MiddleName_2 = travellerModel.MiddleName_2; traveller.LastName_2 = travellerModel.LastName_2; traveller.CreatedOn = System.DateTime.Now.ToShortDateString(); travellerEntities.Entry(traveller).State = System.Data.Entity.EntityState.Added; travellerEntities.SaveChanges(); result = "Record Inserted"; } catch (Exception ex) { Log.Error("Failed To Insert", ex); result = "Failed To Insert"; } return(result); } }
/// <summary> /// Determine the trackItems and their location in the given tracknode. /// </summary> /// <param name="tn">The tracknode in which to search for track items</param> /// <returns>The list/set of track itemss together with their position information</returns> public IEnumerable <ChartableTrackItem> GetItemsInTracknode(TrackNode tn) { if (cachedItems.ContainsKey(tn)) { return(cachedItems[tn]); } List <ChartableTrackItem> tracknodeItems = new List <ChartableTrackItem>(); TrackVectorNode vectorNode = tn as TrackVectorNode; if (vectorNode?.TrackItemIndices == null) { return(tracknodeItems); } foreach (int trackItemIndex in vectorNode.TrackItemIndices) { TrackItem trItem = trackDB.TrackItems[trackItemIndex]; if (trItem is PlatformItem || trItem is SpeedPostItem) { var travellerAtItem = new Traveller(tsectionDat, trackDB.TrackNodes, vectorNode, trItem.Location, Traveller.TravellerDirection.Forward); if (travellerAtItem != null) { tracknodeItems.Add(new ChartableTrackItem(trItem, travellerAtItem)); } } } tracknodeItems.Sort(new AlongTrackComparer()); cachedItems[tn] = tracknodeItems; return(tracknodeItems); }
public LevelCrossingItem SearchNearLevelCrossing(Train train, float reqDist, bool trainForwards, out float frontDist) { LevelCrossingItem roadItem = LevelCrossingItem.None; frontDist = -1; Traveller traveller = trainForwards ? train.FrontTDBTraveller : new Traveller(train.RearTDBTraveller, Traveller.TravellerDirection.Backward); foreach (var crossing in TrackCrossingItems.Values.Where(ci => ci.CrossingGroup != null)) { if (crossing.Trains.Contains(train)) { frontDist = crossing.DistanceTo(traveller, reqDist); if (frontDist > 0 && frontDist <= reqDist) { if (RoadToTrackCrossingItems.ContainsValue(crossing)) { roadItem = RoadToTrackCrossingItems.FirstOrDefault(x => x.Value == crossing).Key; return(roadItem); } } } } return(roadItem); }
public async Task <IActionResult> Checkout(int parkingId, string travellerName) { HttpClient _client = new HttpClient(); Traveller travellerResult = GetTraveller(travellerName).Result; try { var parkings = GetParking().Result.ToList(); var parking = parkings.Where(x => x.ParkedSpaceship.Id == parkingId); var json = JsonConvert.SerializeObject(parking); var content = new StringContent(json, Encoding.UTF8, "application/json"); string url = _configuration["ApiHostUrl"] + "/api/v1.0/Parkingspot/checkout?parkingId=" + parkingId; HttpResponseMessage response = await _client.PutAsync(url, content); travellerResult = GetTraveller(travellerName).Result; return(View("Details", travellerResult)); } catch (Exception) { TempData["msg"] = "There is something wrong...!"; return(View("Details", travellerResult)); } }
public async Task <IHttpActionResult> CreateTraveller(Traveller traveller) { try { OperationResult operationResult = new OperationResult(); bool result = await _userUtility.CreateNewTraveller(traveller); if (result) { operationResult.Message = "Success"; operationResult.Status = true; operationResult.StatusCode = HttpStatusCode.OK; } return(Ok(operationResult)); } catch (Exception exception) { OperationResult operationResult = new OperationResult() { Message = exception.Message, Status = false, StatusCode = HttpStatusCode.BadRequest }; return(BadRequest(operationResult.Message)); } }
public JsonResult AddTraveller(Traveller u) { string message = ""; if (ModelState.IsValid) { using (BootCampEntities dc = new BootCampEntities()) { var user = dc.Travellers.Where(a => a.FirstName.Equals(u.FirstName) && a.Surname.Equals(u.Surname)).FirstOrDefault(); if (user == null) { dc.Travellers.Add(u); dc.SaveChanges(); message = "Success"; } else { message = "Traveller not available!"; } } } else { message = "Failed!"; } return(new JsonResult { Data = message, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public IHttpActionResult Post(Traveller packageObj) { this.repo.Insert(packageObj); string uri = Url.Link("GetTravellerById", new { id = packageObj.Traveller_Id }); return(Created(uri, packageObj)); }
public TravellerResponse SubmitFeedback(TravellerFeedbackViewModel feedbackData) { _logger.LogInfo("Trying to submit feedback with device id " + feedbackData.DeviceId); try { //Get Traveller info based on device id Traveller traveller = _travellerRepository.GetTravellerByDeviceId(feedbackData.DeviceId); if (traveller == null) { throw new Exception(string.Format(_messageHandler.GetMessage(ErrorMessagesEnum.BookingWithInvalidDeviceId))); } //Convert view model to entity TravellerFeedback feedbackInfo = _mapper.Map <TravellerFeedback>(feedbackData); feedbackInfo.TravellerId = traveller.Id; feedbackInfo.IsActive = true; _travellerRepository.SubmitFeedback(feedbackInfo); _logger.LogInfo("Successfully submitted feedback with device id " + feedbackData.DeviceId); feedbackData.DeviceId = null; TravellerResponse response = new TravellerResponse(true, string.Format(_messageHandler.GetSuccessMessage(SuccessMessagesEnum.SuccessfullySaved))); return(response); } catch (Exception ex) { _logger.LogError(ex.Message); return(new TravellerResponse(false, ex.Message)); } }
/// <summary> /// Determine the trackItems and their location in the given tracknode. /// </summary> /// <param name="tn">The tracknode in which to search for track items</param> /// <returns>The list/set of track itemss together with their position information</returns> public IEnumerable <ChartableTrackItem> GetItemsInTracknode(TrackNode tn) { if (cachedItems.ContainsKey(tn)) { return(cachedItems[tn]); } List <ChartableTrackItem> tracknodeItems = new List <ChartableTrackItem>(); TrVectorNode vectorNode = tn.TrVectorNode; if (vectorNode.TrItemRefs == null) { return(tracknodeItems); } foreach (int trackItemIndex in vectorNode.TrItemRefs) { TrItem trItem = trackDB.TrItemTable[trackItemIndex]; if (supportedTrackTypes.Contains(trItem.ItemType)) { var travellerAtItem = new Traveller(tsectionDat, trackDB.TrackNodes, tn, trItem.TileX, trItem.TileZ, trItem.X, trItem.Z, Traveller.TravellerDirection.Forward); if (travellerAtItem != null) { tracknodeItems.Add(new ChartableTrackItem(trItem, travellerAtItem)); } } } tracknodeItems.Sort(new AlongTrackComparer()); cachedItems[tn] = tracknodeItems; return(tracknodeItems); }
/// <summary> /// Заполнение базовой информации о пассажире, на основании данных из запроса /// </summary> /// <param name="passengerFromRequest"></param> public void Fill(Traveller passengerFromRequest, bool latinRegistration = true) { Num = passengerFromRequest.Num; Type = passengerFromRequest.Type; IsContact = passengerFromRequest.IsContact; LinkedTo = passengerFromRequest.LinkedTo; PersonalInfo = passengerFromRequest.PersonalInfo; DocumentInfo = passengerFromRequest.DocumentInfo; VisaInfo = passengerFromRequest.VisaInfo; ArrAddress = passengerFromRequest.ArrAddress; ContactInfo = passengerFromRequest.ContactInfo; if (latinRegistration) { if (DocumentInfo != null) { DocumentInfo.DocNum = Transliteration.UARUStoENG(passengerFromRequest.DocumentInfo.CleanDocNum).ToUpper(); } if (VisaInfo != null) { VisaInfo.BirthCity = Transliteration.UARUStoENG(passengerFromRequest.VisaInfo.BirthCity).ToUpper(); VisaInfo.IssuePlace = Transliteration.UARUStoENG(passengerFromRequest.VisaInfo.IssuePlace).ToUpper(); } if (ArrAddress != null) { ArrAddress.City = Transliteration.UARUStoENG(passengerFromRequest.ArrAddress.City).ToUpper(); ArrAddress.State = Transliteration.UARUStoENG(passengerFromRequest.ArrAddress.State).ToUpper(); ArrAddress.StreetAddress = Transliteration.UARUStoENG(passengerFromRequest.ArrAddress.StreetAddress).ToUpper(); } } }
/// <summary> /// Constructor where location is copied from the given traveller /// </summary> /// <param name="otherNode">just another node to have access to trackDB and tsectiondat</param> /// <param name="traveller">The traveller that contains the exact location and distance on track to initialize the node</param> public TrainpathVectorNode(TrainpathNode otherNode, Traveller traveller) : base(otherNode) { CopyDataFromTraveller(traveller); Location = traveller.WorldLocation; // Not part of CopyDataFromTraveller ForwardOriented = true; // only initial setting }
public async Task <IActionResult> Edit(string id, [Bind("ID,Name,Gender,Email,PhoneNumber,Address,OwnerID")] Traveller traveller) { if (id != traveller.ID) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(traveller); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TravellerExists(traveller.ID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["OwnerID"] = new SelectList(_context.Set <IdentityUser>(), "Id", "Id", traveller.OwnerID); return(View(traveller)); }
public IHttpActionResult PutTraveller(int id, Traveller traveller) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != traveller.TravellerID) { return BadRequest(); } db.Entry(traveller).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!TravellerExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }
public static string PrepareLoginResponse(string loginRequest) { string[] loginParams = loginRequest.Split('?'); string login = loginParams[(int)LoginParam.Login]; string password = loginParams[(int)LoginParam.Password]; Console.WriteLine(" Login credentials: ({0})", login); //TESTOWANIE WATKOW // 0) ODKOMENTUJ SLEEPA // 1) OTWORZ STRONE LOGOWANIA I WYSZUKIWANIA // 2) PRZYGOTUJ DANE LOGOWANIA I DANE WYSZUKIANIA // 3) KLIKNIJ ZALOGUJ, !!POTEM!! KLIKNIJ WYSZUKAJ // WYNIK: WYSZUKIWANIE POWINNO ZOSTAĆ ZWROCONE PRZED ZALOGOWANIEM //Thread.Sleep(15000); //Console.WriteLine("Login threads wakes up"); TravellerRepository travellerRepository = new TravellerRepository(); Traveller traveller = travellerRepository.FindUserByLogin(login); if (traveller == null) { return(new UserDataResponse(false).ToString()); } UserDataResponse loginResponse = traveller.password == password ? new UserDataResponse(true, traveller.id, traveller.first_name, traveller.last_name, traveller.email, traveller.login) : new UserDataResponse(false); return(loginResponse.ToString()); }
public void ExpectToSendEmailAndCreateNewLoginTravellerUser() { //--setup var accountRep = new Mock <IAccountRepository>(); LoginTraveller lt = new LoginTraveller() { Id = "phony" }; accountRep.Setup(x => x.FindByFK(It.IsAny <int>())).Returns(lt); var dapperUOW = new Mock <IDapperUnitOfWork>(); var emailer = new Mock <IEmailSender>(); var logger = new Mock <ILogger <SecurityManager> >(); var travellerRep = new Mock <ITravellerRepository>(); var helper = new Mock <ISiteHelper>(); IList <Traveller> travellerCollection = new List <Traveller>(); Traveller fakeTraveller = new Traveller() { Firstname = "tester" }; travellerCollection.Add(fakeTraveller); travellerRep.Setup(x => x.GetByEmail(It.IsAny <string>())).Returns(travellerCollection); dapperUOW.Setup(x => x.TravellerRepository).Returns(travellerRep.Object); helper.Setup(x => x.ReadFileContentAsync(It.IsAny <string>())).Returns(Task <string> .FromResult("se")); //-- act SecurityManager sm = new SecurityManager(accountRep.Object, emailer.Object, dapperUOW.Object, logger.Object, helper.Object); var result = sm.EmailSecurityCodeToNewUserAsync("phony", "tester", "http://returnvalue"); //-- assert Assert.True(result.Result); Assert.True(lt.SecurityToken != String.Empty, "Security Token should not be empty"); }
/// <summary> /// 设置旅客为默认常用旅客 /// </summary> /// <param name="id">常用旅客的ID</param> /// <returns></returns> internal static ReplayBase SetTravellerToDefault(string id) { ReplayBase result = new ReplayBase(); //通过id获取fkid List <Traveller> trave = MembersExService.RsGetTravellerInfoByfkid(new GetUserExInfoListRequest() { id = id, onlyDefalut = false }); if (trave.Count > 0) { Traveller travellerInfo = new Traveller() { ravellerId = id, fkId = trave[0].fkId, fullName = trave[0].fullName, idCard = trave[0].idCard, idType = trave[0].idType, isDefault = true }; result = MembersExService.RsSaveTraveller(travellerInfo); } else { result.ReturnCode = EnumErrorCode.ServiceError; result.ReturnMessage = "服务器错误 500"; } return(result); }
/// <summary> /// Copy some relevant data from a traveller, specifically the track data /// </summary> /// <param name="traveller"></param> public void CopyDataFromTraveller(Traveller traveller) { TvnIndex = traveller.TrackNodeIndex; TrackVectorSectionIndex = traveller.TrackVectorSectionIndex; TrackSectionOffset = traveller.TrackNodeOffset - GetSectionStartDistance(); trackAngleForward = traveller.RotY; }
/// <summary> /// Заполнение общих с пассажиром из запроса полей /// </summary> /// <param name="basePass">Базовый класс для пассажиров</param> public BookedTraveller(Traveller basePass) { ContactInfo = basePass.ContactInfo; DocumentInfo = basePass.DocumentInfo; IsContact = basePass.IsContact; LinkedTo = basePass.LinkedTo; PersonalInfo = basePass.PersonalInfo; Type = basePass.Type; ArrAddress = basePass.ArrAddress; LoyaltyCards = basePass.LoyaltyCards; Num = basePass.Num; VisaInfo = basePass.VisaInfo; if (DocumentInfo != null) { DocumentInfo.DocNum = Transliteration.UARUStoENG(basePass.DocumentInfo.CleanDocNum).ToUpper(); } if (VisaInfo != null) { VisaInfo.BirthCity = Transliteration.UARUStoENG(basePass.VisaInfo.BirthCity).ToUpper(); VisaInfo.IssuePlace = Transliteration.UARUStoENG(basePass.VisaInfo.IssuePlace).ToUpper(); } if (ArrAddress != null) { ArrAddress.City = Transliteration.UARUStoENG(basePass.ArrAddress.City).ToUpper(); ArrAddress.State = Transliteration.UARUStoENG(basePass.ArrAddress.State).ToUpper(); ArrAddress.StreetAddress = Transliteration.UARUStoENG(basePass.ArrAddress.StreetAddress).ToUpper(); } }
public ActionResult SaveTravellerProfile(TravellerProfileViewModel profileView) { Traveller _travellerProfile = null; // get the traveller profile, if exists var _blError = TravellerProfileManager.GetTravellerProfile(User.Identity.GetUserId(), out _travellerProfile); // if not found, create a new profile if (_blError.ErrorCode != 0 || _travellerProfile == null) { _travellerProfile = new Traveller(); } _travellerProfile.FirstName = profileView.FirstName; _travellerProfile.LastName = profileView.LastName; _travellerProfile.Telephone = profileView.Telephone; _travellerProfile.Mobile = profileView.Mobile; _travellerProfile.AddressLine1 = profileView.AddressLine1; _travellerProfile.AddressLine2 = profileView.AddressLine2; _travellerProfile.City = profileView.City; _travellerProfile.Country = profileView.Country; _travellerProfile.PostCode = profileView.PostCode; _travellerProfile.TravelGroupSize = profileView.TravelGroupSize; _travellerProfile.TravelStyle = profileView.TravelStyle; _travellerProfile.TravelInterests = _GetInterests(profileView.TravellerInterests); _travellerProfile.AspnetUserid = User.Identity.GetUserId(); _blError = TravellerProfileManager.UpdateUserTravellerProfile(_travellerProfile); return(RedirectToAction("TravellerProfile")); }
public static string PrepareRegisterResponse(string registerRequest) { string[] registerParams = registerRequest.Split('?'); Console.WriteLine(" Register credentials: ({0})", registerRequest); TravellerRepository travellerRepository = new TravellerRepository(); Traveller traveller = travellerRepository.FindUserByLogin(registerParams[(int)RegisterParam.Login]); if (traveller == null) { traveller = new Traveller { id = travellerRepository.NextId(), first_name = registerParams[(int)RegisterParam.FirstName], last_name = registerParams[(int)RegisterParam.LastName], email = registerParams[(int)RegisterParam.Email], login = registerParams[(int)RegisterParam.Login], password = registerParams[(int)RegisterParam.Password] }; travellerRepository.Add(traveller); return(new UserDataResponse(true, traveller.id, traveller.first_name, traveller.last_name, traveller.email, traveller.login).ToString()); } return(new UserDataResponse(false).ToString()); }
public async Task <IActionResult> Edit(int id, [Bind("TravellerID,TravellerName,ContactNumber,StaffMemberName")] Traveller traveller) { if (id != traveller.TravellerID) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(traveller); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TravellerExists(traveller.TravellerID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["StaffMemberID"] = new SelectList(_context.StaffMember, "StaffMemberName", "StaffMemberName", traveller.StaffMemberID); return(View(traveller)); }
private void removeBtn_Click(object sender, EventArgs e) { if (allTravellersDataGrid.CurrentRow != null) { Traveller travellerToRemove = (Traveller)allTravellersDataGrid.CurrentRow.DataBoundItem; allTravellers.Remove(travellerToRemove); } }
/// <summary> /// Create traveller /// </summary> /// <param name="traveller">Model of traveller</param> public Traveller CreateTraveller(Traveller traveller) { var response = Service.CreateTraveller(traveller); var cratedTraveller = JsonConvert.DeserializeObject <Traveller>(response.Content); return(cratedTraveller); }
private void OnPlayerTeleport(Traveller player, Portal source, Portal destination) { Cell sourceCell = this.portalToCell[source]; Cell destinationCell = this.portalToCell[destination]; destination.Destination = source; this.RebuildMaze(new Cell[] { sourceCell, destinationCell }); }
//no use anymore public static int DecomposeStaticSuperElevation(Viewer viewer, List <DynamicTrackViewer> dTrackList, int TileX, int TileZ) { var key = (int)(Math.Abs(TileX) + Math.Abs(TileZ)); if (!viewer.Simulator.SuperElevation.Sections.ContainsKey(key)) { return(0); //cannot find sections associated with this tile } var sections = viewer.Simulator.SuperElevation.Sections[key]; if (sections == null) { return(0); } WorldLocation location = new WorldLocation(); Vector3 directionVector = new Vector3(); foreach (var ts in sections) { var tss = viewer.Simulator.TSectionDat.TrackSections.Get(ts.SectionIndex); if (tss == null || tss.SectionCurve == null || ts.WFNameX != TileX || ts.WFNameZ != TileZ) { continue; } location.TileX = ts.TileX; location.TileZ = ts.TileZ; location.Location.X = ts.X; location.Location.Y = ts.Y; location.Location.Z = ts.Z; directionVector.X = ts.AX; directionVector.Y = ts.AY; directionVector.Z = ts.AZ; Vector3 trackLoc = new Vector3(ts.X, ts.Y, -ts.Z); WorldPosition root = new WorldPosition(); root.TileX = ts.TileX; root.TileZ = ts.TileZ; root.XNAMatrix = Matrix.CreateFromYawPitchRoll(-ts.AY, -ts.AX, ts.AZ);// CreateRotationX(-ts.AY) * Matrix.CreateRotationY(-ts.AX) * Matrix.CreateRotationZ(ts.AZ); root.XNAMatrix.Translation = Vector3.Zero; root.XNAMatrix.Translation += Vector3.Transform(trackLoc, Matrix.Identity); var sign = -Math.Sign(tss.SectionCurve.Angle); var to = Math.Abs(tss.SectionCurve.Angle * 0.0174f); var vectorCurveStartToCenter = Vector3.Left * tss.SectionCurve.Radius * sign; var curveRotation = Matrix.CreateRotationY(to * sign); Vector3 dummy; var displacement = Traveller.MSTSInterpolateAlongCurve(Vector3.Zero, vectorCurveStartToCenter, curveRotation, root.XNAMatrix, out dummy); WorldPosition nextRoot = new WorldPosition(root); nextRoot.XNAMatrix.Translation = displacement; dir = 1f; sv = ts.StartElev; ev = ts.EndElev; mv = ts.MaxElev; //nextRoot.XNAMatrix.Translation += Vector3.Transform(trackLoc, worldMatrix.XNAMatrix); dTrackList.Add(new SuperElevationViewer(viewer, root, nextRoot, tss.SectionCurve.Radius, tss.SectionCurve.Angle * 3.14f / 180, sv, ev, mv, dir)); } return(1); }
public ShipData(Traveller.Starship ship) { InitializeComponent(); loadShip(ship); this.myShip = ship; btnAdd.Text = "update current ship"; this.isNew = true; }
void OnTravellerEnter(Traveller traveller) { if (!travellers.Contains(traveller)) { traveller.oldPos = traveller.transform.position; traveller.OnEnter(); travellers.Add(traveller); } }
protected void Login_Click(object sender, EventArgs e) { System.Threading.Thread.Sleep(2000); TravellerController travellerController = new TravellerController(); try { string userName = txtUsername.Text; string password = txtPassword.Text; bool verified = travellerController.VerifyCredentials(userName, password); if (verified == true) { Traveller user = travellerController.GetTravellerByUserName(userName); user.UserName = userName; if (user != null) { Session[AppData.USERID] = user.TravellerID; Session[AppData.USERNAME] = user.UserName; Session[AppData.FIRSTNAME] = user.FirstName; Session[AppData.LASTNAME] = user.LastName; Session[AppData.COUNTRY] = user.Country; Session[AppData.EMAIL] = user.Email; Session[AppData.LOGGEDIN] = true; Session[AppData.LOGGEDINTIME] = DateTime.UtcNow; Response.Redirect("default.aspx?", false); Context.ApplicationInstance.CompleteRequest(); } else { var msg = AppData.CreateAlert("There was an error while logging you in.", "danger"); loginErrPlaceholder.Controls.Add(msg); string logMessage = "Error: User tried to login with verified credentials, but no user was created."; logger.Error(logMessage); } } else { var msg = AppData.CreateAlert("Invalid username and/or password", "danger"); loginErrPlaceholder.Controls.Add(msg); } } catch (Exception ex) { logger.Error(ex.Message); } finally { travellerController.Dispose(); } }
public IHttpActionResult GetTraveller(int id) { Traveller traveller = db.Travellers.Find(id); if (traveller == null) { return NotFound(); } return Ok(traveller); }
/// <summary> /// Создание информации о пассажире для модификации /// </summary> /// <param name="oldInfo">Старая информация о пассажире</param> /// <returns>Новая информация о пассажире</returns> public Traveller CreateTravellerForModify(BookedTraveller oldInfo) { Traveller res = new Traveller(); res.Type = oldInfo.Type; res.Num = oldInfo.Num; if (ArrAddress != null) { res.ArrAddress = ArrAddress; } if (ContactInfo != null) { res.ContactInfo = ContactInfo.CreateContactForModify(oldInfo.ContactInfo); } if (DocumentInfo != null) { res.DocumentInfo = DocumentInfo; } if (Meal.HasValue) { res.Meal = Meal.ToString(); } if (PersonalInfo != null) { res.PersonalInfo = PersonalInfo.CreateTravellerForModify(oldInfo.PersonalInfo); } if (PreferedPlaces != null && PreferedPlaces.Count > 0) { res.PreferedPlaces = new List<PreferedPlace>(); foreach (var place in PreferedPlaces) { PreferedPlace newPlace = place.CreatePlaceForModify(); if (newPlace != null) { res.PreferedPlaces.Add(newPlace); } } } if (VisaInfo != null) { res.VisaInfo = VisaInfo; } return res; }
public DisplayWorld(Traveller.World world) { InitializeComponent(); this.world = world; lblSEC.Text = world.SEC; lblWorld.Text = world.Name; this.Text = "System Data for " + world.Name; showData(world); }
/// <summary> /// selling a cargo lot /// </summary> /// <param name="cargo">cargo structure - item we are selling</param> /// <param name="ship">Traveller starship - ship it is being sold from</param> /// <param name="world">Traveller world - world it is being sold on</param> public Selling(Traveller.Starship.cargoDesc cargo, Traveller.Starship ship, Traveller.World world) { InitializeComponent(); lblCurrent.Text = world.SEC; lblSelling.Text = String.Format("{0} {1} dTons; Cr{2}", cargo.origCode, cargo.dtons, cargo.purchasePrice); lblDesc.Text = cargo.desc; lblOrigSystem.Text = cargo.origSEC; edDM.Text = ship.TradeDM.ToString(); this.world = world; this.cargo = cargo; this.ship = ship; // and set the selling info this.cargo.sellingDate = this.ship.Date; this.cargo.destSEC = this.world.SEC; }
private void showWorld(Traveller.World world) { Traveller.TravUtils util = new Traveller.TravUtils(); lvData.Items.Clear(); edNotes.Clear(); edNPC.Clear(); tabInfo.SelectedIndex = 0; // reset to basic info ListViewItem li = new ListViewItem("Starport"); li.SubItems.Add(world.Starport.ToString()); lvData.Items.Add(li); li = new ListViewItem("Size"); li.SubItems.Add(world.Size.ToString() + " " + world.descSize); lvData.Items.Add(li); li = new ListViewItem("Atmosphere"); li.SubItems.Add(world.Atmosphere.ToString() + " " + world.descAtmo); lvData.Items.Add(li); li = new ListViewItem("Hydrographics"); li.SubItems.Add(world.Hydrographics.ToString() + " " + world.descHydro); lvData.Items.Add(li); li = new ListViewItem("Population"); li.SubItems.Add(world.Population.ToString() + " " + world.descPop); lvData.Items.Add(li); li = new ListViewItem("Government"); li.SubItems.Add(world.Government.ToString() + " " + world.descGov); lvData.Items.Add(li); li = new ListViewItem("Law Level"); li.SubItems.Add(world.LawLevel.ToString()); lvData.Items.Add(li); li = new ListViewItem("Tech Level"); li.SubItems.Add(world.TechLevel.ToString()); lvData.Items.Add(li); li = new ListViewItem("Travel code"); li.SubItems.Add(world.TravelCode); switch (world.TravelCode.ToLower()) { case "red": li.SubItems[0].BackColor = System.Drawing.Color.Red; break; case "amber": li.SubItems[0].BackColor = System.Drawing.Color.Yellow; break; case "green": li.SubItems[0].BackColor = System.Drawing.Color.Green; break; default: break; } lvData.Items.Add(li); li = new ListViewItem("Stellar info"); li.SubItems.Add(world.Stellar); lvData.Items.Add(li); li = new ListViewItem("Gas giants"); li.SubItems.Add(world.GasGiant.ToString()); lvData.Items.Add(li); li = new ListViewItem("Asteroid belts"); li.SubItems.Add(world.Belts.ToString()); lvData.Items.Add(li); lbTradeCodes.Items.Clear(); foreach (Traveller.World.stTrade tc in world.TradeClass) { lbTradeCodes.Items.Add(tc.code + " " + tc.desc); } if (world.Misc.Count > 0) { li = new ListViewItem(" "); li.SubItems.Add("Extensions"); li.BackColor = System.Drawing.Color.DarkSalmon; lvData.Items.Add(li); foreach (string ext in world.Misc) { string[] exts = ext.Split(new char[] { ':' }); li = new ListViewItem(exts[0]); li.SubItems.Add(exts[1]); lvData.Items.Add(li); } } lblAlliance.Text = world.Alliance + " " + world.descAlliance; // show the notes - for some reason it is doing odd on CR/LF string[] noteString = world.Notes.Split(new char[] { '\n' }); StringBuilder newNotes = new StringBuilder(); foreach (string s in noteString) { newNotes.Append(s + Environment.NewLine); } edNotes.Text = newNotes.ToString(); lblSEC.Text = world.SEC; sbCurrentWorld.Text = ship.SectorName + "/" + world.Name; showJ6(); showImage(this.world); // and the web page string sectorName = ship.SectorName.Replace(' ', '+'); string url = String.Format("http://www.travellermap.com/iframe.htm?sector={0}&hex={1}", sectorName, world.Hex); //string url = String.Format("http://www.travellermap.com/JumpMap.aspx?Sector={0}&hex={1}&jump={2}&scale=48&options=48", // sectorName, world.Hex, ship.Jump); webView1.Url = url; loadImages(); }
private void showData(Traveller.World world) { ListViewItem li = new ListViewItem("Starport"); li.SubItems.Add(world.Starport.ToString()); lvData.Items.Add(li); li = new ListViewItem("Size"); li.SubItems.Add(world.Size.ToString() + " " + world.descSize); lvData.Items.Add(li); li = new ListViewItem("Atmosphere"); li.SubItems.Add(world.Atmosphere.ToString() + " " + world.descAtmo); lvData.Items.Add(li); li = new ListViewItem("Hydrographics"); li.SubItems.Add(world.Hydrographics.ToString() + " " + world.descHydro); lvData.Items.Add(li); li = new ListViewItem("Population"); li.SubItems.Add(world.Population.ToString() + " " + world.descPop); lvData.Items.Add(li); li = new ListViewItem("Government"); li.SubItems.Add(world.Government.ToString() + " " + world.descGov); lvData.Items.Add(li); li = new ListViewItem("Law Level"); li.SubItems.Add(world.LawLevel.ToString()); lvData.Items.Add(li); li = new ListViewItem("Tech Level"); li.SubItems.Add(world.TechLevel.ToString()); lvData.Items.Add(li); li = new ListViewItem("Travel code"); li.SubItems.Add(world.TravelCode); switch (world.TravelCode.ToLower()) { case "red": li.SubItems[0].BackColor = System.Drawing.Color.Red; break; case "amber": li.SubItems[0].BackColor = System.Drawing.Color.Yellow; break; case "green": li.SubItems[0].BackColor = System.Drawing.Color.Green; break; default: break; } lvData.Items.Add(li); li = new ListViewItem("Stellar info"); li.SubItems.Add(world.Stellar); lvData.Items.Add(li); li = new ListViewItem("Gas giants"); li.SubItems.Add(world.GasGiant.ToString()); lvData.Items.Add(li); li = new ListViewItem("Asteroid belts"); li.SubItems.Add(world.Belts.ToString()); lvData.Items.Add(li); li = new ListViewItem("Trade codes"); string trades= ""; foreach (Traveller.World.stTrade tc in world.TradeClass) { trades += tc.code + " " + tc.desc + " "; } li.SubItems.Add(trades); lvData.Items.Add(li); li = new ListViewItem("Alliances"); li.SubItems.Add(world.Alliance + " " + world.descAlliance); lvData.Items.Add(li); edNotes.Text = world.Notes; edNPC.Text = world.NPCNotes; showImage(world); }
public AddWorldImage(Traveller.World world) { InitializeComponent(); this.Text = "add image to " + world.Name; this.myworld = world; }
private void loadShip(Traveller.Starship ship) { edName.Text = ship.Name; edMan.Value = ship.Man; edPower.Value = ship.Power; edJump.Value = ship.Jump; edCargo.Text = ship.Cargo.ToString(); edMonthly.Text = ship.MonthlyCosts.ToString(); edPerJump.Text = ship.PerJumpCost.ToString(); edCredits.Text = ship.Credits.ToString(); switch (ship.Version) { case "CT": rbCT.Checked = true; break; case "T5": rbT5.Checked = true; break; case "MT": rbMongoose.Checked = true; break; case "CU": rbCustom.Checked = true; break; default: break; } rbCT.Enabled = false; rbT5.Enabled = false; rbMongoose.Enabled = false; rbCustom.Enabled = false; edName.Enabled = false; edDay.Text = ship.Day.ToString(); edYear.Text = ship.Year.ToString(); lblDataFile.Text = ship.SECDataFile; edSectorName.Text = ship.SectorName; edTradeDM.Value = ship.TradeDM; loadDataFile(ship.SECDataFile); cbWorld.SelectedIndex = cbWorld.FindString(ship.SEC, 0); }
/// <summary> /// sell Mongoose Traveller cargo item /// </summary> /// <param name="cargo">cargo item to sell</param> /// <param name="world">world we are selling on</param> /// <param name="DM">int - DM for actual price</param> /// <returns>cargo - updated cargo (selling price updated)</returns> private Traveller.Starship.cargoDesc MTSell(Traveller.Starship.cargoDesc cargo, Traveller.World world, int DM) { // 1. load our goods table, and our actual value table List<string> MTGoods = util.loadCSV("MTGoods.csv"); List<string> avTable = util.loadCSV("MTValue.csv"); // 2. find our cargo in that list int sellDM = 0; bool foundit = false; foreach (string lot in MTGoods) { string[] item = lot.Split(new char[] { ',' }); if (item[1] == cargo.desc) // found the item { int.TryParse(item[2], out cargo.basecostsell); string[] sellmods = item[5].Split(new char[] { ' ' }); foreach (string sellmod in sellmods) { foreach (Traveller.World.stTrade wtc in world.TradeClass) { if (sellmod.StartsWith(wtc.code)) { int dm = 0; int.TryParse(sellmod[3].ToString(), out dm); if (sellmod[2] == '+') sellDM += dm; else sellDM -= dm; } } } foundit = true; break; } } if (foundit) { // and now roll on our actual value buy table; // this table allows for -1, so -1 = 0 position, 0 = 1 position; so we add 1 to compensate int roll = util.rollDx(6) + util.rollDx(6) + util.rollDx(6) + sellDM + DM + 1; string[] av = avTable[roll].Split(new char[] { ',' }); cargo.avSell = Convert.ToDouble(av[2]); cargo.sellingPrice = (int)((double)cargo.basecostsell * (double)cargo.dtons * cargo.avSell); } else { cargo.avSell = 0; cargo.basecostsell = cargo.basecostbuy; cargo.sellingPrice = cargo.basecostbuy * cargo.dtons; } return cargo; }
protected virtual Person CreatePerson(string personTypeString, string personNameString, Location personLocation) { Person person = null; switch (personTypeString) { case "shopkeeper": person = new Shopkeeper(personNameString, personLocation); break; case "traveller": person = new Traveller(personNameString, personLocation); break; default: break; } return person; }
private Traveller.Starship.cargoDesc T5Sell(Traveller.Starship.cargoDesc cargo, Traveller.World world, int DM) { int baseprice = 5000; // get the original trade codes from the origCode string[] tc = cargo.origCode.Split(new char[] { ' ' }); int origTL = util.HexToInt(tc[0]); // cargo original world tech level // get a list of the selling worlds trade codes List<string> sellingTC = new List<string>(); foreach (Traveller.World.stTrade sw in world.TradeClass) { sellingTC.Add(sw.code); } // T5 selling matrix string[] tcMod = File.ReadAllLines("T5Selling.csv"); foreach (string line in tcMod) { for (int i = 2; i < tc.Length - 1; i++) { if (line.StartsWith(tc[i])) // matching orig code trade code { string[] s = line.Split(new char[] { ',' }); // get the internal trade codes int mod = Convert.ToInt32(s[s.Length - 1]); // Cr mod for (int j = 1; j < s.Length - 1; j++) // don't include 1st or Cr mod { if (sellingTC.Contains(s[j])) // we have a match baseprice += mod; } } } } // and the TL mod: 10% (source TL - selling world TL) int tlDiff = origTL - util.HexToInt(world.TechLevel.ToString()); // difference in TL int tlPriceMod = (int)((double)baseprice * 0.10 * (double)tlDiff); baseprice += tlPriceMod; // and now our actual value roll // make sure we're within range; if not, reset DataTable actualValue = util.loadTable("T5Value.csv"); int av = util.flux() + DM; int lowball = Convert.ToInt32(actualValue.Rows[0][0].ToString()); if (av < lowball) av = lowball; int highball = Convert.ToInt32(actualValue.Rows[actualValue.Rows.Count - 1][0].ToString()); if (av > highball) av = highball; // now to find that flux roll in our table double avMod = 0; for (int i = 0; i < actualValue.Rows.Count; i++) { if (Convert.ToInt32(actualValue.Rows[i][0].ToString()) == av) { avMod = Convert.ToDouble(actualValue.Rows[i][2].ToString()); break; } } if (avMod == 0) avMod = 1; cargo.basecostsell = baseprice; cargo.sellingPrice = (int)((double)baseprice * avMod) * cargo.dtons; cargo.avSell = avMod; return cargo; }
/// <summary> /// trade instantiation /// </summary> /// <param name="ship">ship - Traveller ship object</param> /// <param name="world">world - Traveller world object</param> /// <remarks>deals with cargo</remarks> public Trade(Traveller.Starship ship, Traveller.World w) { this.errmsg = ""; this.world = w; this.ship = ship; this.cargoes = new List<Starship.cargoDesc>(); this.version = ship.Version; }
/// <summary> /// sell cargo, CT style /// </summary> /// <param name="cargo">cargoDesc - cargo item to sell</param> /// <param name="world">world object - where we are selling it</param> /// <param name="DM">int - any DMs to modifiy the actual value table</param> /// <returns></returns> private Traveller.Starship.cargoDesc CTSell(Traveller.Starship.cargoDesc cargo, Traveller.World world, int DM) { // 1. find our cargo in the trade table List<string> cargos = util.loadCSV("CTGoods.csv"); string lot = ""; foreach (string sCargo in cargos) { string[] l = sCargo.Split(new char[] { ',' }); if (l[1] == cargo.desc) { lot = sCargo; break; } } if (lot.Length == 0) { cargo.sellingPrice = cargo.purchasePrice; return cargo; } // ok, we've found the cargo string[] tg = lot.Split(new char[] { ',' }); int.TryParse(tg[2], out cargo.basecostsell); // base price for selling // figure out the mods // must match current (selling) world's trade codes int mods = DM; string[] tccodes = new string[] { "Ag", "Na", "In", "Ni", "Ri", "Po" }; for (int i = 10; i <= 15; i++) { foreach (Traveller.World.stTrade tc in world.TradeClass) { if (tc.code == tccodes[i - 10]) { int tMod = 0; int.TryParse(tg[i], out tMod); mods += tMod; } } } // and roll on the actual value table List<string> actualValue = util.loadCSV("CTValue.CSV"); int roll = util.rollDx(6) + util.rollDx(6) + mods + ship.TradeDM - 2; // -2 for 0-based roll if (roll < 0) roll = 0; if (roll > 14) roll = 14; string[] av = actualValue[roll].Split(new char[] { ',' }); cargo.avSell = Convert.ToDouble(av[1]); cargo.sellingPrice = (int)((double)cargo.basecostsell * cargo.avSell) * cargo.dtons; return cargo; }
// find an image to match private void showImage(Traveller.World world) { switch (world.Atmosphere) { case '0': case '1': pictureBox1.Load("space001.jpg"); break; case '2': pictureBox1.Load("space006.jpg"); break; case '3': case '4': pictureBox1.Load("space002.jpg"); break; case '5': case '6': case '7': pictureBox1.Load("space005.jpg"); break; case '8': case '9': pictureBox1.Load("space004.jpg"); break; case 'A': pictureBox1.Load("space006.jpg"); break; default: pictureBox1.Load("space007.jpg"); break; } }
/// <summary> /// sell a cargo /// </summary> /// <param name="cargo">cargoDesc structure from Starships</param> /// <param name="world">traveller world - place where the cargo is getting sold</param> /// <returns>cargoDesc - updated cargo structure with sold details</returns> public Traveller.Starship.cargoDesc sell(Traveller.Starship.cargoDesc cargo, Traveller.World world, int DM) { switch (this.version) { case "T5": cargo = T5Sell(cargo, world, DM); break; case "CT": cargo = CTSell(cargo, world, DM); break; case "MT": cargo = MTSell(cargo, world, DM); break; default: break; } return cargo; }
// find an image to match private void showImage(Traveller.World world) { string imageName = world.BerkaDesc + "World.jpg"; try { pictureBox1.Load(imageName); } catch { } }