Beispiel #1
0
 public override void RegularUpdate()
 {
     if (cT.Cancelled)
     {
         Finish();
     }
     else
     {
         var target = source.GlobalPosition();
         if (containerActive != LocationHelpers.OnPlayableScreenBy(5f, target))
         {
             container.SetActive(containerActive = !containerActive);
         }
         if (containerActive)
         {
             var p = tr.localPosition;
             p.x = Mathf.Clamp(source.GlobalPosition().x,
                               GameManagement.References.bounds.left + yield,
                               GameManagement.References.bounds.right - yield);
             tr.localPosition = p;
             text.color       = new Color(1, 1, 1,
                                          Mathf.Clamp01(Mathf.Lerp(0.1f, 1.5f, enemy == null ? 1 : enemy.DisplayBarRatio)));
         }
     }
 }
Beispiel #2
0
 /// <summary>
 /// Creates an expression to define whether a particular venue meets matches the input filter requirements.
 /// </summary>
 /// <returns></returns>
 Func <Venue, bool> ToExpression(Request request)
 {
     return(venue => venue.Ratings.Beer >= request.MinBeer &&
            venue.Ratings.Atmosphere >= request.MinAtmosphere &&
            venue.Ratings.Amenities >= request.MinAmenities &&
            venue.Ratings.Value >= request.MinValue &&
            venue.Location.Lat >= request.MinLat &&
            venue.Location.Lat <= request.MaxLat &&
            venue.Location.Lng >= request.MinLng &&
            venue.Location.Lng <= request.MaxLng &&
            (Math.Abs(request.MaxDistKm) < 0.1 ||
             LocationHelpers.HaversineDistance(
                 new LatLng(venue.Location.Lat, venue.Location.Lng),
                 new LatLng(request.Lat, request.Lng)) > request.MaxDistKm) &&
            (request.SelectedTags.Count == 0 || venue.Tags.Any(t => request.SelectedTags.Contains(t))) &&
            (string.IsNullOrEmpty(request.Category) || string.Equals(venue.Category, request.Category, StringComparison.CurrentCultureIgnoreCase)) &&
            (string.IsNullOrEmpty(request.NameSearch) || venue.Name.Contains(request.NameSearch, StringComparison.CurrentCultureIgnoreCase)));
 }
        void _sendUpdate(Geocoordinate currentPosition = null, double accuracy = 0)
        {
            if (currentPosition != null)
            {
                CurrentLocation            = LocationHelpers.ConvertXLocation(currentPosition, CurrentLocation);
                CurrentLocation.IsResolved = true;
            }
            else
            {
                CurrentLocation.IsResolved = false;
            }

            if (accuracy != 0)
            {
                CurrentLocation.Accuracy = Convert.ToInt32(accuracy);
            }


            _fire();
        }
Beispiel #4
0
        public ActionResult Index(ContactUsPage currentPage)
        {
            var md        = new ContactUsPageModel(currentPage);
            var locations = string.Empty;

            if (currentPage.OfficeItems != null && currentPage.OfficeItems.Items.Any())
            {
                for (var i = 0; i < currentPage.OfficeItems.Items.Count; i++)
                {
                    var item        = currentPage.OfficeItems.Items[i];
                    var officeBlock = _icontentLoader.Get <OfficeBlock>(item.ContentLink);
                    if (!Double.IsNaN(officeBlock.Latitude) && !officeBlock.Latitude.Equals(0) &&
                        !Double.IsNaN(officeBlock.Longitude) && !officeBlock.Longitude.Equals(0))
                    {
                        var str = string.Format("['{0}',{1},{2},{3}]", HttpUtility.HtmlEncode(officeBlock.Address),
                                                officeBlock.Latitude,
                                                officeBlock.Longitude, i + 1);
                        locations = !string.IsNullOrEmpty(locations) ? string.Format("{0},{1}", locations, str) : str;
                    }
                }
            }
            md.Locations = string.Format("[{0}]", locations);
            if (currentPage != null && currentPage.ContactUsForm != null)
            {
                var urlResolver = ServiceLocator.Current.GetInstance <UrlResolver>();
                var pageUrl     = urlResolver.GetUrl(currentPage.ContentLink);
                var actionUrl   = string.Format("{0}XFormPost/", pageUrl);
                actionUrl = UriSupport.AddQueryString(actionUrl, "XFormId", currentPage.ContactUsForm.Id.ToString());
                actionUrl = UriSupport.AddQueryString(actionUrl, "failedAction", "Failed");
                actionUrl = UriSupport.AddQueryString(actionUrl, "successAction", "Success");
                actionUrl = UriSupport.AddQueryString(actionUrl, "contentId",
                                                      currentPage.ContentLink.ID.ToString(CultureInfo.InvariantCulture));
                md.ActionUrl = actionUrl;
            }
            ViewBag.Country = LocationHelpers.GetCountryCodeByIp();
            var result = GetPhoneCodeByCountryCode(ViewBag.Country);

            ViewBag.PhoneCode   = result.Data.phone;
            ViewBag.ListCountry = GetAllCountries();
            return(View(md));
        }
