Пример #1
0
        public ActionResult Configuration()
        {
            CameraPropertiesModel propertiesModel = new CameraPropertiesModel
            {
                BusModel = new BusModel()
            };
            var allBuses = BusHelpers.GetAllAvailableBuses();

            if (allBuses != null)
            {
                propertiesModel.BusModel.Buses = allBuses
                                                 .Select(bus => new SelectListItem {
                    Text = bus.Name, Value = bus.Id
                });
            }
            else
            {
                propertiesModel.BusModel.Buses = Enumerable.Empty <SelectListItem>();
            }
            (propertiesModel.ApiKey, propertiesModel.ApiSecret, propertiesModel.FacesetToken) = GetApiDetailsFromConfig();
            (propertiesModel.PostalCode,
             propertiesModel.HouseNumber,
             propertiesModel.StreetName,
             propertiesModel.CityName,
             propertiesModel.CountryName,
             propertiesModel.BusId,
             propertiesModel.IsBus)      = GetCameraDetailsFromConfig();
            propertiesModel.IsProcessing = MJPEGStreamManager.Processor.IsProcessing;
            return(View(propertiesModel));
        }
Пример #2
0
        public async Task DisplayTimeIsCorrect()
        {
            IndexModel page = new IndexModel(new BusRouteProvider());
            await page.OnGetAsync();

            DisplayRouteData displayRouteData = page.Routes.ToList()[0];
            var displayTime     = displayRouteData.DisplayArrivalTime;
            var expectedDisplay = BusHelpers.ConvertMillisecondsToUTC(displayRouteData.PredictedArrival).ToShortTimeString();

            BusHelpers.CleanRouteName("");
            Assert.AreEqual("12:00 AM", displayTime);
        }
        /// <summary>
        /// Sends email and SMS
        /// </summary>
        /// <param name="faceToken"></param>
        /// <param name="confidence"></param>
        /// <param name="cameraProperties"></param>
        private static async Task SendNotification(string faceToken, LikelinessConfidence confidence, CameraProperties cameraProperties)
        {
            ContactInformation information = await new CallsToDb().GetMissingPersonData(faceToken);

            if (information == null)
            {
                return;
            }

            LikelinessLevelData data = likelinessLevelData[confidence];

            byte[] locationPicture = null;
            string locationString  = "";

            if (cameraProperties != null)
            {
                var bus = (cameraProperties.IsBus) ? new Bus(cameraProperties.BusId, DateTime.Now) : null;

                var location = (cameraProperties.IsBus)
                    ? new Location(bus)
                    : new Location(cameraProperties.StreetName, cameraProperties.HouseNumber, cameraProperties.CityName,
                                   cameraProperties.CountryName, cameraProperties.PostalCode);

                locationString = (cameraProperties.IsBus)
                    ? BusHelpers.GetBusLocation(bus)
                    : LocationHelpers.LocationString(location);

                string locationPicUrl = (cameraProperties.IsBus)
                    ? LocationHelpers.CreateLocationPictureFromCoordinates(location)
                    : LocationHelpers.CreateLocationPictureFromAddress(location);

                using (WebClient client = new WebClient())
                {
                    locationPicture = await client.DownloadDataTaskAsync(locationPicUrl);
                }
            }

            if (Mail.SendMail(information.contactPersonEmailAddress, data.EmailSubject,
                              data.EmailBodyBeginning + information.missingPersonFirstName + " " +
                              information.missingPersonLastName + data.EmailBodyEnding + locationString,
                              new List <byte[]>()
            {
                locationPicture
            }, new List <string>()
            {
                "Location.jpeg"
            }) != null)
            {
                Debug.WriteLine("Mail message was sent!");
            }
            else
            {
                Debug.WriteLine("Mail message was not sent!");
            }

            if (Sms.SendSms(information.contactPersonPhoneNumber,
                            data.SmsBodyBeginning + information.missingPersonFirstName + " " +
                            information.missingPersonLastName + data.SmsBodyEnding) != null)
            {
                Debug.WriteLine("Sms message was sent!");
            }
            else
            {
                Debug.WriteLine("Sms message was not sent!");
            }
        }