public void addEvent(object sender, EventArgs e) { if (entryName.Text == null) { this.DisplayAlert("Error", "Event name cannot be empty", "Ok"); return; } for (int i = 0; i < GlobalVariables.myEvents.Count; i++) { if (string.Compare(GlobalVariables.myEvents[i].getName(), entryName.Text, true) == 0) { this.DisplayAlert("Error", "An event with that name already exists", "Ok"); return; } } for (int i = 0; i < GlobalVariables.storedEvents.Count; i++) { if (string.Compare(GlobalVariables.storedEvents[i].getName(), entryName.Text, true) == 0) { this.DisplayAlert("Error", "An event with that name already exists", "Ok"); return; } } Event newEvent = new Event(entryName.Text, datePicked.Date); newEvent.setOneTimeEvent(oneTimeEvent); GlobalVariables.resetEvent(newEvent); GlobalVariables.myEvents.Add(newEvent); //save event to file try { FileHandler fileHandler = new FileHandler(); fileHandler.appendEventToFile(newEvent); } catch (Exception ex) { Debug.WriteLine("Exception caught!"); Debug.WriteLine(ex.Message); } mainPage.populateGrid(); Navigation.PopModalAsync(); }
public void readMyEventsFile() { var filePath = pathToMyEventsFile(); //values for an event string name, source; int year, month, day, hour, minute, second; bool visible; bool oneTimeEvent; //read in stored events from text file string text, entryType, entryValue; if (!System.IO.File.Exists(filePath)) { return; } string[] reader = System.IO.File.ReadAllLines(filePath); int i = 0; while (i < reader.Length) { //values for an event name = ""; source = ""; year = 2016; //2016 used to prevent impossible date due to leap day, the year value will be reset anyhow month = 1; day = 1; hour = 0; minute = 0; second = 0; visible = false; oneTimeEvent = false; text = convertEntry(reader[i]); switch (text) { case "Event": i++; text = convertEntry(reader[i]); while (!text.Equals("/Event")) { entryType = getEntryType(text); entryValue = getEntryValue(text); switch (entryType) { case "Name": name = entryValue; break; case "Source": source = entryValue; break; case "Year": year = Int32.Parse(entryValue); break; case "Month": month = Int32.Parse(entryValue); break; case "Day": day = Int32.Parse(entryValue); break; case "Hour": hour = Int32.Parse(entryValue); break; case "Minute": minute = Int32.Parse(entryValue); break; case "Visible": visible = bool.Parse(entryValue); break; case "OneTimeEvent": oneTimeEvent = bool.Parse(entryValue); break; } i++; text = convertEntry(reader[i]); } //add the new event to list(s) Event newEvent = new Event(name, new DateTime(year, month, day, hour, minute, second), visible); newEvent.setOneTimeEvent(oneTimeEvent); GlobalVariables.resetEvent(newEvent); GlobalVariables.myEvents.Add(newEvent); break; case "LastDate": i++; text = convertEntry(reader[i]); while (!text.Equals("/LastDate")) { entryType = getEntryType(text); entryValue = getEntryValue(text); switch (entryType) { case "Year": GlobalVariables.lastRecordedYear = Int32.Parse(entryValue); break; case "Month": GlobalVariables.lastRecordedMonth = Int32.Parse(entryValue); break; case "Day": GlobalVariables.lastRecordedDay = Int32.Parse(entryValue); break; } i++; text = convertEntry(reader[i]); } break; } i++; } }
public async void addEvent(object sender, EventArgs e) { if (entryName.Text == null) { await this.DisplayAlert("Error", "Event name cannot be empty.", "Ok"); return; } //remove white space on ends while (entryName.Text.Length > 0 && entryName.Text[0] == ' ') { entryName.Text = entryName.Text.Substring(1); } while (entryName.Text.Length > 0 && entryName.Text[entryName.Text.Length - 1] == ' ') { entryName.Text = entryName.Text.Substring(0, entryName.Text.Length - 1); } if (entryName.Text.Length == 0) { await this.DisplayAlert("Error", "Event name cannot be empty.", "Ok"); return; } for (int i = 0; i < GlobalVariables.myEvents.Count; i++) { if (string.Compare(GlobalVariables.myEvents[i].getName(), entryName.Text, true) == 0) { await this.DisplayAlert("Error", "An event with that name already exists.", "Ok"); return; } } for (int i = 0; i < GlobalVariables.storedEvents.Count; i++) { if (string.Compare(GlobalVariables.storedEvents[i].getName(), entryName.Text, true) == 0) { await this.DisplayAlert("Error", "An event with that name already exists.", "Ok"); return; } } displayActivityIndicator(); await Task.Run(() => { DateTime eventDate = new DateTime(datePicked.Date.Year, datePicked.Date.Month, datePicked.Date.Day, timePicked.Time.Hours, timePicked.Time.Minutes, 0); Event newEvent = new Event(entryName.Text, eventDate); newEvent.setAllDayEvent(allDayEvent); newEvent.setOneTimeEvent(oneTimeEvent); GlobalVariables.resetEvent(newEvent); GlobalVariables.myEvents.Add(newEvent); //save event to file FileHandler fileHandler = new FileHandler(); fileHandler.appendEventToFile(newEvent); Device.BeginInvokeOnMainThread(() => { mainPage.refreshGrid(); mainPage.populateGrid(); Navigation.PopModalAsync(); }); }); }