public DogsPickerSource(DogPickerScreen controller) { _controller = controller; footer = new HeaderTableSection(_controller.Footer); }
public JaktItemTableSource(JaktItemScreen controller, Jakt j) { _controller = controller; jakt = j; //instanciate views CellDelete = new CellDeleteButton(HandleDeleteButtonTouchUpInside); NSBundle.MainBundle.LoadNib("CellDeleteButton", CellDelete, null); delcell = CellDelete.Cell; headerView = new HeaderJakt(jakt); headerView.HandleButtonImageTouchUpInside = HandleButtonImageTouchUpInside; headerView.HandleButtonStedTouchUpInside = HandleButtonStedTouchUpInside; //sections and cells var sectionJakt = new SectionMapping("", ""); var sectionLogg = new SectionMapping("", " "); var sectionDetaljer = new SectionMapping("", ""); var sectionSlett = new SectionMapping("", ""); #region felter sectionJakt.Rows.Add(new RowItemMapping { Label = Utils.Translate("jakt.location"), GetValue = () => { return jakt.Sted; }, RowSelected = () => { ShowStedView(); }, ImageFile = "Images/Icons/signpost.png" }); sectionJakt.Rows.Add(new RowItemMapping { Label = Utils.Translate("jakt.hunters"), GetValue = () => { var c = jakt.JegerIds.Count(); return c == 1 ? c + " " + Utils.Translate("jakt.hunter").ToLower() : c + " " + Utils.Translate("jakt.hunters").ToLower(); }, RowSelected = () => { var jegerScreen = new JegerPickerScreen(jakt.JegerIds, screen => { jakt.JegerIds = screen.jegerIds; _controller.Refresh(); }); _controller.NavigationController.PushViewController(jegerScreen, true); }, ImageFile = "Images/Icons/Tabs/Jegere.png" }); sectionJakt.Rows.Add(new RowItemMapping { Label = Utils.Translate("jakt.dogs"), GetValue = () => { var c = jakt.DogIds.Count(); return c == 1 ? c + " " + Utils.Translate("jakt.dog").ToLower() : c + " " + Utils.Translate("jakt.dogs"); }, RowSelected = () => { dogScreen = new DogPickerScreen(jakt.DogIds, screen => { jakt.DogIds = screen.dogIds; _controller.Refresh(); }); _controller.NavigationController.PushViewController(dogScreen, true); }, ImageFile = "Images/Icons/Tabs/dog-paw.png" }); sectionLogg.Rows.Add(new RowItemMapping { Label = Utils.Translate("jakt.logs"), GetValue = () => { var c = JaktLoggApp.instance.LoggList.Where(l => l.JaktId == jakt.ID).Count(); return c == 1 ? c + " " + Utils.Translate("jakt.log").ToLower() : c + " " + Utils.Translate("jakt.logs"); }, RowSelected = () => { _controller.Refresh(); var loggerScreen = new LoggerScreen(jakt.ID); _controller.NavigationController.PushViewController(loggerScreen, true); }, ImageFile = "Images/Icons/Tabs/Jaktloggen.png" }); sectionDetaljer.Rows.Add(new RowItemMapping { Label = Utils.Translate("jakt.datefrom"), GetValue = () => { return jakt.DatoFra.ToLocalDateAndYearString(); }, RowSelected = () => { var fieldScreen = new FieldDatePickerScreen(screen => { jakt.DatoFra = screen.Date; if(jakt.DatoTil < jakt.DatoFra) jakt.DatoTil = jakt.DatoFra; _controller.Refresh(); }); fieldScreen.Date = jakt.DatoFra; fieldScreen.Mode = UIDatePickerMode.Date; fieldScreen.Title = Utils.Translate("jakt.datefrom"); _controller.NavigationController.PushViewController(fieldScreen, true); }, ImageFile = "Images/Icons/calendar.png" }); sectionDetaljer.Rows.Add(new RowItemMapping { Label = Utils.Translate("jakt.dateto"), GetValue = () => { return jakt.DatoTil.ToLocalDateAndYearString(); }, RowSelected = () => { var fieldScreen = new FieldDatePickerScreen(screen => { jakt.DatoTil = screen.Date; if(jakt.DatoFra > jakt.DatoTil) jakt.DatoFra = jakt.DatoTil; _controller.Refresh(); }); fieldScreen.Date = jakt.DatoTil; fieldScreen.Mode = UIDatePickerMode.Date; fieldScreen.Title = Utils.Translate("jakt.dateto"); _controller.NavigationController.PushViewController(fieldScreen, true); }, ImageFile = "Images/Icons/calendar.png" }); sectionDetaljer.Rows.Add(new RowItemMapping { Label = Utils.Translate("jakt.image"), GetValue = () => { return jakt.ImagePath.Length > 0 ? Utils.Translate("picture.showimage") : Utils.Translate("picture.addimage"); }, RowSelected = () => { ShowImageView(); }, ImageFile = "Images/Icons/camera.png" }); sectionDetaljer.Rows.Add(new RowItemMapping { Label = Utils.Translate("jakt.notes"), GetValue = () => { return jakt.Notes; }, RowSelected = () => { var fieldScreen = new FieldNotesScreen(Utils.Translate("jakt.notes"), screen => { jakt.Notes = screen.Value; _controller.Refresh(); }); fieldScreen.Value = jakt.Notes; _controller.NavigationController.PushViewController(fieldScreen, true); }, ImageFile = "Images/Icons/notepad.png" }); #endregion if(jakt.ID > 0){ sectionSlett.Rows.Add(new RowItemMapping { Label = Utils.Translate("jakt.delete"), GetValue = () => { return ""; } }); } if(sectionLogg.Rows.Count > 0) sections.Add(sectionLogg); if(sectionJakt.Rows.Count > 0) sections.Add(sectionJakt); if(sectionDetaljer.Rows.Count > 0) sections.Add(sectionDetaljer); if(sectionSlett.Rows.Count > 0) sections.Add(sectionSlett); foreach(var s in sections){ headers.Add(new HeaderTableSection(s.Header)); } }