async void OnItemSelected(object sender, SelectedItemChangedEventArgs args) { var item = args.SelectedItem as DtoClassAvailable; if (item == null) { return; } var teacher = App.LoggedUser; var bookClass = new DtoNewClass { ClassID = item.ClassID, Name = item.Name, TeacherID = teacher.UserID, TeacherName = teacher.Name, AvailableDate = DateTime.Now, Time = DateTime.Now.TimeOfDay, Token = teacher.Token }; await viewModel.MasterNavigateTo(new TeacherSchedulePage(bookClass)); // Manually deselect item ListItems.SelectedItem = null; }
public async Task <List <DtoTeacherSchedule> > GetScheduleClass(DtoNewClass schedule) { var uri = new Uri(string.Format(_apiUrl + "AlumnoMateria/GetListProfesorMateriaApp?idMateria={0}", schedule.ClassID)); HttpRequestMessage message = new HttpRequestMessage(HttpMethod.Get, uri); message.Headers.Add("Token", schedule.Token); HttpResponseMessage response = await _client.SendAsync(message); var result = JsonConvert.DeserializeObject <dynamic>(response.Content.ReadAsStringAsync().Result); var materiasCollection = new List <DtoTeacherSchedule>(); foreach (var m in result) { materiasCollection.Add(new DtoTeacherSchedule { ScheduleID = m.IdProfesorMateria, ClassID = m.IdMateria, TeacherID = m.IdProfesor, AvailableDate = m.FechaHora, Latitude = m.Latitud, Longitude = m.Longitud, ClassName = m.NombreMateria, TeacherName = m.NombreProfesor, Token = schedule.Token, }); } return(materiasCollection); }
public async Task SaveClass(DtoNewClass item) { var uri = new Uri(string.Format(_apiUrl + "ProfesorMateria/InsProfesorMateriaApp", "ProfesorMateriaApp")); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, uri); var json = JsonConvert.SerializeObject( new { IdProfesorMateria = new Random().Next(), IdMateria = item.ClassID, IdProfesor = item.TeacherID, FechaHora = item.AvailableDate + item.Time, Latitud = item.CurrentLatitude, Longitud = item.CurrentLongitude, NombreMateria = item.Name, NombreProfesor = item.TeacherName }); request.Headers.Add("Token", item.Token); request.Content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await _client.SendAsync(request); if (!response.IsSuccessStatusCode) { throw new Exception("No se pudor registrar la materia, intente de nuevo."); } }
public TeacherScheduleViewModel(DtoNewClass selectedClass) { _selectedClass = selectedClass; Items = new ObservableCollection <DtoTeacherSchedule>(); LoadItemsCommand = new Command(async() => await GetItemsDataSource()); }
public TeacherSchedulePage(DtoNewClass selectedClass) { InitializeComponent(); Title = "Horarios disponibles"; BindingContext = viewModel = new TeacherScheduleViewModel(selectedClass); }
public RegisterClassPageViewModel(DtoNewClass item) { _item = item; SaveCommand = new Command(async() => await SaveClass()); }