void BRaccourci_Click(object sender, RoutedEventArgs e) { int i = 0; if (BRaccourci1.Equals(sender)) { i = 0; } if (BRaccourci2.Equals(sender)) { i = 1; } if (BRaccourci3.Equals(sender)) { i = 2; } if (BRaccourci4.Equals(sender)) { i = 3; } InterventionDto interv = new InterventionDto { IDUtilisateur = user.ID, IDContact = repertoire[i].IDContact, DateHeure = DateTime.Now, Data = "Appel rapide", UrgenceLevel = 2, GPSLocation = "random" }; WCFProxy.DoInterventionAsync(interv); idCalledPerson.Add(repertoire[i].IDContact); }
private void BHelp_Click(object sender, RoutedEventArgs e) { // Not Working on emulator /*Geolocator geolocator = new Geolocator(); * geolocator.DesiredAccuracyInMeters = 50; * * try * { * Geoposition geoposition = await geolocator.GetGeopositionAsync( * maximumAge: TimeSpan.FromMinutes(5), * timeout: TimeSpan.FromSeconds(10) * ); * * string position = "[" + geoposition.Coordinate.Latitude.ToString("0.00") + ", "+geoposition.Coordinate.Longitude.ToString("0.00") + "]"; * } * catch (Exception ex) * { * MessageBox.Show(ex.Message, "Erreur", MessageBoxButton.OK); * }*/ InterventionDto interv = new InterventionDto { IDUtilisateur = user.ID, IDContact = smartVigilance.IDContact, DateHeure = DateTime.Now, Data = "HELP", UrgenceLevel = 3, GPSLocation = "random" }; WCFProxy.DoInterventionAsync(interv); idCalledPerson.Add(smartVigilance.IDContact); }
public async void AddIntervention(InterventionDto interventionDto) { var newIntervention = _mapper.Map <Intervention>(interventionDto); _interventionService.Add(newIntervention); await _interventionHub.Clients.All.SendAsync("interventionUpdated", newIntervention.Id); }
private static async Task <string> AddIntervention( InterventionDto intervention, CloudTable interventionsTable, Address convertedGeoAddress ) { int nextId = await InterventionCounter.GetNextId(interventionsTable); InterventionEntity interventionEntity = new InterventionEntity() { PartitionKey = GeoHash.Encode(convertedGeoAddress.Latitude, convertedGeoAddress.Lognitude, Config.GeoHashPrecision), RowKey = nextId.ToString(), Email = intervention.Email, City = intervention.City, Street = intervention.Street, StreetNumber = intervention.StreetNumber, CreationDate = DateTime.UtcNow, ModificationDate = DateTime.UtcNow, Description = intervention.Description, FullName = intervention.FullName, PhoneNumber = intervention.PhoneNumber, Status = (int)intervention.Status, GeoLat = convertedGeoAddress.Latitude, GeoLng = convertedGeoAddress.Lognitude, }; TableOperation insertNewIntervention = TableOperation.Insert(interventionEntity); await interventionsTable.ExecuteAsync(insertNewIntervention); return(interventionEntity.RowKey); }
public async Task <ActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "post", Route = "interventions")] InterventionDto intervention, [Table(Config.InterventionsTableName, Connection = Config.StorageConnectionName)] CloudTable interventionsTable, ILogger log) { // Validate Captcha if (intervention.Captcha != null) { try { await _captchaService.ValidateCaptcha(intervention.Captcha); } catch (BaseException e) { log.Log(e.LogLevel, e, e.Message); return(new BadRequestObjectResult(e.Message)); } } // Validate InterventionDTO var results = new List <ValidationResult>(); if (!Validator.TryValidateObject(intervention, new ValidationContext(intervention, null, null), results)) { var errorList = new List <string>(); foreach (var error in results) { errorList.Add(error.ErrorMessage); } string json = JsonConvert.SerializeObject(errorList); return(new BadRequestObjectResult(json)); } // Convert GoogleMaps Address Address convertedGeoAddress; try { convertedGeoAddress = await _addressConverter.ConvertToGeoAddress(intervention.City, intervention.Street, intervention.StreetNumber); } catch (BaseException e) { log.Log(e.LogLevel, e, e.Message); return(new BadRequestObjectResult(e.Message)); } catch (Exception e) { log.LogError(e, "Error podczas konwertowania adresu"); return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } string interventionId = await AddIntervention(intervention, interventionsTable, convertedGeoAddress); return(new JsonResult(new { id = interventionId })); }
public WindowIntervention(InterventionDto input) { InitializeComponent(); i = input; TBData.Text = input.Data; TBGPS.Text = input.GPSLocation; TBIDContact.Text = input.IDContact.ToString(); TBIDUser.Text = input.IDUtilisateur.ToString(); TBUrgence.Text = input.UrgenceLevel.ToString(); TBDate.Text = input.DateHeure.ToString(); }
public async Task <ActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "post", Route = "interventions")] [RequestBodyType(typeof(InterventionDto), "InterventionDto")] InterventionDto intervention, [Table(Config.InterventionsTableName, Connection = Config.StorageConnectionName)] IAsyncCollector <InterventionEntity> interventions, ILogger log) { var results = new List <ValidationResult>(); if (!Validator.TryValidateObject(intervention, new ValidationContext(intervention, null, null), results)) { var errorList = new List <string>(); foreach (var error in results) { errorList.Add(error.ErrorMessage); } string json = JsonConvert.SerializeObject(errorList); return(new BadRequestObjectResult(json)); } Address convertedGeoAddress = new Address(); try { // retry should be added convertedGeoAddress = await _addressConverter.ConvertToGeoAddress(intervention.Address); } catch (Exception e) { log.LogError(e, "error"); return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } InterventionEntity interventionEntity = new InterventionEntity() { Email = intervention.Email, City = intervention.City, Street = intervention.Street, StreetNumber = intervention.StreetNumber, CreationDate = DateTime.UtcNow, ModificationDate = DateTime.UtcNow, Description = intervention.Description, FullName = intervention.FullName, PhoneNumber = intervention.PhoneNumber, Status = (int)intervention.Status, GeoLat = convertedGeoAddress.Latitude, GeoLng = convertedGeoAddress.Lognitude, PartitionKey = GeoHash.Encode(convertedGeoAddress.Latitude, convertedGeoAddress.Lognitude, Config.GeoHashPrecision) }; await interventions.AddAsync(interventionEntity); await interventions.FlushAsync(); return(new JsonResult(new { id = interventionEntity.RowKey })); }
private void BOK_Click(object sender, RoutedEventArgs e) { for (int i = 1; i < repertoire.Count; i++) // slot 0 = smartvigi { InterventionDto interv = new InterventionDto { IDUtilisateur = user.ID, IDContact = repertoire[i].IDContact, DateHeure = DateTime.Now, Data = "OK sms", UrgenceLevel = 1, GPSLocation = "random" }; WCFProxy.DoInterventionAsync(interv); idCalledPerson.Add(repertoire[i].IDContact); } }
public WindowIntervention() { InitializeComponent(); i = new InterventionDto(); _validated = false; }
public async Task <IActionResult> RunWithGeoHash( [HttpTrigger(AuthorizationLevel.Function, "put", Route = "interventions/{latitude}/{longitude}/{interventionId}")] [RequestBodyType(typeof(InterventionDto), "InterventionDto")] InterventionDto editedIntervention, [Table(Config.InterventionsTableName, Connection = Config.StorageConnectionName)] CloudTable interventionsTable, string latitude, string longitude, string interventionId, ILogger log) { var geoHash = GeoHasher.GetGeoHash(latitude, longitude); var finalFilter = InterventionFilterBuilder.GetInterventionGeoHashFilter(geoHash, interventionId); var queryResult = await interventionsTable.ExecuteQuerySegmentedAsync(new TableQuery <InterventionEntity>().Where( finalFilter).Take(1), null); var interventionToEdit = queryResult.Results.FirstOrDefault(); if (interventionToEdit == null) { return(new StatusCodeResult(StatusCodes.Status404NotFound)); } if (AddressChanged(interventionToEdit, editedIntervention)) { Address convertedGeoAddress = new Address(); try { convertedGeoAddress = await _addressConverter.ConvertToGeoAddress(editedIntervention.Address); } catch (Exception e) { log.LogError(e, "error"); return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } InterventionEntity adddedInterventionEntity = new InterventionEntity() { Email = editedIntervention.Email, CreationDate = interventionToEdit.CreationDate, ModificationDate = DateTime.UtcNow, Description = editedIntervention.Description, FullName = editedIntervention.FullName, PhoneNumber = editedIntervention.PhoneNumber, Status = (int)editedIntervention.Status, City = editedIntervention.City, Street = editedIntervention.Street, StreetNumber = editedIntervention.StreetNumber, GeoLat = convertedGeoAddress.Latitude, GeoLng = convertedGeoAddress.Lognitude, PartitionKey = GeoHash.Encode(convertedGeoAddress.Latitude, convertedGeoAddress.Lognitude, Config.GeoHashPrecision) }; TableOperation deleteOldIntervention = TableOperation.Delete(interventionToEdit); TableOperation insertNewIntervention = TableOperation.InsertOrReplace(adddedInterventionEntity); TableBatchOperation batch = new TableBatchOperation { deleteOldIntervention, insertNewIntervention }; await interventionsTable.ExecuteBatchAsync(batch); var addedItemResponse = _mapper.Map <InterventionItemResponse>(adddedInterventionEntity); return(new JsonResult(addedItemResponse)); } interventionToEdit.Email = editedIntervention.Email; interventionToEdit.ModificationDate = DateTime.UtcNow; interventionToEdit.Description = editedIntervention.Description; interventionToEdit.FullName = editedIntervention.FullName; interventionToEdit.PhoneNumber = editedIntervention.PhoneNumber; interventionToEdit.Status = (int)editedIntervention.Status; await interventionsTable.ExecuteAsync(TableOperation.Merge(interventionToEdit)); var interventionItemResponses = _mapper.Map <InterventionItemResponse>(interventionToEdit); return(new JsonResult(interventionItemResponses)); }
private bool AddressChanged(InterventionEntity interventionToEdit, InterventionDto editedIntervention) { return(interventionToEdit.Address != editedIntervention.Address); }
public void DoIntervention(InterventionDto interv) { BLLAccess.InsertIntervention(interv); }