public void JegerSelected (Jeger jeger) { var list = JaktLoggApp.instance.LoggList.Where(j => jeger == null || j.JegerId == jeger.ID); var hits = list.Sum(l=> l.Treff); var shots = list.Sum(l=> l.Skudd); var misses = shots - hits; var percent = shots > 0 ? Decimal.Round(hits*100/shots) : 0; GoogleGraphURI += jeger != null ? "&chtt="+HttpUtility.UrlEncode(jeger.Navn)+"" : "&chtt="+HttpUtility.UrlEncode(Utils.Translate("all_hunters")); GoogleGraphURI += HttpUtility.UrlEncode(string.Format(": {0} "+Utils.Translate("shots") +", {1}% "+Utils.Translate("hits"), shots, percent)); var str = string.Format(GoogleGraphURI, hits, misses); if(Reachability.IsHostReachable("www.google.com")){ var url = NSUrl.FromString(str); imageView.Image = UIImage.LoadFromData(NSData.FromUrl(url)); //label1.Hidden = label2.Hidden = true; imageView.Hidden = false; } else { label1.Hidden = label2.Hidden = false; imageView.Hidden = true; label1.Text = string.Format("{0} "+ Utils.Translate("hits")+". {1} "+Utils.Translate("miss")+".", hits, misses); label2.Text = string.Format("{0}% "+ Utils.Translate("hits"), percent); } }
public void HandleButtonFilterClicked (object sender, EventArgs EventArgs) { var pickerScreen = new FooterStatsArter(screen => { SelectedJeger = screen.SelectedJeger; SelectedDog = screen.SelectedDog; _tableSource.ItemList = GetRanking(); TableView.ReloadData(); var labelText = Utils.Translate("showingcountfor"); if(SelectedJeger == null && SelectedDog == null) labelText += Utils.Translate("all_hunters_dogs"); if(SelectedJeger != null) labelText += SelectedJeger.Fornavn; if(SelectedDog != null && SelectedJeger != null) labelText += "/"; if(SelectedDog != null) labelText += SelectedDog.Navn; headerStatsFilter.SetFilterLabel(labelText); },SelectedJeger, SelectedDog); pickerScreen.ModalTransitionStyle = UIModalTransitionStyle.PartialCurl; PresentViewController(pickerScreen, true, null); }
public void JegerSelected (Jeger jeger) { var list = JaktLoggApp.instance.LoggList.Where(j => jeger == null || j.JegerId == jeger.ID); var valueList = ""; var max = 0; for(var i=0; i<24; i++){ var count = list.Where(v => v.Dato.Hour == i).Count(); valueList += count.ToString() + ","; max = count > max ? count : max; } if(valueList.Length > 0) valueList = valueList.Substring(0, valueList.Length-1); var str = string.Format(GoogleGraphURI, max, valueList); if(Reachability.IsHostReachable("www.google.com")){ imageView.Image = UIImage.LoadFromData(NSData.FromUrl(NSUrl.FromString(str))); imageView.Hidden = false; } else { imageView.Hidden = true; } }
public void SaveJegerItem(Jeger item){ JegerList = JegerList.OrderBy(o => o.ID).ToList<Jeger>(); var itemToUpdate = JegerList.Where(j=>j.ID == item.ID).FirstOrDefault(); if(itemToUpdate == null) { item.ID = JegerList.Count == 0 ? 1 : JegerList.Last().ID + 1; JegerList.Add(item); } else itemToUpdate = item; _repository.SaveJegerList(JegerList); }
void HandleRightButtonClicked (object sender, EventArgs EventArgs) { var pickerScreen = new FooterStatsArter(screen => { SelectedJeger = screen.SelectedJeger; _tableSource.ItemList = GetRanking(); TableView.ReloadData(); _rightButton.Title = SelectedJeger == null ? "Alle jegere" : SelectedJeger.Fornavn; },SelectedJeger); pickerScreen.ModalTransitionStyle = UIModalTransitionStyle.PartialCurl; this.PresentModalViewController(pickerScreen, true); }
public JegerItemTableSource(JegerScreen controller, Jeger j) { _controller = controller; _jeger = j; var sectionJeger = new SectionMapping("", ""); var sectionSlett = new SectionMapping("", ""); sections.Add(sectionJeger); sections.Add(sectionSlett); sectionJeger.Rows.Add(new RowItemMapping { Label = "Fornavn", GetValue = () => { return _jeger.Fornavn; }, RowSelected = () => { var fieldScreen = new FieldStringScreen("Fornavn", screen => { _jeger.Fornavn = Utils.UppercaseFirst(screen.Value); _controller.Refresh(); }); fieldScreen.Value = _jeger.Fornavn; _controller.NavigationController.PushViewController(fieldScreen, true); } }); sectionJeger.Rows.Add(new RowItemMapping { Label = "Etternavn", GetValue = () => { return _jeger.Etternavn; }, RowSelected = () => { var fieldScreen = new FieldStringScreen("Etternavn", screen => { _jeger.Etternavn = Utils.UppercaseFirst(screen.Value); _controller.Refresh(); }); fieldScreen.Value = _jeger.Etternavn; _controller.NavigationController.PushViewController(fieldScreen, true); } }); /* sectionJeger.Rows.Add(new RowItemMapping { Label = "Telefon", GetValue = () => { return _jeger.Phone; }, RowSelected = () => { var fieldScreen = new FieldStringScreen("Telefon", screen => { _jeger.Phone = screen.Value; _controller.Refresh(); }); fieldScreen.Value = _jeger.Phone; fieldScreen.KeyboardType = UIKeyboardType.PhonePad; _controller.NavigationController.PushViewController(fieldScreen, true); } });*/ sectionJeger.Rows.Add(new RowItemMapping { Label = "Profilbilde", GetValue = () => { return _jeger.ImagePath.Length > 0 ? "Vis / endre" : "Legg til"; }, RowSelected = () => { ShowImageView(); }, ImageFile = "Images/Icons/camera.png" }); sectionJeger.Rows.Add(new RowItemMapping { Label = "E-post", GetValue = () => { return _jeger.Email; }, RowSelected = () => { var fieldScreen = new FieldStringScreen("E-post", screen => { _jeger.Email = screen.Value; _controller.Refresh(); }); fieldScreen.Value = _jeger.Email; fieldScreen.KeyboardType = UIKeyboardType.EmailAddress; _controller.NavigationController.PushViewController(fieldScreen, true); } }); if(!_controller.IsNewItem){ sectionSlett.Rows.Add(new RowItemMapping { Label = "Slett jeger", GetValue = () => { return ""; } }); } }
public void JegerSelected(Jeger j) { SelectedJeger = j; _callback(this); this.DismissModalViewControllerAnimated(true); }
public FooterStatsArter (Action<FooterStatsArter> callback, Jeger selectedJeger) : base("FooterStatsArter", null) { _callback = callback; SelectedJeger = selectedJeger; }
/* private void NewItemSaveClicked(object sender, EventArgs e){ if(jeger.Fornavn == "") { MessageBox.Show("Navn mangler", "Du må skrive inn et fornavn før du lagrer."); return; } _callback(this); NavigationController.PopViewControllerAnimated(true); }*/ public void Delete(Jeger j){ JaktLoggApp.instance.DeleteJeger(j); NavigationController.PopViewControllerAnimated(true); }
public JegerScreen (Jeger _jeger, Action<JegerScreen> callback) : base("JegerScreen", null) { jeger = _jeger; _callback = callback; }
public JegerScreen (Action<JegerScreen> callback) : base("JegerScreen", null) { jeger = new Jeger(); _callback = callback; IsNewItem = true; }
public JegerItemTableSource(JegerScreen controller, Jeger j) { _controller = controller; _jeger = j; CellDelete = new CellDeleteButton(HandleDeleteButtonTouchUpInside); NSBundle.MainBundle.LoadNib("CellDeleteButton", CellDelete, null); delcell = CellDelete.Cell; headerJegerView = new HeaderJeger(_jeger); headerJegerView.HandleButtonImageTouchUpInside = HandleButtonImageTouchUpInside; var sectionJeger = new SectionMapping("", ""); var sectionSlett = new SectionMapping("", ""); sections.Add(sectionJeger); sections.Add(sectionSlett); sectionJeger.Rows.Add(new RowItemMapping { Label = Utils.Translate("jeger.firstname"), GetValue = () => { return _jeger.Fornavn; }, RowSelected = () => { var fieldScreen = new FieldStringScreen(Utils.Translate("jeger.firstname"), screen => { _jeger.Fornavn = Utils.UppercaseFirst(screen.Value); _controller.Refresh(); }); fieldScreen.Value = _jeger.Fornavn; _controller.NavigationController.PushViewController(fieldScreen, true); } }); sectionJeger.Rows.Add(new RowItemMapping { Label = Utils.Translate("jeger.lastname"), GetValue = () => { return _jeger.Etternavn; }, RowSelected = () => { var fieldScreen = new FieldStringScreen(Utils.Translate("jeger.lastname"), screen => { _jeger.Etternavn = Utils.UppercaseFirst(screen.Value); _controller.Refresh(); }); fieldScreen.Value = _jeger.Etternavn; _controller.NavigationController.PushViewController(fieldScreen, true); } }); /* sectionJeger.Rows.Add(new RowItemMapping { Label = "Telefon", GetValue = () => { return _jeger.Phone; }, RowSelected = () => { var fieldScreen = new FieldStringScreen("Telefon", screen => { _jeger.Phone = screen.Value; _controller.Refresh(); }); fieldScreen.Value = _jeger.Phone; fieldScreen.KeyboardType = UIKeyboardType.PhonePad; _controller.NavigationController.PushViewController(fieldScreen, true); } });*/ sectionJeger.Rows.Add(new RowItemMapping { Label = Utils.Translate("jeger.profilepicture"), GetValue = () => { return _jeger.ImagePath.Length > 0 ? Utils.Translate("picture.showimage") : Utils.Translate("picture.addimage"); }, RowSelected = () => { ShowImageView(); }, ImageFile = "Images/Icons/camera.png" }); sectionJeger.Rows.Add(new RowItemMapping { Label = Utils.Translate("jeger.email"), GetValue = () => { return _jeger.Email; }, RowSelected = () => { var fieldScreen = new FieldStringScreen("E-post", screen => { _jeger.Email = screen.Value; _controller.Refresh(); }); fieldScreen.Value = _jeger.Email; fieldScreen.KeyboardType = UIKeyboardType.EmailAddress; _controller.NavigationController.PushViewController(fieldScreen, true); } }); if(!_controller.IsNewItem){ sectionSlett.Rows.Add(new RowItemMapping { Label = Utils.Translate("jeger.delete"), GetValue = () => { return ""; } }); } }
public HeaderJeger (Jeger j) : base("HeaderJeger", null) { _jeger = j; }
public void DeleteJeger(Jeger item){ //remove jeger from loggs var logger = LoggList.Where(x => x.JegerId == item.ID); foreach(var logg in logger){ logg.JegerId = 0; } _repository.SaveLoggList(LoggList); //remove jeger from jakts var jakts = JaktList.Where(x => x.JegerIds.Contains(item.ID)); foreach(var jakt in jakts){ jakt.JegerIds.Remove(item.ID); } //remove jeger images DeleteFile(Utils.GetPath(item.ImagePath)); //remove jeger from jegerlist JegerList.Remove(item); _repository.SaveJegerList(JegerList); }
public LoggItemTableSource(LoggItemScreen controller) { var jeger = new Jeger(); if(JaktLoggApp.instance.CurrentJakt.JegerIds.Count > 0) jeger = JaktLoggApp.instance.GetJeger(JaktLoggApp.instance.CurrentJakt.JegerIds[0]); _controller = controller; var section1 = new SectionMapping("", ""); var section2 = new SectionMapping("", ""); var section3 = new SectionMapping("Ekstra felter", ""); var sectionSlett = new SectionMapping("", ""); section1.Rows.Add(new RowItemMapping { Label = "Felt/sett vilt", GetValue = () => { var lbl = ""; if(loggItem.ArtId > 0) lbl = loggItem.Treff + " " + JaktLoggApp.instance.GetArt(loggItem.ArtId).Navn + " på " + loggItem.Skudd + " skudd"; else lbl = loggItem.Skudd + " skudd, " + loggItem.Treff + " treff"; if(loggItem.Sett > 0) lbl += ", " + loggItem.Sett + " sett "; return lbl; }, RowSelected = () => { var fieldScreen = new FieldLoggCatch("Felt/sett vilt", screen => { loggItem.ArtId = screen.CurrentArtId; loggItem.Treff = screen.CurrentHits; loggItem.Skudd = screen.CurrentShots; loggItem.Sett = screen.CurrentSeen; _controller.Refresh(); }); fieldScreen.CurrentArtId = loggItem.ArtId; fieldScreen.CurrentHits = loggItem.Treff; fieldScreen.CurrentShots = loggItem.Skudd; fieldScreen.CurrentSeen = loggItem.Sett; _controller.NavigationController.PushViewController(fieldScreen, true); }, ImageFile = "Images/Icons/target.png" }); section1.Rows.Add(new RowItemMapping { Label = "Posisjon", GetValue = () => { return string.IsNullOrEmpty(loggItem.Latitude) ? "Ikke satt" : "Se i kart"; }, RowSelected = () => { var fieldScreen = new FieldLocationScreen(loggItem, screen => { loggItem.Latitude = screen.Latitude; loggItem.Longitude = screen.Longitude; _controller.Refresh(); }); fieldScreen.Latitude = loggItem.Latitude; fieldScreen.Longitude = loggItem.Longitude; _controller.NavigationController.PushViewController(fieldScreen, true); }, ImageFile = "Images/Icons/pin.png" }); section1.Rows.Add(new RowItemMapping { Label = "Jeger", GetValue = () => { if(loggItem.JegerId == 0 && JaktLoggApp.instance.CurrentJakt.JegerIds.Count == 1){ loggItem.JegerId = jeger.ID; _controller.Refresh(); } else if(loggItem.JegerId == 0) return string.Empty; else jeger = JaktLoggApp.instance.GetJeger(loggItem.JegerId); return jeger.Navn; }, RowSelected = () => { var jegerlist = CreateSingleSelectJegerItems(); var fieldScreen = new FieldSingleChoiceListScreen("Velg jeger", jegerlist, screen => { loggItem.JegerId = screen.SelectedKey == "" ? 0 : Int32.Parse(screen.SelectedKey); _controller.Refresh(); }); fieldScreen.SelectedKey = loggItem.JegerId.ToString(); _controller.NavigationController.PushViewController(fieldScreen, true); }, ImageFile = "Images/Icons/user.png" }); section2.Rows.Add(new RowItemMapping { Label = "Tidspunkt", GetValue = () => { return loggItem.Dato.Day + "/" + loggItem.Dato.Month + " " + loggItem.Dato.Hour +":"+loggItem.Dato.Minute; }, RowSelected = () => { var fieldScreen = new FieldDatePickerScreen(screen => { loggItem.Dato = screen.Date; _controller.Refresh(); }); fieldScreen.Date = new DateTime(JaktLoggApp.instance.CurrentJakt.DatoFra.Year, loggItem.Dato.Month, loggItem.Dato.Day, loggItem.Dato.Hour, loggItem.Dato.Minute, loggItem.Dato.Second); fieldScreen.Mode = UIDatePickerMode.DateAndTime; fieldScreen.Title = "Tidspunkt"; _controller.NavigationController.PushViewController(fieldScreen, true); }, ImageFile = "Images/Icons/calendar.png" }); section2.Rows.Add(new RowItemMapping { Label = "Notater", GetValue = () => { return loggItem.Notes; }, RowSelected = () => { var fieldScreen = new FieldNotesScreen("Notater", screen => { loggItem.Notes = screen.Value; _controller.Refresh(); }); fieldScreen.Value = loggItem.Notes; _controller.NavigationController.PushViewController(fieldScreen, true); }, ImageFile = "Images/Icons/notepad.png" }); section2.Rows.Add(new RowItemMapping { Label = "Bilde", GetValue = () => { return loggItem != null && loggItem.ImagePath.Length > 0 ? "Vis / endre" : "Legg til"; }, RowSelected = () => { ShowImageView(); }, ImageFile = "Images/Icons/camera.png" }); /*section3.Rows.Add(new RowItemMapping { Label = "Værforhold", GetValue = () => { return loggItem.Weather; }, RowSelected = () => { var options = new List<SingleSelectRowItem>(); options.Add(new SingleSelectRowItem(){ Key = "Sol", TextLabel = "Soll" }); options.Add(new SingleSelectRowItem(){ Key = "Overskyet", TextLabel = "Overskyet" }); options.Add(new SingleSelectRowItem(){ Key = "Regn", TextLabel = "Regn" }); var fieldScreen = new FieldSingleChoiceListScreen("Værforhold", options, screen => { loggItem.Weather = screen.SelectedKey; _controller.Refresh(); }); _controller.NavigationController.PushViewController(fieldScreen, true); } });*/ foreach(var selectedLoggTypeId in JaktLoggApp.instance.SelectedLoggTypeIds) { var item = JaktLoggApp.instance.LoggTypeList.SingleOrDefault(i => i.Key == selectedLoggTypeId); switch(item.Navn){ case "Vær": section3.Rows.Add(new RowItemMapping { Label = "Værforhold", GetValue = () => { return loggItem.Weather; }, RowSelected = () => { var options = new List<SingleSelectRowItem>(); options.Add(new SingleSelectRowItem(){ Key = "Sol", TextLabel = "Sol" }); options.Add(new SingleSelectRowItem(){ Key = "Delvis skyet", TextLabel = "Delvis skyet" }); options.Add(new SingleSelectRowItem(){ Key = "Overskyet", TextLabel = "Overskyet" }); options.Add(new SingleSelectRowItem(){ Key = "Regn", TextLabel = "Regn" }); options.Add(new SingleSelectRowItem(){ Key = "Snø", TextLabel = "Snø" }); var fieldScreen = new FieldSingleChoiceListScreen("Værforhold", options, screen => { loggItem.Weather = screen.SelectedKey; _controller.Refresh(); }); fieldScreen.SelectedKey = loggItem.Weather; _controller.NavigationController.PushViewController(fieldScreen, true); } }); break; case "Kjønn": section3.Rows.Add(new RowItemMapping { Label = "Kjønn", GetValue = () => { return loggItem.Gender; }, RowSelected = () => { var options = new List<SingleSelectRowItem>(); options.Add(new SingleSelectRowItem(){ Key = "Hannkjønn", TextLabel = "Hannkjønn" }); options.Add(new SingleSelectRowItem(){ Key = "Hunnkjønn", TextLabel = "Hunnkjønn" }); var fieldScreen = new FieldSingleChoiceListScreen("Kjønn", options, screen => { loggItem.Gender = screen.SelectedKey; _controller.Refresh(); }); fieldScreen.SelectedKey = loggItem.Gender; _controller.NavigationController.PushViewController(fieldScreen, true); } }); break; case "Tagger": section3.Rows.Add(new RowItemMapping { Label = "Tagger på geviret", GetValue = () => { return loggItem.Tags == 0 ? "" : loggItem.Tags.ToString(); }, RowSelected = () => { var fieldScreen = new FieldNumberPickerScreen(screen => { loggItem.Tags = Int32.Parse(screen.Value); _controller.Refresh(); }); fieldScreen.Value = loggItem.Tags.ToString(); fieldScreen.Title = "Antall tagger på gevir"; fieldScreen.LabelExtension = " tagger"; _controller.NavigationController.PushViewController(fieldScreen, true); } }); break; case "Alder": section3.Rows.Add(new RowItemMapping { Label = "Alder", GetValue = () => { return loggItem.Age; }, RowSelected = () => { var options = new List<SingleSelectRowItem>(); options.Add(new SingleSelectRowItem(){ Key = "Kalv", TextLabel = "Kalv" }); options.Add(new SingleSelectRowItem(){ Key = "1 1/2 år", TextLabel = "1 1/2 år" }); options.Add(new SingleSelectRowItem(){ Key = "2 1/2 år og eldre", TextLabel = "2 1/2 år og eldre" }); var fieldScreen = new FieldSingleChoiceListScreen("Alder", options, screen => { loggItem.Age = screen.SelectedKey; _controller.Refresh(); }); fieldScreen.SelectedKey = loggItem.Age; controller.NavigationController.PushViewController(fieldScreen, true); } }); break; case "Vekt": section3.Rows.Add(new RowItemMapping { Label = "Vekt", GetValue = () => { return loggItem.Weight == 0 ? "" : loggItem.Weight + " kg"; }, RowSelected = () => { var fieldScreen = new FieldNumberPickerScreen(screen => { loggItem.Weight = Int32.Parse(screen.Value); _controller.Refresh(); }); fieldScreen.Value = loggItem.Weight.ToString(); fieldScreen.Title = "Vekt i kilo"; fieldScreen.LabelExtension = " kg"; _controller.NavigationController.PushViewController(fieldScreen, true); } }); break; case "Slaktevekt": section3.Rows.Add(new RowItemMapping { Label = "Slaktevekt", GetValue = () => { return loggItem.ButchWeight == 0 ? "" : loggItem.ButchWeight + " kg"; }, RowSelected = () => { var fieldScreen = new FieldNumberPickerScreen(screen => { loggItem.ButchWeight = Int32.Parse(screen.Value); _controller.Refresh(); }); fieldScreen.Value = loggItem.ButchWeight.ToString(); fieldScreen.Title = "Slaktevekt i kilo"; fieldScreen.LabelExtension = " kg"; _controller.NavigationController.PushViewController(fieldScreen, true); } }); break; case "Våpentype": section3.Rows.Add(new RowItemMapping { Label = "Våpentype", GetValue = () => { return loggItem.WeaponType; }, RowSelected = () => { var fieldScreen = new FieldStringScreen("Våpentype", screen => { loggItem.WeaponType = screen.Value; _controller.Refresh(); }); fieldScreen.Placeholder = "Skriv inn våpentype"; fieldScreen.Value = loggItem.WeaponType; //autosuggest: var autoitems = (from x in JaktLoggApp.instance.LoggList where x.WeaponType != string.Empty select x.WeaponType.ToUpper()).Distinct(); var autosuggests = new List<ItemCount>(); foreach(var autoitem in autoitems){ autosuggests.Add(new ItemCount{ Name = autoitem, Count = JaktLoggApp.instance.LoggList.Where(y => y.WeaponType.ToUpper() == autoitem).Count() }); } fieldScreen.AutoSuggestions = autosuggests.OrderByDescending( o => o.Count ).ToList(); _controller.NavigationController.PushViewController(fieldScreen, true); }, ImageFile = "" }); break; case "Hund": section3.Rows.Add(new RowItemMapping { Label = "Hund", GetValue = () => { return loggItem.Dog; }, RowSelected = () => { var fieldScreen = new FieldStringScreen("Hund", screen => { loggItem.Dog = screen.Value; _controller.Refresh(); }); fieldScreen.Placeholder = "Skriv inn hundenavn"; fieldScreen.Value = loggItem.Dog; //autosuggest: var autoitems = (from x in JaktLoggApp.instance.LoggList where x.Dog != string.Empty select x.Dog.ToUpper()).Distinct(); var autosuggests = new List<ItemCount>(); foreach(var autoitem in autoitems){ autosuggests.Add(new ItemCount{ Name = autoitem, Count = JaktLoggApp.instance.LoggList.Where(y => y.Dog.ToUpper() == autoitem).Count() }); } fieldScreen.AutoSuggestions = autosuggests.OrderByDescending( o => o.Count ).ToList(); _controller.NavigationController.PushViewController(fieldScreen, true); }, ImageFile = "" }); break; } } if(!_controller.IsNewItem){ sectionSlett.Rows.Add(new RowItemMapping { Label = "Slett loggføring", GetValue = () => { return ""; } }); } sections.Add(section1); sections.Add(section2); if(section3.Rows.Count > 0) sections.Add(section3); sections.Add(sectionSlett); }
public void JegerSelected(Jeger j) { SelectedJeger = j; }