Beispiel #5
0
 public override void RegularUpdate()
 {
     if (collection != null && collection.Autocollect)
     {
         Autocollect(true);
     }
     if (State == HomingState.WAITING && time > MinTimeBeforeHome)
     {
         State = HomingState.HOMING;
     }
     if (CollisionMath.CircleOnPoint(loc, target.itemCollectRadius + CollectRadiusBonus, target.location))
     {
         CollectMe();
         return;
     }
     if (State == HomingState.HOMING)
     {
         timeHoming += ETime.FRAME_TIME;
         loc         = Vector2.Lerp(loc, target.location, Mathf.Lerp(homeRate * ETime.FRAME_TIME, peakedHomeRate, timeHoming / maxTimeHoming));
     }
     else
     {
         loc += ETime.FRAME_TIME * (Velocity(time) + summonTarget *
                                    M.DEOutSine(Mathf.Clamp01(time / lerpIntoOffsetTime)) / lerpIntoOffsetTime);
         if (Attractible && CollisionMath.CircleOnPoint(loc, target.itemAttractRadius, target.location))
         {
             SetHome();
         }
         else if (!LocationHelpers.OnScreenInDirection(loc, -screenRange * Direction) ||
                  (time > MinCullTime && !LocationHelpers.OnPlayableScreenBy(CullRadius, loc)))
         {
             PooledDone();
             return;
         }
     }
     tr.localEulerAngles = new Vector3(0, 0, 360 * RotationTurns *
                                       M.EOutSine(Mathf.Clamp01(time / RotationTime)));
     tr.position = loc;
     time       += ETime.FRAME_TIME;
 }
Beispiel #6
0
        private static bool IsAccessorWithSingleLineBlock(SyntaxToken previousToken, SyntaxToken braceToken)
        {
            if (!braceToken.IsKind(SyntaxKind.OpenBraceToken))
            {
                return(false);
            }

            switch (previousToken.Kind())
            {
            case SyntaxKind.GetKeyword:
            case SyntaxKind.SetKeyword:
            case SyntaxKind.AddKeyword:
            case SyntaxKind.RemoveKeyword:
                break;

            default:
                return(false);
            }

            var token = braceToken;
            var depth = 1;

            while (depth > 0)
            {
                token = token.GetNextToken();
                switch (token.Kind())
                {
                case SyntaxKind.CloseBraceToken:
                    depth--;
                    break;

                case SyntaxKind.OpenBraceToken:
                    depth++;
                    break;
                }
            }

            return(LocationHelpers.GetLineSpan(braceToken).StartLinePosition.Line == LocationHelpers.GetLineSpan(token).StartLinePosition.Line);
        }
        public async Task Update_store_location()
        {
            Store store = await CreateValidStore();

            var repository = new StoreRepository(fixture.context);

            Assert.True(await repository.ExistsAsync(store.Id));

            var sut = await repository.LoadAsync(store.Id);

            Assert.NotNull(sut);

            var newLocation = await LocationHelpers.CreateValidLocation();

            await UpdateStoreLocation(sut.Id, newLocation);

            sut = await repository.GetTrackedAsync(sut.Id);

            await fixture.context.Entry(sut).ReloadAsync();

            Assert.Equal(newLocation.Id, sut.Location.Id);
        }
        /// <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!");
            }
        }
