private PersonalData getPersonalData() { PersonalData data; try { var documentsPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal); var filePath = System.IO.Path.Combine(documentsPath, "private.txt"); var result = System.IO.File.ReadAllLines(filePath); data = new PersonalData(result[0], result[1], result[2], result[3]); } catch { //result = { "First Name", "Second Name", "Middle Name", "Group" }; data = new PersonalData("First Name", "Second Name", "Middle Name", "Group"); } return(data); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); ActionBar.NavigationMode = ActionBarNavigationMode.Tabs; SetContentView(Resource.Layout.Main); ActionBar.Tab tabSettings = ActionBar.NewTab(); ActionBar.Tab tabCalendar = ActionBar.NewTab(); ActionBar.Tab tabSchedule = ActionBar.NewTab(); ActionBar.Tab tabEdit = ActionBar.NewTab(); tabSettings.SetText("Settings"); //tab.SetIcon(Resource.Drawable.settingssmall); tabSettings.TabSelected += (sender, args) => { SetContentView(Resource.Layout.Settings); Button btn_ok; EditText text_name; EditText text_second_name; EditText text_middle_name; EditText text_group; btn_ok = FindViewById <Button> (Resource.Id.buttonOk); text_name = FindViewById <EditText> (Resource.Id.editTextName); text_second_name = FindViewById <EditText> (Resource.Id.editTextSecondName); text_middle_name = FindViewById <EditText> (Resource.Id.editTextMiddleName); text_group = FindViewById <EditText> (Resource.Id.editTextGroup); btn_ok.Click += delegate { var documentsPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal); var filePath = System.IO.Path.Combine(documentsPath, "private.txt"); System.IO.File.WriteAllText(filePath, text_name.Text + "\n" + text_second_name.Text + "\n" + text_middle_name.Text + "\n" + text_group.Text); data = new PersonalData(text_name.Text, text_second_name.Text, text_middle_name.Text, text_group.Text); stream_schedule = new List <ApiInteractionMember> (); tabSchedule.Select(); }; }; ActionBar.AddTab(tabSettings); tabCalendar.SetText("Calendar"); //tab.SetIcon(Resource.Drawable.calendarsmall); tabCalendar.TabSelected += (sender, args) => { SetContentView(Resource.Layout.Calendar); CalendarView calendar = FindViewById <CalendarView> (Resource.Id.calendarView1); calendar.DateChange += (object sender_calendar, CalendarView.DateChangeEventArgs e_calendar) => { var day_of_month = e_calendar.DayOfMonth; var current_day = DateTime.Now.Day; var month = e_calendar.Month; var current_month = DateTime.Now.Month; addedDays = day_of_month - current_day; addedMonths = month - current_month; tabSchedule.Select(); }; }; ActionBar.AddTab(tabCalendar); tabSchedule.SetText("My Schedule"); //tab.SetIcon(Resource.Drawable.thirdsmall); tabSchedule.TabSelected += (sender, args) => { data = getPersonalData(); SetContentView(Resource.Layout.Schedule); ListView listView; listView = FindViewById <ListView> (Resource.Id.listView1); DateTime current_date = DateTime.Now.AddDays(addedDays); string date = current_date.Year.ToString() + "."; if (current_date.Month.ToString().Length == 1) { date += "0" + current_date.Month.ToString() + "."; } else { date += current_date.Month.ToString() + "."; } if (current_date.Day.ToString().Length == 1) { date += "0" + current_date.Day.ToString(""); } else { date += current_date.Day.ToString(); } if (stream_schedule.Count == 0) { ApiInteraction api = new ApiInteraction(this.Assets); var full_schedule = api.GetListOfApiMembers(); foreach (var item in full_schedule) { if (item.subGroup != null && item.subGroup.Contains(data.GetGroup())) { stream_schedule.Add(item); } else if (item.stream != null && item.stream.Contains(data.GetGroup())) { stream_schedule.Add(item); } } } today_schedule_for_list = new List <string>(); today_schedule = new List <ApiInteractionMember>(); foreach (var item in stream_schedule) { if (item.date == date) { today_schedule_for_list.Add(item.beginLesson + "-" + item.endLesson + " " + item.discipline + " " + item.auditorium); today_schedule.Add(item); } } foreach (var item in added_events) { if (item.date == date) { today_schedule_for_list.Add(item.beginLesson + " " + item.discipline); today_schedule.Add(item); } } today_schedule = today_schedule.OrderBy(o => o.beginLesson).ToList(); today_schedule_for_list.Sort(); string[] items = today_schedule_for_list.ToArray(); listView.Adapter = new ArrayAdapter <String>(this, Android.Resource.Layout.SimpleListItem1, items); listView.ItemClick += (object senderlist, ListView.ItemClickEventArgs e_list) => { string message = ""; if (today_schedule[e_list.Position].auditorium != null) { message += "Auditorium: " + today_schedule[e_list.Position].auditorium; } if (today_schedule[e_list.Position].beginLesson != null) { message += "\n\nBegin Lesson: " + today_schedule[e_list.Position].beginLesson; } if (today_schedule[e_list.Position].endLesson != null) { message += "\n\nEnd Lesson: " + today_schedule[e_list.Position].endLesson; } if (today_schedule[e_list.Position].discipline != null) { message += "\n\nDiscipline: " + today_schedule[e_list.Position].discipline; } if (today_schedule[e_list.Position].lecturer != null) { message += "\n\nLecturer: " + today_schedule[e_list.Position].lecturer; } if (today_schedule[e_list.Position].kindOfWork != null) { message += "\n\nKind Of Work: " + today_schedule[e_list.Position].kindOfWork; } if (today_schedule[e_list.Position].building != null) { message += "\n\nBuilding: " + today_schedule[e_list.Position].building; } if (today_schedule[e_list.Position].dayOfWeekString != null) { message += "\n\nDay Of Week: " + today_schedule[e_list.Position].dayOfWeekString; } if (today_schedule[e_list.Position].group != null) { message += "\n\nGroup: " + today_schedule[e_list.Position].group; } if (today_schedule[e_list.Position].subGroup != null) { message += "\n\nSubgroup: " + today_schedule[e_list.Position].subGroup; } if (today_schedule[e_list.Position].stream != null) { message += "\n\nStream: " + today_schedule[e_list.Position].stream; } AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.SetTitle("Schedule"); builder.SetMessage(message); builder.SetPositiveButton("Ok", (sender1, args1) => { builder.Dispose(); }); builder.SetNegativeButton("Delete this item", (sender1, args1) => { int index = e_list.Position; //today_schedule.RemoveAt(index); var item_need_to_delete = today_schedule[index]; bool isFound = false; int i = 0; while (!isFound && i < added_events.Count) { if ((added_events[i].discipline == item_need_to_delete.discipline) && (added_events[i].beginLesson == item_need_to_delete.beginLesson) && (added_events[i].date == item_need_to_delete.date)) { added_events.RemoveAt(i); isFound = true; } else { i++; } } i = 0; isFound = false; while (!isFound && i < stream_schedule.Count) { if ((stream_schedule[i].discipline == item_need_to_delete.discipline) && (stream_schedule[i].beginLesson == item_need_to_delete.beginLesson) && (stream_schedule[i].endLesson == item_need_to_delete.endLesson) && (stream_schedule[i].date == item_need_to_delete.date)) { stream_schedule.RemoveAt(i); isFound = true; } else { i++; } } tabSettings.Select(); tabSchedule.Select(); }); builder.Show(); }; TextView textCurrentDay = FindViewById <TextView> (Resource.Id.textViewDate); ImageButton btn_prev; ImageButton btn_second; textCurrentDay.Text = DateTime.Now.AddDays(addedDays).ToString("yyyy-M-d dddd"); btn_prev = FindViewById <ImageButton> (Resource.Id.imageButtonPrev); btn_second = FindViewById <ImageButton> (Resource.Id.imageButtonSecond); btn_prev.Click += delegate { addedDays -= 1; tabSettings.Select(); tabSchedule.Select(); }; btn_second.Click += delegate { addedDays += 1; tabSettings.Select(); tabSchedule.Select(); }; }; ActionBar.AddTab(tabSchedule); tabEdit.SetText("Edit Schedule"); //tab.SetIcon(Resource.Drawable.editsmall); tabEdit.TabSelected += (sender, args) => { SetContentView(Resource.Layout.Edit); Button btn_ok_add = FindViewById <Button> (Resource.Id.buttonOkAdd); EditText edit_text_add = FindViewById <EditText> (Resource.Id.editTextAdd); TimePicker time_picker = FindViewById <TimePicker> (Resource.Id.timePicker1); time_picker.SetIs24HourView(Java.Lang.Boolean.True); btn_ok_add.Click += delegate { var hour = time_picker.CurrentHour; var minutes = time_picker.CurrentMinute; var text = edit_text_add.Text; string time = ""; if (hour.ToString().Length == 1) { time += "0" + hour.ToString(); } else { time += hour.ToString(); } time += ":"; if (minutes.ToString().Length == 1) { time += "0" + minutes.ToString(); } else { time += minutes.ToString(); } DateTime current_date = DateTime.Now.AddDays(addedDays); string date = current_date.Year.ToString() + "."; if (current_date.Month.ToString().Length == 1) { date += "0" + current_date.Month.ToString() + "."; } else { date += current_date.Month.ToString() + "."; } if (current_date.Day.ToString().Length == 1) { date += "0" + current_date.Day.ToString(""); } else { date += current_date.Day.ToString(); } added_events.Add(new ApiInteractionMember("null", 0, time, "null", date, "null", 0, "null", text, "null", "null", 0, "null", "null", 0, "null", 0, "null", 0)); tabSchedule.Select(); }; }; ActionBar.AddTab(tabEdit); // This event fires when the ServiceConnection lets the client (our App class) know that // the Service is connected. We use this event to start updating the UI with location // updates from the Service App.Current.LocationServiceConnected += (object sender, ServiceConnectedEventArgs e) => { //Log.Debug (logTag, "ServiceConnected Event Raised"); // notifies us of location changes from the system App.Current.LocationService.LocationChanged += HandleLocationChanged; //notifies us of user changes to the location provider (ie the user disables or enables GPS) App.Current.LocationService.ProviderDisabled += HandleProviderDisabled; App.Current.LocationService.ProviderEnabled += HandleProviderEnabled; // notifies us of the changing status of a provider (ie GPS no longer available) App.Current.LocationService.StatusChanged += HandleStatusChanged; }; // Start the location service: App.StartLocationService(); }