/// <summary> /// Méthode pour ajouter un nouveau participant /// </summary> /// <param name="idParticipant">Identifier participant.</param> /// <param name="idPrestation">Identifier prestation.</param> public ValidatePresence AddNewPresence(int idParticipant, int?idPrestation, bool isEBillet = false) { var newValidate = new ValidatePresence() { IdParticipant = idParticipant, IdPrestation = idPrestation, DatePresence = DateTime.Now, IsEBillet = isEBillet }; // On cherche le nouvel Id (car on stocke en local quelque chose qui ne vient pas d'un WS) var id = sqlData.GetLastId() + 1; newValidate.Id = id; // On insère if (sqlData.InsertData(newValidate)) { return(newValidate); } else { return(null); } }
/// <summary> /// Ajoute les données manuellement au cache. ATTENTION : non util généralement, uniquement /// utilisé pour les données construites (type : Acuueil pour Prestations) /// </summary> /// <param name="instances">Instances.</param> public void InsertData(T instance) { // Attention : Si id=0 : on n'ajoute pas // TEST /*if (instance.Id == 0) * { * * // Debug * Debug.WriteLine("ERREUR d'Insert - id=0 : " + instance.ToString()); * * return; * }*/ // On vérifie si l'instance n'existe pas déjà, auquel cas on l'update if (instance.Id != 0 && sqlData.GetT(instance.Id) != null) { sqlData.UpdateData(instance); } else { if (!sqlData.InsertData(instance)) { // Problème ? string temp = ""; } } }
/// <summary> /// Marque la présence d'un participant UNIQUEMENT en base (l'envoi en WS est fait ailleurs avec Send) /// </summary> /// <param name="validate">Identifier participant et prestation.</param> public void ValidateSQLOnly(ValidatePresence validate) { if (validate == null) { return; } // En fonction de l'Id prestation, on choisit la table if (validate.IdPrestation.HasValue) { // Objet Inscription var sqldata = new SQLData <InscriptionParticipant>(); // On cherche l'inscription si elle existe... var inscription = sqldata.RetrieveAll().Where(x => x.IdParticipant == validate.IdParticipant && x.IdPrestation == validate.IdPrestation.Value).FirstOrDefault(); if (inscription != null) { // On update inscription.DatePresence = DateTime.Now; sqldata.UpdateData(inscription); } else { // On insère var newInscription = new InscriptionParticipant() { IdParticipant = validate.IdParticipant, IdPrestation = validate.IdPrestation, IdStatusA39 = 3, DatePresence = DateTime.Now }; sqldata.InsertData(newInscription); } } else { // Objet Presence var sqldata = new SQLData <PresenceParticipant>(); // On crée la présence var newPresence = new PresenceParticipant() { IdParticipant = validate.IdParticipant, StatusPartA09 = 3, DatePresence = DateTime.Now }; sqldata.InsertData(newPresence); } }