Beispiel #9
0
        private static Dictionary <SyntaxToken, SyntaxToken> GenerateBraceFixes(IndentationSettings indentationSettings, ImmutableArray <SyntaxToken> braceTokens)
        {
            var tokenReplacements = new Dictionary <SyntaxToken, SyntaxToken>();

            foreach (var braceToken in braceTokens)
            {
                var braceLine             = LocationHelpers.GetLineSpan(braceToken).StartLinePosition.Line;
                var braceReplacementToken = braceToken;

                var indentationSteps = DetermineIndentationSteps(indentationSettings, braceToken);

                var previousToken = braceToken.GetPreviousToken();

                if (IsAccessorWithSingleLineBlock(previousToken, braceToken))
                {
                    var newTrailingTrivia = previousToken.TrailingTrivia
                                            .WithoutTrailingWhitespace()
                                            .Add(SyntaxFactory.Space);

                    AddReplacement(tokenReplacements, previousToken, previousToken.WithTrailingTrivia(newTrailingTrivia));

                    braceReplacementToken = braceReplacementToken.WithLeadingTrivia(braceToken.LeadingTrivia.WithoutLeadingWhitespace());
                }
                else
                {
                    // Check if we need to apply a fix before the brace
                    if (LocationHelpers.GetLineSpan(previousToken).StartLinePosition.Line == braceLine)
                    {
                        if (!braceTokens.Contains(previousToken))
                        {
                            var sharedTrivia = braceReplacementToken.LeadingTrivia.WithoutTrailingWhitespace();
                            var previousTokenNewTrailingTrivia = previousToken.TrailingTrivia
                                                                 .WithoutTrailingWhitespace()
                                                                 .AddRange(sharedTrivia)
                                                                 .Add(SyntaxFactory.CarriageReturnLineFeed);

                            AddReplacement(tokenReplacements, previousToken, previousToken.WithTrailingTrivia(previousTokenNewTrailingTrivia));
                        }

                        braceReplacementToken = braceReplacementToken.WithLeadingTrivia(IndentationHelper.GenerateWhitespaceTrivia(indentationSettings, indentationSteps));
                    }

                    // Check if we need to apply a fix after the brace. No fix is needed when:
                    // - The closing brace is followed by a semi-colon or closing paren
                    // - The closing brace is the last token in the file
                    var nextToken     = braceToken.GetNextToken();
                    var nextTokenLine = nextToken.IsKind(SyntaxKind.None) ? -1 : LocationHelpers.GetLineSpan(nextToken).StartLinePosition.Line;
                    var isMultiDimensionArrayInitializer = braceToken.IsKind(SyntaxKind.OpenBraceToken) && braceToken.Parent.IsKind(SyntaxKind.ArrayInitializerExpression) && braceToken.Parent.Parent.IsKind(SyntaxKind.ArrayInitializerExpression);

                    if ((nextTokenLine == braceLine) &&
                        (!braceToken.IsKind(SyntaxKind.CloseBraceToken) || !IsValidFollowingToken(nextToken)) &&
                        !isMultiDimensionArrayInitializer)
                    {
                        var sharedTrivia      = nextToken.LeadingTrivia.WithoutTrailingWhitespace();
                        var newTrailingTrivia = braceReplacementToken.TrailingTrivia
                                                .WithoutTrailingWhitespace()
                                                .AddRange(sharedTrivia)
                                                .Add(SyntaxFactory.CarriageReturnLineFeed);

                        if (!braceTokens.Contains(nextToken))
                        {
                            int newIndentationSteps = indentationSteps;
                            if (braceToken.IsKind(SyntaxKind.OpenBraceToken))
                            {
                                newIndentationSteps++;
                            }

                            if (nextToken.IsKind(SyntaxKind.CloseBraceToken))
                            {
                                newIndentationSteps = Math.Max(0, newIndentationSteps - 1);
                            }

                            AddReplacement(tokenReplacements, nextToken, nextToken.WithLeadingTrivia(IndentationHelper.GenerateWhitespaceTrivia(indentationSettings, newIndentationSteps)));
                        }

                        braceReplacementToken = braceReplacementToken.WithTrailingTrivia(newTrailingTrivia);
                    }
                }

                AddReplacement(tokenReplacements, braceToken, braceReplacementToken);
            }

            return(tokenReplacements);
        }
        private static Dictionary <SyntaxToken, SyntaxToken> GenerateBraceFixes(Document document, ImmutableArray <SyntaxToken> braceTokens)
        {
            var tokenReplacements = new Dictionary <SyntaxToken, SyntaxToken>();

            foreach (var braceToken in braceTokens)
            {
                var braceLine             = LocationHelpers.GetLineSpan(braceToken).StartLinePosition.Line;
                var braceReplacementToken = braceToken;

                var indentationOptions = IndentationOptions.FromDocument(document);
                var indentationSteps   = DetermineIndentationSteps(indentationOptions, braceToken);

                var previousToken = braceToken.GetPreviousToken();
                var nextToken     = braceToken.GetNextToken();

                if (IsAccessorWithSingleLineBlock(previousToken, braceToken))
                {
                    var newTrailingTrivia = previousToken.TrailingTrivia
                                            .WithoutTrailingWhitespace()
                                            .Add(SyntaxFactory.Space);

                    AddReplacement(tokenReplacements, previousToken, previousToken.WithTrailingTrivia(newTrailingTrivia));

                    braceReplacementToken = braceReplacementToken.WithLeadingTrivia(braceToken.LeadingTrivia.WithoutLeadingWhitespace());
                }
                else
                {
                    // Check if we need to apply a fix before the brace
                    if (LocationHelpers.GetLineSpan(previousToken).StartLinePosition.Line == braceLine)
                    {
                        if (!braceTokens.Contains(previousToken))
                        {
                            var sharedTrivia = braceReplacementToken.LeadingTrivia.WithoutTrailingWhitespace();
                            var previousTokenNewTrailingTrivia = previousToken.TrailingTrivia
                                                                 .WithoutTrailingWhitespace()
                                                                 .AddRange(sharedTrivia)
                                                                 .Add(SyntaxFactory.CarriageReturnLineFeed);

                            AddReplacement(tokenReplacements, previousToken, previousToken.WithTrailingTrivia(previousTokenNewTrailingTrivia));
                        }

                        braceReplacementToken = braceReplacementToken.WithLeadingTrivia(IndentationHelper.GenerateWhitespaceTrivia(indentationOptions, indentationSteps));
                    }

                    // Check if we need to apply a fix after the brace
                    // if a closing brace is followed by a semi-colon or closing paren, no fix is needed.
                    if ((LocationHelpers.GetLineSpan(nextToken).StartLinePosition.Line == braceLine) &&
                        (!braceToken.IsKind(SyntaxKind.CloseBraceToken) || !IsValidFollowingToken(nextToken)))
                    {
                        var sharedTrivia      = nextToken.LeadingTrivia.WithoutTrailingWhitespace();
                        var newTrailingTrivia = braceReplacementToken.TrailingTrivia
                                                .WithoutTrailingWhitespace()
                                                .AddRange(sharedTrivia)
                                                .Add(SyntaxFactory.CarriageReturnLineFeed);

                        if (!braceTokens.Contains(nextToken))
                        {
                            int newIndentationSteps;
                            if (braceToken.IsKind(SyntaxKind.OpenBraceToken))
                            {
                                newIndentationSteps = indentationSteps + 1;
                            }
                            else if (nextToken.IsKind(SyntaxKind.CloseBraceToken))
                            {
                                newIndentationSteps = Math.Max(0, indentationSteps - 1);
                            }
                            else
                            {
                                newIndentationSteps = indentationSteps;
                            }

                            AddReplacement(tokenReplacements, nextToken, nextToken.WithLeadingTrivia(IndentationHelper.GenerateWhitespaceTrivia(indentationOptions, newIndentationSteps)));
                        }

                        braceReplacementToken = braceReplacementToken.WithTrailingTrivia(newTrailingTrivia);
                    }
                }

                AddReplacement(tokenReplacements, braceToken, braceReplacementToken);
            }

            return(tokenReplacements);
        }
