private void OnStartMeasure(object sender, EventArgs e)
        {
            var batch = new MeasureBatch();

            //gather data
            try
            {
                batch.Grade         = pckGrade.SelectedItem.ToString();
                batch.InnerDiameter = float.Parse(pckInnerDiam.SelectedItem.ToString());
                batch.OuterDiameter = float.Parse(pckOuterDiam.SelectedItem.ToString());
                batch.TopThread     = pckThread.SelectedItem.ToString();
                batch.Weight        = int.Parse(pckWeight.SelectedItem.ToString());
                batch.SiteName      = pckSiteName.SelectedItem.ToString();
                batch.Uploaded      = false;
                //batch.Measurements = new List<Measurement>();
                GetGeoLocation(batch);

                var measurePage = new CollectMeasurePage(batch);
                this.Navigation.PushAsync(measurePage, true);
            }
            catch (Exception ex)
            {
                return;
            }
        }
 public CollectMeasurePage(MeasureBatch batch)
 {
     InitializeComponent();
     this.Appearing += CollectMeasurePage_Appearing;
     _batch          = batch;
     _batchMeasures  = new List <Measurement>();
 }
Beispiel #3
0
        private async static Task <bool> SendMeasurements(string svcURL, MeasureBatch batch, List <Measurement> measurements)
        {
            var        endpoint = svcURL + "JobSite";
            HttpClient client   = new HttpClient();
            var        data     = Conversion(batch, measurements);

            var json    = JsonConvert.SerializeObject(data);
            var content = new StringContent(json, Encoding.UTF8, "application/json");

            var result = false;

            try
            {
                var response = await client.PostAsync(endpoint, content);

                if (response.StatusCode == System.Net.HttpStatusCode.OK || response.StatusCode == System.Net.HttpStatusCode.Created)
                {
                    result = true;
                }
                else
                {
                    System.Diagnostics.Debug.WriteLine(response.StatusCode + " - " + await response.Content.ReadAsStringAsync());
                    result = false;
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message + " at " + ex.StackTrace);
                result = false;
            }

            return(result);
        }
 private void GetGeoLocation(MeasureBatch batch)
 {
     Task.Run(GetCurrentLocation).ContinueWith(r =>
     {
         var position    = r.Result;
         batch.Latitude  = position.Latitude;
         batch.Longitude = position.Longitude;
     });
 }
        public void StoreFullBatch(MeasureBatch batch, List <Measurement> measurements)
        {
            var cnt = _database.InsertAsync(batch).Result;

            foreach (var m in measurements)
            {
                m.MeasureBatchID = batch.ID;
            }

            _database.InsertAllAsync(measurements);
        }
Beispiel #6
0
        private static JobSiteObject Conversion(MeasureBatch measureBatch, List <Measurement> measurements)
        {
            var jobSite = new JobSiteObject
            {
                JobSiteId     = 0,
                Grade         = measureBatch.Grade,
                OuterDiameter = measureBatch.OuterDiameter,
                InnerDiameter = measureBatch.InnerDiameter,
                TotalWeight   = measureBatch.Weight,
                ThreadType    = measureBatch.TopThread,
                Latitude      = measureBatch.Latitude,
                Longitude     = measureBatch.Longitude,
                Title         = measureBatch.SiteName,
                Measurements  = convertMeasurements(measurements)
            };

            return(jobSite);
        }
 public void UpdateBatch(MeasureBatch batch)
 {
     _database.UpdateAsync(batch);
 }