public void DeletePeriod(CIPeriod i, bool added) { if (true) { _addedPeriods.Remove(_addedPeriods.First(_ => _.ElementAt(0).Text == i.Index + "")); ReloadPeriodsView(false); } }
private void AddPeriod(CIPeriod i, Grid mainGrid, bool addToList) { mainGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(40) }); Image img = new Image() { Source = "close_circle.png", HeightRequest = BlankWidth - 10, WidthRequest = BlankWidth - 10, }; var t = new TapGestureRecognizer(); t.Tapped += (s, e) => { DeletePeriod(i, addToList); }; img.GestureRecognizers.Add(t); mainGrid.Children.Add(img, 0, rowCount); Entry indexEntry = new Entry() { Text = i.Index + "", FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label)), Keyboard = Keyboard.Numeric }; mainGrid.Children.Add(indexEntry, 1, rowCount); Entry nameEntry = new Entry() { Text = i.Name + "", FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label)), }; mainGrid.Children.Add(nameEntry, 2, rowCount); Entry intervalEntry = new Entry() { Text = Math.Round(i.Interval.TotalMinutes, 2) + "", FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label)), Keyboard = Keyboard.Numeric }; indexEntry.TextChanged += (s, e) => { var entry = (Entry)s; List <Entry> periodToCascade = null; try { periodToCascade = _addedPeriods.First(_ => _.ElementAt(0).Text == entry.Text && _.ElementAt(1).Text != nameEntry.Text); } catch { } if (entry.Text != "" && periodToCascade != null) { var indexToCascade = int.Parse(entry.Text); if (indexToCascade == _addedPeriods.Count) { indexToCascade = 0; } periodToCascade.ElementAt(0).Text = ++indexToCascade + ""; } else if (entry.Text != "" && periodToCascade == null) { } }; mainGrid.Children.Add(intervalEntry, 3, rowCount++); if (_addedPeriods == null) { _addedPeriods = new List <List <Entry> >(); } List <Entry> addedPeriod = new List <Entry>() { indexEntry, nameEntry, intervalEntry }; if (true) { _addedPeriods.Add(addedPeriod); } }