Beispiel #11
0
        public Call GenerateCall(CallEmail email, string managingUser, List <IdentityUser> users, Department department, List <Call> activeCalls, List <Unit> units, int priority, List <DepartmentCallPriority> activePriorities)
        {
            if (email == null)
            {
                return(null);
            }

            if (String.IsNullOrEmpty(email.Body))
            {
                return(null);
            }

            //if (String.IsNullOrEmpty(email.Subject))
            //	return null;

            Call c = new Call();

            c.Notes            = email.Subject + " " + email.Body;
            c.NatureOfCall     = email.Body;
            c.Name             = "Call Email Import";
            c.LoggedOn         = DateTime.UtcNow;
            c.Priority         = priority;
            c.ReportingUserId  = managingUser;
            c.Dispatches       = new Collection <CallDispatch>();
            c.CallSource       = (int)CallSources.EmailImport;
            c.SourceIdentifier = email.MessageId;

            string[] rawData = email.Body.Split(new string[] { "\r\n", "\r\n\r\n" }, StringSplitOptions.None);

            if (rawData != null && rawData.Any())
            {
                foreach (string s in rawData)
                {
                    if (!string.IsNullOrWhiteSpace(s) && s.StartsWith("La", StringComparison.InvariantCultureIgnoreCase))
                    {
                        string[] geoData = s.Split(new string[] { "  " }, StringSplitOptions.None);

                        if (geoData != null && geoData.Length == 2)
                        {
                            var latDMS = geoData[0].Replace(" grader ", ",").Replace("La = ", "").Replace("'N", "").Trim();
                            var lonDMS = geoData[1].Replace(" grader ", ",").Replace("Lo = ", "").Replace("'E", "").Trim();

                            if (!String.IsNullOrWhiteSpace(latDMS) && !String.IsNullOrWhiteSpace(lonDMS))
                            {
                                string[] latValues = latDMS.Split(new string[] { "," }, StringSplitOptions.None);
                                string[] lonValues = lonDMS.Split(new string[] { "," }, StringSplitOptions.None);

                                double lat = 0;
                                if (latValues != null && latValues.Length == 3)
                                {
                                    lat = LocationHelpers.ConvertDegreesToDecimal(latValues[0].Trim(), latValues[1].Trim(), latValues[2].Trim());
                                }

                                double lon = 0;
                                if (lonValues != null && lonValues.Length == 3)
                                {
                                    lon = LocationHelpers.ConvertDegreesToDecimal(lonValues[0].Trim(), lonValues[1].Trim(), lonValues[2].Trim());
                                }


                                if (lat != 0 && lon != 0)
                                {
                                    c.GeoLocationData = $"{lat},{lon}";
                                }
                            }
                        }
                    }
                }
            }

            foreach (var u in users)
            {
                CallDispatch cd = new CallDispatch();
                cd.UserId = u.UserId;

                c.Dispatches.Add(cd);
            }

            return(c);
        }
 public double Distance(double lat, double lng, XLocation b)
 {
     return(LocationHelpers.Distance(lat, lng, b));
 }
 private void geolocator_StatusChanged(Geolocator sender, StatusChangedEventArgs args)
 {
     CurrentLocation.Status = LocationHelpers.ConvertLocationStatus(args.Status);
     _fire();
 }