public void AddPedestrian(PedestrianDTO pedestrianDTO) { PedestrianModel pedestrian = new PedestrianModel(this, pedestrianDTO); pedestrian.SaveDb(); _pedestrians.ModifyCollection(col => col.Add(pedestrian)); }
public PedestrianSLO(PedestrianDTO dto) : base(new PersonDataContract { CurrentLocationLatidude = dto.Latitude.Value, CurrentLocationLongitude = dto.Longitude.Value, IsOnline = true, PersonId = Guid.Parse(dto.Id), PhoneNumber = dto.PhoneNumber, SkypeNumber = dto.SkypeNumber }) { }
public static PedestriansInfo SaveDtoToDb(PedestrianDTO pedestrianDTO) { using (DatabaseModel dbContext = new DatabaseModel()) { PedestriansInfo existingInfo = dbContext.Set <PedestriansInfo>().First(i => i.PersonsInfo.PersonId == Guid.Parse(pedestrianDTO.Id)); if (existingInfo != null) { return(existingInfo); } PersonAccount account = new PersonAccount { Id = Guid.Parse(pedestrianDTO.Id), PhoneNumber = pedestrianDTO.PhoneNumber, SkypeNumber = pedestrianDTO.SkypeNumber }; dbContext.Set <PersonAccount>().Attach(account); dbContext.Set <PersonAccount>().Add(account); PersonsInfo personInfo = new PersonsInfo { Altitude = pedestrianDTO.Altitude, Longitude = pedestrianDTO.Longitude, Latitude = pedestrianDTO.Latitude, CityId = pedestrianDTO.CityId, PersonId = account.Id }; dbContext.Set <PersonsInfo>().Attach(personInfo); dbContext.Set <PersonsInfo>().Add(personInfo); PedestrianAccount pedestrianAccount = new PedestrianAccount { PersonId = account.Id }; dbContext.Set <PedestrianAccount>().Attach(pedestrianAccount); dbContext.Set <PedestrianAccount>().Add(pedestrianAccount); PedestriansInfo pedestrianInfo = new PedestriansInfo { PersonInfo = personInfo.Id }; dbContext.Set <PedestriansInfo>().Attach(pedestrianInfo); dbContext.Set <PedestriansInfo>().Add(pedestrianInfo); dbContext.SaveChanges(); return(pedestrianInfo); } }
public IHttpActionResult AuthenticateAsPedestrian(PedestrianAuthenticationDTO authenticationInfo) { InteractionModel interactionModel = InteractionModel.Instance; CityModel cityModel = interactionModel.Cities.FirstOrDefault(city => city.Id == authenticationInfo.CityId); if (cityModel == null) { return(InternalServerError()); } PedestrianDTO outResult = new PedestrianDTO { Id = Guid.NewGuid().ToString(), Latitude = authenticationInfo.Latitude, Longitude = authenticationInfo.Longitude, PhoneNumber = authenticationInfo.PhoneNumber, SkypeNumber = authenticationInfo.SkypeNumber }; cityModel.AddPedestrian(outResult); return(Ok <PedestrianDTO>(outResult)); }
public PedestrianModel(CityModel city, PedestrianDTO pedestrianDTO) : this(city, SaveDtoToDb(pedestrianDTO)) { }