public async Task <IActionResult> PostRidesInvitations([FromBody] RidesInvitations ridesInvitations) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.RidesInvitations.Add(ridesInvitations); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (RidesInvitationsExists(ridesInvitations.RideId, ridesInvitations.CandidateId)) { return(new StatusCodeResult(StatusCodes.Status409Conflict)); } else { throw; } } return(CreatedAtAction("GetRidesInvitations", new { RideId = ridesInvitations.RideId, CandidateId = ridesInvitations.CandidateId }, ridesInvitations)); }
private async Task <bool> PostRequest() { var postUrl = "https://altaarefapp.azurewebsites.net/api/RidesInvitations"; RidesInvitations invitation = new RidesInvitations { RideId = Ride.Id, CandidateId = Settings.StudentId }; var content = new StringContent(JsonConvert.SerializeObject(invitation), Encoding.UTF8, "application/json"); var response = _client.PostAsync(postUrl, content); if (response.Result.IsSuccessStatusCode) { //await _pageService.DisplayAlert("Students Invited", "Students Invited Successfully", "OK", "Cancel"); return(false); } else { await _pageService.DisplayAlert("Error", "Something went wrong with Posting invitation", "OK", "Cancel"); return(true); } }
private async Task <bool> PostRideAttendant(RidesInvitations UpdatedRideInvitaion) { var postUrl = "https://altaarefapp.azurewebsites.net/api/RideAttendants/"; RideAttendants rideAttendants = new RideAttendants { AttendantId = UpdatedRideInvitaion.CandidateId, RideId = UpdatedRideInvitaion.RideId }; var content = new StringContent(JsonConvert.SerializeObject(rideAttendants), Encoding.UTF8, "application/json"); var response = _client.PostAsync(postUrl, content); var insertedRes = await response.Result.Content.ReadAsStringAsync(); if (response.Result.IsSuccessStatusCode) { //await FCMPushNotificationSender.Send( // "SG" + StudyGroup.CourseId, // "New Study Group", // "New study group added in a course you interested in, join now!"); return(true); } else { await _pageService.DisplayAlert("Error", "Something went wrong", "OK", "Cancel"); return(false); } }
private async Task <bool> PutInvitationStatus(RidesInvitations UpdatedRideInvitaion) { var puttUrl = "https://altaarefapp.azurewebsites.net/api/RidesInvitations/" + UpdatedRideInvitaion.RideId + "/" + UpdatedRideInvitaion.CandidateId; var content = new StringContent(JsonConvert.SerializeObject(UpdatedRideInvitaion), Encoding.UTF8, "application/json"); var response = await _client.PutAsync(puttUrl, content); return(response.IsSuccessStatusCode); }
private async Task <bool> DeleteAttendant(RidesInvitations rideinv) { Busy = true; var url = "https://altaarefapp.azurewebsites.net/api/RideAttendants/" + rideinv.CandidateId + "/" + rideinv.RideId; var response = await _client.DeleteAsync(url); if (response.IsSuccessStatusCode) { Busy = false; return(true); } else { Busy = false; return(false); } }
private async Task HandleInvitationTap(RidesInvitations rideinv) { if (!rideinv.Status) { // get the current number of attendants var count = await GetNumberOfAttendants(rideinv.Ride); if (rideinv.Ride.NumOfFreeSeats - count == 0) { await _pageService.DisplayAlert("Oops!", "Sorry, no more free seats lef!", "Ok", "Cancel"); return; } } Busy = true; rideinv.Status = !rideinv.Status; bool resultput = await PutInvitationStatus(rideinv); var passed = true; if (rideinv.Status) { passed = await PostRideAttendant(rideinv); } else { passed = await DeleteAttendant(rideinv); } if (!resultput || !passed) { rideinv.Status = !rideinv.Status; } else { RequestsList.Find(ride => ride.RideId == rideinv.RideId && ride.CandidateId == rideinv.CandidateId).Status = rideinv.Status; } Busy = false; }
public async Task <IActionResult> PutRidesInvitations([FromRoute] int RideId, [FromRoute] int CandidateId, [FromBody] RidesInvitations ridesInvitations) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (RideId != ridesInvitations.RideId || CandidateId != ridesInvitations.CandidateId) { return(BadRequest()); } _context.Entry(ridesInvitations).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RidesInvitationsExists(RideId, CandidateId)) { return(NotFound()); } else { throw; } } return(NoContent()); }