1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| List<GInfoWindow> listeDesInfosBulle = new List<GInfoWindow>();
GInfoWindow infoWindow;
//// Bloc Mise en place des markers dans la google Map ///
for (int i = 0; i < tableDeDesMandataire.Rows.Count; i++)
{
string numeroNomDossierAdresse = "<div class=\"infobulle\" > <b>" + leMandataire.nomPrenom + " <br/> Numéro de Dossier </b> :" + tableDeDesMandataire.Rows[i]["CODE_DOS"].ToString() + "<br/> " + " <b> Nom du Majeur </b>:" + tableDeDesMandataire.Rows[i]["nomPrenom"] + " <br/> " + "<b> Adresse Complète </b>:" + tableDeDesMandataire.Rows[i]["adresseDossier"].ToString() + "</div>";
//Liste des infos bulles sur la carte
//Contenu de tous les markers qui vont être passer en revus
List<string> listeDesMarkers = new List<string>();
//Contenu des markers qui sont présent plusieurs fois
Dictionary<string, StructureTexteMarker> listeAssosiativeCoordonneesStructureTexte = new Dictionary<string, StructureTexteMarker>();
if (Session["infoWindow"] != null) listeDesInfosBulle = (List<GInfoWindow>)Session["infoWindow"];
if (Session["listeDesMarkers"] != null) listeDesMarkers = (List<string>)Session["listeDesMarkers"];
if (Session["listeDesMarkersEncoder"] != null) listeAssosiativeCoordonneesStructureTexte = (Dictionary<string, StructureTexteMarker>)Session["listeDesMarkersEncoder"];
//Récupérer la lattitude longittude d'un dossier
double latitude = (double)tableDeDesMandataire.Rows[i]["LATITUDE_DOS"];
double longitude = (double)tableDeDesMandataire.Rows[i]["LONGITUDE_DOS"];
string lattitudeLongitude = latitude.ToString() +" "+ longitude.ToString();
//Si la liste des markers contient la lattitude et la longittude du dossier actuelle
if (listeDesMarkers.Contains(lattitudeLongitude))
{
//On rajoute un nouveau dosssier trouvé avec les mêmes coordonées
listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].nombreDeDossier += 1;
//Si le mandataire n'est déja présent dans la structure on l'ajoute pour le compter plus tard
if(!listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].listeDesNomPrenomsMandataire.Contains(leMandataire.nomPrenom))
{
//On ajoute son nom prénom à la liste
listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].listeDesNomPrenomsMandataire.Add(leMandataire.nomPrenom);
//On crée un Dictionnaire pour compter son nombre de dossier avec la même géolocalisation
listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].listeAssociativeNomPrenomDossier.Add(leMandataire.nomPrenom,1);
//Je rajoute à la chaine finale du marker avec le nom du mandataire
listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].chaineStructurerMandataire += leMandataire.nomPrenom;
}
//Si il est déja présent on incrémente ses dossiers
else
{
listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].listeAssociativeNomPrenomDossier[leMandataire.nomPrenom] += 1;
}
//Je calcule le nombre de mandataire
listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].chaineNombreDeMandataire = listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].compterLeNombreDeMandataire().ToString() + " Mandataire \n ";
//Je compte le nombre de dossier total
listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].chaineNombreDeDossier = listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].compterLeNombreDeDossier() + " Dossier \n";
//Je récupère l'adresse et je la mets dans un dictionnaire
listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].listeDesDossiers[leMandataire.nomPrenom] = numeroNomDossierAdresse;
string debutChaineStructurer = "<div class=\"infobulle-big\"> <b class=\"centered\">" + listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].chaineNombreDeMandataire + "</b> <br/> <b class=\"centered\">" + listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].chaineNombreDeDossier + "</b> <br/>";
listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].chaineStructurerMandataire += listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].listeDeToutLesDossiersMandataire(leMandataire.nomPrenom).ToString();
numeroNomDossierAdresse = debutChaineStructurer += listeAssosiativeCoordonneesStructureTexte[lattitudeLongitude].chaineStructurerMandataire + "</div>";
}
else
{
listeDesMarkers.Add(lattitudeLongitude);
listeAssosiativeCoordonneesStructureTexte.Add(lattitudeLongitude, new StructureTexteMarker());
}
Session["listeDesMarkers"] = listeDesMarkers;
Session["listeDesMarkersEncoder"] = listeAssosiativeCoordonneesStructureTexte;
//Numéro nom et Adresse du Dossier
//Je remplie la google Map
infoWindow = GoogleMap.encoderUneValeursInfoAvecUneImage(GMap1, latitude, longitude, numeroNomDossierAdresse, nomDeLimage);
listeDesInfosBulle.Add(infoWindow);
Session["infoWindow"] = listeDesInfosBulle;
} |