コード例 #1
0
        public PedestrianDataContract AuthenticateAsPedestrian(PedestrianAuthenticationRequestDataContract request)
        {
            IPedestrianInfo pedestrianInfo = _server.CreatePedestrianInfo();

            ConvertHelper.FillPedestrianAuthenticationRequestInfo(pedestrianInfo, request);
            _server.AuthenticateAsPedestrian(pedestrianInfo, request.CityId);
            return(ConvertHelper.CreatePedestrianDataContract(pedestrianInfo));
        }
コード例 #2
0
        public void AuthenticateAsPedestrian(IPedestrianInfo pedestrianInfo, Guid cityId)
        {
            CityLogic city = _cities.Items.FirstOrDefault(c => c.Info.Id == cityId);

            if (city != null)
            {
                city.ModifyPedestriansCollection(col => col.Add(pedestrianInfo));
            }
        }
コード例 #3
0
 private PedestrianLogic CreatePedestrianLogic(IPedestrianInfo personSLO)
 {
     return(new PedestrianLogic(new PedestrianModel(personSLO)
     {
         PersonId = personSLO.PersonId,
         CurrentLocation = personSLO.CurrentLocation,
         PhoneNumber = personSLO.PhoneNumber,
         SkypeNumber = personSLO.SkypeNumber
     }, _adaptersExtender, _city));
 }
コード例 #4
0
        public void PushPedestrianRequest(PedestrianRequestDataContract request)
        {
            IPedestrianInfo pedestrian = _server.Cities.SelectMany(c => c.Pedestrians).FirstOrDefault(p => p.Id == request.PedestrianId);
            IDriverInfo     driver     = _server.Cities.SelectMany(c => c.Drivers).FirstOrDefault(d => d.Id == request.DriverId);

            if (pedestrian != null && driver != null)
            {
                IPedestrianRequestInfo requestInfo = _server.CreatePedestrianRequestInfo(pedestrian, driver);
                ConvertHelper.FillPedestrianRequestInfo(requestInfo, request);
                _server.PushPedestrianRequestInfo(requestInfo);
            }
        }
コード例 #5
0
 public static PedestrianDataContract CreatePedestrianDataContract(IPedestrianInfo pedestrianInfo)
 {
     return(new PedestrianDataContract
     {
         PersonId = pedestrianInfo.Id,
         PhoneNumber = pedestrianInfo.PhoneNumber,
         SkypeNumber = pedestrianInfo.SkypeNumber,
         CurrentLocationLatidude = pedestrianInfo.CurrentLocationLatidude,
         CurrentLocationLongitude = pedestrianInfo.CurrentLocationLongidude,
         IsOnline = pedestrianInfo.IsOnline
     });
 }
コード例 #6
0
        public IEnumerable <IPedestrianInfo> EnumeratePedestrians(Guid cityId)
        {
            IList <PedestrianAccountDA> accounts    = _dataProxy.Session.CreateCriteria <PedestrianAccountDA>().List <PedestrianAccountDA>();
            IList <PedestrianInfoDA>    pedestrians = _dataProxy.Session.CreateCriteria <PedestrianInfoDA>() /*.Add(Restrictions.Where<PedestrianInfoDA>(p => p.PersonInfo.City.Id == cityId))*/.List <PedestrianInfoDA>();

            foreach (var info in accounts.Join(pedestrians, account => account.Person.Id, pedestrian => pedestrian.PersonInfo.Person.Id,
                                               (account, pedestrian) => new { AccountInfo = account, PedestrianInfo = pedestrian }).Where(i => i.PedestrianInfo.PersonInfo.City.Id == cityId).ToArray())
            {
                IPedestrianInfo pedesrtianInfo = _server.CreatePedestrianInfo(info.AccountInfo.Person.Id);
                pedesrtianInfo.PhoneNumber              = info.AccountInfo.Person.PhoneNumber;
                pedesrtianInfo.SkypeNumber              = info.AccountInfo.Person.SkypeNumber;
                pedesrtianInfo.CurrentLocationLatidude  = info.PedestrianInfo.PersonInfo.Latitude;
                pedesrtianInfo.CurrentLocationLongidude = info.PedestrianInfo.PersonInfo.Longitude;
                yield return(pedesrtianInfo);
            }
        }
コード例 #7
0
 public IPedestrianRequestInfo CreatePedestrianRequestInfo(IPedestrianInfo pedestrian, IDriverInfo driver)
 {
     return(new PedestrianRequestInfo(Guid.NewGuid(), driver.Id, pedestrian.Id));
 }
コード例 #8
0
 private bool ComparePedestriansInfo(PedestrianLogic logic, IPedestrianInfo slo)
 {
     return(logic.Model.PersonId == slo.PersonId);
 }
コード例 #9
0
 public ActionResult RemovePedestrian(IPedestrianInfo pedestrianInfo)
 {
     throw new NotImplementedException();
 }
コード例 #10
0
 internal PedestrianModel(IPedestrianInfo info)
     : base(info)
 {
 }
コード例 #11
0
 public static void FillPedestrianAuthenticationRequestInfo(IPedestrianInfo pedestrianInfo, PedestrianAuthenticationRequestDataContract request)
 {
     pedestrianInfo.PhoneNumber = request.PhoneNumber;
     pedestrianInfo.SkypeNumber = request.SkypeNumber;
 }