public bool DoItFoundIt() { if (_Daddy != null) { CustomFilterFoundRecently2 fltr = new CustomFilterFoundRecently2(false, false); _Daddy.ExecuteCustomFilter(fltr); return(true); } else { MessageBox.Show("Daddy is missing :-("); return(false); } }
public bool DoItCompleteFoundIt() { if (_Daddy != null) { String msg = ""; bool bFilterOk = false; bool bZoneOk = false; DialogResult dialogResult; if (CheckIfAreaIsDefined(ref bFilterOk, ref bZoneOk) == false) { if (!bZoneOk) { // La zone n'est pas définie, on informe ! msg = "ATTENTION ! Aucune zone valide n'est définie ! Voulez-vous en définir une (oui) ou continuer sans filtre de zone (non) ?"; dialogResult = MessageBox.Show(msg, _Daddy.GetTranslator().GetString("AskConfirm"), MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dialogResult == DialogResult.Yes) { // On définit la zone et on s'arrête là. return(DefineArea()); } // Sinon on continue, roule ma poule } else if (!bFilterOk) { // La zone est définie mais le filtre n'est pas activé msg = "ATTENTION ! Une zone est définie mais le filtre n'est pas activé ! Voulez-vous l'activer (oui) ou continuer sans filtre de zone (non) ?"; dialogResult = MessageBox.Show(msg, _Daddy.GetTranslator().GetString("AskConfirm"), MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dialogResult == DialogResult.Yes) { // On active le filtre CheckBox cb = GetcbFilterArea(); if (cb != null) { cb.Checked = true; } if ((cb == null) || (cb.Checked == false)) { // WTF !!! msg = "ATTENTION ! Impossible d'activer le filtre ! Voulez-vous néanmoins continuer ?"; dialogResult = MessageBox.Show(msg, _Daddy.GetTranslator().GetString("AskConfirm"), MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dialogResult != DialogResult.Yes) { return(false); } } } // Sinon on continue, roule ma poule } } // filtre sur zone / tradi / D4T4 -> complete les logs -> filtre les logs -> crée les notes -> logge) msg = "Les opération suivantes vont être réalisées séquentiellement :\r\n"; msg += "- Filtrage des caches affichées pour ne garder que les Traditionnelles non trouvées avec une D < 4 et un T < 4. Possibilité d'exécuter préalablement le filtre défini dans MGM\r\n"; msg += "- Affichage du calendrier des trouvailles\r\n"; msg += "- Définition du type de notes de terrain : fichier temporaire ou choisi manuellement (il sera alors conservé)\r\n"; msg += "- Demande de la date de début et de fin souhaitées pour la création des notes de terrain\r\n"; msg += "- Récupération des derniers logs des caches résultantes du filtre précédent\r\n"; msg += "- Filtrage pour garder uniquement les caches dont le dernier log est un Found It\r\n"; msg += "- Confirmation pour continuer\r\n"; msg += "- Création des notes de terrain\r\n"; msg += "- Ouverture de la fenêtre de log sur ces notes de terrain\r\n"; msg += "Êtes-vous d'accord pour continuer ?"; dialogResult = MessageBox.Show(msg, _Daddy.GetTranslator().GetString("AskConfirm"), MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dialogResult != DialogResult.Yes) { return(false); } // On fait un préfiltre pour garder uniquement les candidats // On se moque des logs pour l'instant CustomFilterFoundRecently2 fltr = new CustomFilterFoundRecently2(true, true); _Daddy.ExecuteCustomFilter(fltr); // Ok on a fait un peu le ménage mais il se peut qu'il y ait beaucoup de caches List <Geocache> caches = null; caches = _Daddy.GetDisplayedCaches(); if (caches.Count == 0) { _Daddy.MSG("Le filtre n'a retourné aucune cache valide !"); return(false); } // On affiche le calendrier des trouvailles DisplayFoundCalendar(true); bool bAutoFile = false; DateTime deb = DateTime.MinValue; DateTime fin = DateTime.MinValue; // On demande la date de début et de fin du run List <ParameterObject> lst = new List <ParameterObject>(); lst.Add(new ParameterObject(ParameterObject.ParameterType.Label, "", "nb", caches.Count.ToString() + " caches vont être mises à jour !")); lst.Add(new ParameterObject(ParameterObject.ParameterType.Bool, true, "autofile", "Notes de terrain temporaires")); lst.Add(new ParameterObject(ParameterObject.ParameterType.Date, DateTime.Now, "date", "Date de début")); lst.Add(new ParameterObject(ParameterObject.ParameterType.Date, DateTime.Now, "date", "Date de fin")); ParametersChanger changer = new ParametersChanger(); changer.Title = "Utiliser des notes de terrain temporaires ?"; changer.BtnCancel = _Daddy.GetTranslator().GetString("BtnCancel"); changer.BtnOK = _Daddy.GetTranslator().GetString("BtnOk"); changer.ErrorFormater = _Daddy.GetTranslator().GetString("ErrWrongParameter"); changer.ErrorTitle = _Daddy.GetTranslator().GetString("Error"); changer.Parameters = lst; changer.Font = _Daddy.Font; changer.Icon = _Daddy.Icon; if (changer.ShowDialog() == DialogResult.OK) { bAutoFile = (lst[1].Value == "True"); deb = (DateTime)(lst[2].ValueO); fin = (DateTime)(lst[3].ValueO); // Nombre de jours du run if (deb > fin) { _Daddy.MSG("La date de début doit être antérieure à la date de fin !"); return(false); } } else { return(false); } // On complète les caches avec les derniers logs // 00 : All // 01 : DateCreation // 02 : Owner // 03 : Status // 04 : Difficulty // 05 : Terrain // 06 : Description // 07 : Container // 08 : Hint // 09 : Attributes // 10 : Logs // 11 : Contry // 12 : State // 13 : Statistics // 14 : Basic info (name, url, coordinates) bool[] parameters = new bool[15]; parameters[0] = false; parameters[1] = false; parameters[2] = true; parameters[3] = false; parameters[4] = false; parameters[5] = false; parameters[6] = false; parameters[7] = false; parameters[8] = false; parameters[9] = false; parameters[10] = true; parameters[11] = false; parameters[12] = false; parameters[13] = false; parameters[14] = false; _Daddy.CompleteSelectedCaches(ref caches, parameters, true); // On conserve seulement les caches avec des logs found it en dernier fltr = new CustomFilterFoundRecently2(true, false); _Daddy.ExecuteCustomFilter(fltr); // Ok on a fait un peu le ménage mais il se peut qu'il y ait beaucoup de caches caches = _Daddy.GetDisplayedCaches(); if (caches.Count == 0) { _Daddy.MSG("Le filtre n'a retourné aucune cache valide !"); return(false); } msg = caches.Count.ToString() + " caches vont être loggées !"; dialogResult = MessageBox.Show(msg, _Daddy.GetTranslator().GetString("AskConfirm"), MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dialogResult != DialogResult.Yes) { return(false); } // On génère les field notes sur toutes les caches affichées String field_notes = ""; if (GenerateFieldNotes(false, bAutoFile, ref field_notes, deb, fin)) { // On lance l'IHM des field notes FieldNotesHMI fnHMI = new FieldNotesHMI(_Daddy, field_notes); fnHMI.Show(); if (bAutoFile && File.Exists(field_notes)) { File.Delete(field_notes); } return(true); } return(false); } else { MessageBox.Show("Daddy is missing :-("); return(false); } }