public PartialViewResult UpdatePoll(UpdatePollViewModel updatePollViewModel) { using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork()) { try { // Fist need to check this user hasn't voted already and is trying to fudge the system if(!_pollVoteService.HasUserVotedAlready(updatePollViewModel.AnswerId, LoggedOnReadOnlyUser.Id)) { var loggedOnUser = MembershipService.GetUser(LoggedOnReadOnlyUser.Id); // Get the answer var pollAnswer = _pollAnswerService.Get(updatePollViewModel.AnswerId); // create a new vote var pollVote = new PollVote { PollAnswer = pollAnswer, User = loggedOnUser }; // Add it _pollVoteService.Add(pollVote); // Update the context so the changes are reflected in the viewmodel below unitOfWork.SaveChanges(); } // Create the view model and get ready return the poll partial view var poll = _pollService.Get(updatePollViewModel.PollId); var votes = poll.PollAnswers.SelectMany(x => x.PollVotes).ToList(); var alreadyVoted = (votes.Count(x => x.User.Id == LoggedOnReadOnlyUser.Id) > 0); var viewModel = new PollViewModel { Poll = poll, TotalVotesInPoll = votes.Count(), UserHasAlreadyVoted = alreadyVoted }; // Commit the transaction unitOfWork.Commit(); return PartialView("_Poll", viewModel); } catch (Exception ex) { unitOfWork.Rollback(); LoggingService.Error(ex); throw new Exception(LocalizationService.GetResourceString("Errors.GenericMessage")); } } }
internal static void AddUpdatePollVote(PollVote vote) { ValidatePollVote(vote); var existingVote = GetPollVote(vote.PollId, vote.UserId); if (existingVote != null && existingVote.PollAnswerId == vote.PollAnswerId) return; bool isCreate = existingVote == null; if (isCreate) PublicApi.PollVotes.Events.OnBeforeCreate(vote); else PublicApi.PollVotes.Events.OnBeforeUpdate(vote); PollingDataService.AddUpdatePollVote(vote); ExpirePoll(vote.PollId); if (isCreate) PublicApi.PollVotes.Events.OnAfterCreate(vote); else PublicApi.PollVotes.Events.OnAfterUpdate(vote); }
protected void ButtonSupprimer_Click(object sender, EventArgs e) { if (Cache["MembreGUID"] == null || ( Guid )Cache["MembreGUID"] == Guid.Empty) { ValidationMessage.Text += "<br/>Choisir un membre à supprimer.<br/>"; ValidationMessage.CssClass = "LabelValidationMessageErrorStyle"; ValidationMessage.Visible = true; } else { int status = 0; int statusGlobal = 0; ValidationMessage.Text += "<br />-----------------------------------------------------<br />"; ValidationMessage.Text += " Début de la Suppression du Membre <br />"; ValidationMessage.Text += "-----------------------------------------------------<br />"; Reporter.Trace("ButtonSupprimer_Click début"); MemberInfo member = MemberInfo.Get(( Guid )Cache["MembreGUID"]); foreach (Questionnaire questionnaire in (QuestionnaireCollection)Cache["Questionnaires"]) { int QuestionnaireID = questionnaire.QuestionnaireID; ValidationMessage.Text += "--- Suppression du Questionnaire : " + questionnaire.Description + ":" + questionnaire.CodeAcces + " questions : "; PollQuestionCollection questions = PollQuestionCollection.GetByQuestionnaire(QuestionnaireID); ValidationMessage.Text += questions.Count + "<br />"; foreach (PollQuestion question in questions) { PollAnswerCollection reponses = PollAnswerCollection.GetByPollQuestionID(question.PollQuestionId); foreach (PollAnswer reponse in reponses) { PollVoteCollection votes = PollVoteCollection.GetVotes(reponse.PollAnswerId); int nbVotes = PollVoteCollection.NumberOfVotesByAnswer(reponse.PollAnswerId); ValidationMessage.Text += "----- Suppression des votes : " + nbVotes.ToString() + "<br />"; foreach (PollVote vote in votes) { status = PollVote.Delete(vote.VoteId); statusGlobal = statusGlobal + status; ValidationMessage.Text += " status : " + status.ToString() + "<br />"; } ValidationMessage.Text += "---- Suppression de la Réponse : " + reponse.Answer + "<br />"; status = PollAnswer.Delete(reponse.PollAnswerId); statusGlobal = statusGlobal + status; ValidationMessage.Text += " status : " + status.ToString() + "<br />"; } ValidationMessage.Text += "--- Suppression de la Question : " + question.Question + "<br />"; status = PollQuestion.Delete(question.PollQuestionId); SessionState.Limitations.SupprimerQuestion(); statusGlobal = statusGlobal + status; ValidationMessage.Text += " status : " + status.ToString() + "<br />"; } PersonneCollection personnes = PersonneCollection.GetQuestionnaire(QuestionnaireID); ValidationMessage.Text += "</br>"; ValidationMessage.Text += "Suppression des contacts : " + personnes.Count + "<br />"; foreach (Personne p in personnes) { ValidationMessage.Text += p.Nom + " " + p.Prenom + " " + p.EmailBureau + " " + p.Societe + "<br />"; status = Personne.Delete(p.ID_Personne); statusGlobal = statusGlobal + status; ValidationMessage.Text += "status : " + status.ToString() + "<br />"; } SessionState.Limitations.SupprimerInterviewes(personnes.Count); WebContentCollection webContents = WebContentCollection.GetWebContents(member.NomUtilisateur, questionnaire.CodeAcces.ToString()); ValidationMessage.Text += "</br>"; ValidationMessage.Text += "Suppression des contenus web pour le Questionnaire : " + webContents.Count + "<br />"; foreach (WebContent wc in webContents) { ValidationMessage.Text += wc.Section + " " + wc.Utilisateur + " " + wc.Visualisateur + "<br />"; status = WebContent.Delete(wc.WebContentID); statusGlobal = statusGlobal + status; ValidationMessage.Text += "status : " + status.ToString() + "<br />"; } ValidationMessage.Text += "</br>"; ValidationMessage.Text += "Suppression des scores : " + (( ScoreCollection )Cache["Scores"]).Count + "<br />"; foreach (Score s in ( ScoreCollection )Cache["Scores"]) { status = Score.Delete(s.ScoreID); statusGlobal = statusGlobal + status; } ValidationMessage.Text += "Suppression du Questionnaire : " + questionnaire.Description + "<br />"; status = Questionnaire.Delete(questionnaire.QuestionnaireID); statusGlobal = statusGlobal + status; SessionState.Limitations.SupprimerQuestionnaire(); ValidationMessage.Text += "status : " + status.ToString() + "<br />"; }// Fin de foreach ( Questionnaire questionnaire in Questionnaires ) Reporter.Trace("foreach ( Questionnaire questionnaire in Questionnaires ) fin"); ValidationMessage.Text += "Suppression des contenus web pour Tout Le Monde : " + (( WebContentCollection )Cache["WebContentsToutLeMonde"]).Count + "<br />"; foreach (WebContent wc in ( WebContentCollection )Cache["WebContentsToutLeMonde"]) { ValidationMessage.Text += wc.Section + " " + wc.Utilisateur + " " + wc.Visualisateur + "<br />"; status = WebContent.Delete(wc.WebContentID); statusGlobal = statusGlobal + status; ValidationMessage.Text += "status : " + status.ToString() + "<br />"; } MembershipUser user = Membership.GetUser(( Guid )Cache["MembreGUID"]); Reporter.Trace("Directory.Exists( dirStyleWeb ) début"); ValidationMessage.Text += "Suppression des styles web :<br />"; string dirStyleWeb = Server.MapPath("~/App_Data/StyleWeb/" + user.UserName); if (Directory.Exists(dirStyleWeb)) { List <Fichier> fichiers = Tools.GetAllFichiers(dirStyleWeb); if (fichiers.Count <= 0) { ValidationMessage.Text += "-- Pas de style web<br />"; } else { foreach (Fichier f in fichiers) { try { File.Delete(f.Nom); string nomFichier = Tools.GetFileNameWithoutExtension(f.Nom); ValidationMessage.Text += "-- fichier supprimé : " + nomFichier + "<br />"; } catch { string nomFichier = Tools.GetFileNameWithoutExtension(f.Nom); ValidationMessage.Text += "-- ERREUR à la suppression du fichier : " + nomFichier + "<br />"; } } } ValidationMessage.Text += "Suppression du répertoire : " + user.UserName; try { Directory.Delete(dirStyleWeb); } catch (Exception ex) { ValidationMessage.Text += " Erreur : " + ex.Message + "</br>"; } ValidationMessage.Text += "</br>"; } else { ValidationMessage.Text += "-- Pas de style web<br />"; } ValidationMessage.Text += "</br>"; Reporter.Trace("Directory.Exists( dirStyleWeb ) fin"); ValidationMessage.Text += "Suppression du fichier de paramètres :<br />"; string fileName = Server.MapPath("~/App_Data/MemberSettings/" + user.UserName + ".xml"); if (File.Exists(fileName)) { File.Delete(fileName); string nomFichier = Tools.GetFileNameWithoutExtension(fileName); ValidationMessage.Text += "-- fichier supprimé : " + nomFichier + "<br />"; } else { string nomFichier = Tools.GetFileNameWithoutExtension(fileName); ValidationMessage.Text += "-- ERREUR à la suppression du fichier : " + nomFichier + "<br />"; } ValidationMessage.Text += "</br>"; Reporter.Trace("SmtpServer.Get( member.MembreGUID ) début"); SmtpServer stmpServeur = SmtpServer.Get(member.MembreGUID); if (stmpServeur != null) { ValidationMessage.Text += "Suppression du Serveur SMTP :" + stmpServeur.ServerName + "<br />"; status = SmtpServer.Delete(stmpServeur.SmtpServerID); statusGlobal = statusGlobal + status; ValidationMessage.Text += "status : " + status.ToString() + "<br />"; } Reporter.Trace("SmtpServer.Get( member.MembreGUID ) fin"); ValidationMessage.Text += "Suppression du Membre : " + member.Nom + " " + member.Prenom + " " + user.Email + " " + user.UserName + "<br />"; status = MemberInfo.Delete(( Guid )Cache["MembreGUID"]); statusGlobal = statusGlobal + status; ValidationMessage.Text += "status : " + status.ToString() + "<br />"; ValidationMessage.Text += "Suppression de l'Utilisateur : " + user.UserName + "<br />"; bool ok = Membership.DeleteUser(user.UserName, true); if (ok) { status = 0; } else { status = 1; } ValidationMessage.Text += "status : " + status.ToString() + "<br />"; ValidationMessage.Text += "<br />status global : " + statusGlobal.ToString() + "<br />"; ValidationMessage.Visible = true; // Forcer les Questionnaires a se recharger depuis la Base de Donnees SessionState.Questionnaires = null; SessionState.Questionnaire = null; Cache["MembreGUID"] = Guid.Empty; // Si c'est un membre qui supprime sont compte if (User.IsInRole("Administrateur") == false) { // Message de suppression d'un membre a l'admin string sujetEmail2 = "Suppression d'un Membre sur le site : " + Global.SettingsXml.SiteNom; string bodyEmail2 = ""; bodyEmail2 += "Nom d'utilisateur : " + SessionState.MemberInfo.NomUtilisateur + "<br/>"; bodyEmail2 += "Nom : " + SessionState.MemberInfo.Nom + "<br/>"; bodyEmail2 += "Prénom : " + SessionState.MemberInfo.Prenom + "<br/>"; bodyEmail2 += "Société : " + SessionState.MemberInfo.Societe + "<br/>"; bodyEmail2 += "Téléphone : " + SessionState.MemberInfo.Telephone + "<br/>"; bodyEmail2 += "Adresse : " + SessionState.MemberInfo.Adresse + "<br/>"; bodyEmail2 += "Email : " + user.Email + "<br/>"; bodyEmail2 += "<br/>Accès à l'application :<br/>" + string.Format("<a href=\"{0}\" >{1}</a>", Utils.WebSiteUri, Utils.WebSiteUri) + "<br/>"; MemberInfo admin = MemberInfo.GetMemberInfo("admin"); MembershipUser userAdmin = Membership.GetUser(admin.MembreGUID); Courriel.EnvoyerEmailToAssynchrone(admin.MembreGUID, userAdmin.Email, sujetEmail2, bodyEmail2); // Deconnecter l'utilisateur FormsAuthentication.SignOut(); HttpContext.Current.Session.Abandon(); Response.Redirect("~/Member/Login.aspx"); } } }
public PollVote Add(PollVote pollVote) { return(ContextPerRequest.Db.PollVote.Add(pollVote)); }
public void Delete(PollVote pollVote) { ContextPerRequest.Db.PollVote.Remove(pollVote); }
public async Task <PollVote> UpdatePollVoteAsync(PollVote pv) { return(await _repo.UpdatePollVoteAsync(pv)); }
public async Task <PollVote> DeletePollVoteAsync(PollVote pv) { return(await _repo.DeletePollVoteAsync(pv)); }
public PollVote Add(PollVote pollVote) { return(_context.PollVote.Add(pollVote)); }
public void InsertVote(PollVote vote) { context.PollVotes.Add(vote); }
internal static void DeletePollVote(PollVote vote) { ValidatePollVote(vote); PublicApi.PollVotes.Events.OnBeforeDelete(vote); PollingDataService.DeletePollVote(vote.PollId, vote.UserId); ExpirePoll(vote.PollId); PublicApi.PollVotes.Events.OnAfterDelete(vote); }
private static void ValidatePollVote(PollVote vote) { if (vote.CreatedDateUtc == DateTime.MinValue) vote.CreatedDateUtc = DateTime.UtcNow; vote.LastUpdatedDateUtc = DateTime.UtcNow; Poll poll = GetPoll(vote.PollId); if (poll == null) throw new PollException("The poll associated to the vote does not exist."); if (poll.VotingEndDateUtc.HasValue && poll.VotingEndDateUtc.Value < DateTime.UtcNow) throw new PollException("Voting has ended. Votes cannot be added or changed."); if (!poll.Answers.Any(x => x.Id == vote.PollAnswerId)) throw new PollException("The poll answer doesn't exist on this poll."); var group = TEApi.Groups.Get(poll.ApplicationId); if (group == null || group.HasErrors()) throw new PollException("The group identified on the poll is invalid."); if (TEApi.Users.AccessingUser.IsSystemAccount.Value) throw new PollException("You must be logged in to vote on a poll"); if (!PollingPermissionService.CanVoteOnPolls(TEApi.Groups.ContentTypeId, poll.ApplicationId)) throw new PollException("The user does not have permission to vote on polls in this group."); }
public PollVote Add(PollVote pollVote) { return(_pollVoteRepository.Add(pollVote)); }
public void Delete(PollVote pollVote) { _pollVoteRepository.Delete(pollVote); }
protected void ButtonSupprimer_Click(object sender, EventArgs e) { if ((int)Cache["QuestionnaireID"] == 0) { ValidationMessage.Text += "<br/>Choisir un questionnaire à supprimer.<br/>"; ValidationMessage.CssClass = "LabelValidationMessageErrorStyle"; ValidationMessage.Visible = true; } else { int status = 0; int statusGlobal = 0; Questionnaire questionnaire = Questionnaire.GetQuestionnaire(( int )Cache["QuestionnaireID"]); Reporter.Trace("Questionnaire delete"); ValidationMessage.Text += "<br />-----------------------------------------------------<br />"; ValidationMessage.Text += " Début de la Suppression du Questionnaire <br />"; ValidationMessage.Text += "-----------------------------------------------------<br />"; foreach (PollQuestion question in ( PollQuestionCollection )Cache["Questions"]) { PollAnswerCollection reponses = PollAnswerCollection.GetByPollQuestionID(question.PollQuestionId); foreach (PollAnswer reponse in reponses) { PollVoteCollection votes = PollVoteCollection.GetVotes(reponse.PollAnswerId); int nbVotes = PollVoteCollection.NumberOfVotesByAnswer(reponse.PollAnswerId); ValidationMessage.Text += "----- Suppression des votes : " + nbVotes.ToString() + "<br />"; foreach (PollVote vote in votes) { status = PollVote.Delete(vote.VoteId); statusGlobal = statusGlobal + status; ValidationMessage.Text += " status : " + status.ToString() + "<br />"; } ValidationMessage.Text += "---- Suppression de la Réponse : " + reponse.Answer + "<br />"; status = PollAnswer.Delete(reponse.PollAnswerId); statusGlobal = statusGlobal + status; ValidationMessage.Text += " status : " + status.ToString() + "<br />"; } ValidationMessage.Text += "--- Suppression de la Question : " + question.Question + "<br />"; status = PollQuestion.Delete(question.PollQuestionId); statusGlobal = statusGlobal + status; SessionState.Limitations.SupprimerQuestion(); ValidationMessage.Text += " status : " + status.ToString() + "<br />"; } Reporter.Trace("Questionnaire delete fin"); //PersonneCollection personnes = PersonneCollection.GetQuestionnaire( ( int )Cache[ "QuestionnaireID" ] ); ValidationMessage.Text += "</br>"; ValidationMessage.Text += "Suppression des contacts : " + (( PersonneCollection )Cache["Personnes"]).Count + "<br />"; foreach (Personne p in ( PersonneCollection )Cache["Personnes"]) { ValidationMessage.Text += p.Nom + " " + p.Prenom + " " + p.EmailBureau + " " + p.Societe + "<br />"; status = Personne.Delete(p.ID_Personne); statusGlobal = statusGlobal + status; ValidationMessage.Text += "status : " + status.ToString() + "<br />"; } SessionState.Limitations.SupprimerInterviewes((( PersonneCollection )Cache["Personnes"]).Count); MemberInfo membre = MemberInfo.GetMemberInfo(questionnaire.MembreGUID); //WebContentCollection webContents = WebContentCollection.GetWebContents( membre.NomUtilisateur, questionnaire.CodeAcces.ToString() ); ValidationMessage.Text += "</br>"; ValidationMessage.Text += "Suppression des contenus web : " + (( WebContentCollection )Cache["WebContents"]).Count + "<br />"; foreach (WebContent wc in ( WebContentCollection )Cache["WebContents"]) { ValidationMessage.Text += wc.Section + " " + wc.Utilisateur + " " + wc.Visualisateur + "<br />"; status = WebContent.Delete(wc.WebContentID); statusGlobal = statusGlobal + status; ValidationMessage.Text += "status : " + status.ToString() + "<br />"; } ValidationMessage.Text += "</br>"; ValidationMessage.Text += "Suppression des scores : " + (( ScoreCollection )Cache["Scores"]).Count + "<br />"; foreach (Score s in ( ScoreCollection )Cache["Scores"]) { status = Score.Delete(s.ScoreID); statusGlobal = statusGlobal + status; } ValidationMessage.Text += "Suppression du Questionnaire : " + questionnaire.Description + "<br />"; status = Questionnaire.Delete(questionnaire.QuestionnaireID); statusGlobal = statusGlobal + status; SessionState.Limitations.SupprimerQuestionnaire(); ValidationMessage.Text += "status : " + status.ToString() + "<br />"; ValidationMessage.Text += "<br />status global : " + statusGlobal.ToString() + "<br />"; ValidationMessage.Visible = true; // Forcer les Questionnaires a se recharger depuis la Base de Donnees SessionState.Questionnaires = null; SessionState.Questionnaire = null; Cache["QuestionnaireID"] = 0; // fermer le formulaire // On ne supprime qu'une fois ! ButtonSupprimer.Visible = false; } }
public PollVote Update(PollVote entity) { return(Channel.Update(entity)); }
public void UpdateVote(PollVote vote) { context.Entry(vote).State = EntityState.Modified; }
public PollVote Update(PollVote entity) { throw new NotImplementedException(); }
private void ImporterFichier() { DateTime dateDebutAnalyse = DateTime.Now; if (User.IsInRole("Administrateur") && MemberInfoData == null) { MessageAnalyse = "Désolé Admin, sélectionnez un Membre pour importer des données."; EventFinImport.Set(); FinTraitement = true; return; } if (DocumentNom.PostedFile.FileName == "") { MessageAnalyse = "Choisissez un fichier à importer. "; EventFinImport.Set(); FinTraitement = true; return; } if (CheckBoxImportVotes.Checked && CheckBoxImportInterviewes.Checked == false) { CheckBoxExportIntervieves.Checked = true; MessageAnalyse = "Vous ne pouvez pas importer les votes sans exporter les interviewés. "; EventFinImport.Set(); FinTraitement = true; return; } HttpPostedFile file = DocumentNom.PostedFile; int size = file.ContentLength; if (size <= 0) { MessageAnalyse = "Un problème est survenu avec le téléchargement du fichier sur le serveur, le fichier n'est pas disponible. "; EventFinImport.Set(); FinTraitement = true; return; } String virtualPath = "~/MemberDataFiles/"; string filePath = virtualPath; virtualPath += Path.GetFileName(DocumentNom.PostedFile.FileName); String physicalDir = Server.MapPath(filePath); String physicalPath = Server.MapPath(virtualPath); // Sauver le fichier try { int tailleMax = 10 * 1024 * 1024; // 10 Mo if (DocumentNom.PostedFile.ContentLength >= tailleMax) { MessageAnalyse += "Error taille du fichier : " + Tools.FileSizeFormat(DocumentNom.PostedFile.ContentLength, "N"); MessageAnalyse += " supérieure à la taille maximum : " + Tools.FileSizeFormat(tailleMax, "N"); EventFinImport.Set(); FinTraitement = true; return; } DocumentNom.PostedFile.SaveAs(physicalPath); } catch (Exception ex) { MessageAnalyse += ex.Message; EventFinImport.Set(); FinTraitement = true; return; } DataSet dataSet = new DataSet(); try { XmlReader xmlr = XmlReader.Create(physicalPath); dataSet.ReadXml(xmlr); xmlr.Close(); } catch { MessageAnalyse += "Fichier non valide. "; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } // Dans le cadre d'un Tread on ne peut pas utiliser SessionState Limitation limitations = new Limitation(MemberInfoData.MembreGUID); // // Creer les Questionnaires // foreach (DataTable dt in dataSet.Tables) { if (dt.TableName.Contains("Questionnaire")) { // Tester les limitations avant d'ajouter le questionnaire if (limitations.LimiteQuestionnaires) { MessageAnalyse += "La limite du nombre de Questionnaires : " + limitations.NombreQuestionnaires + " est atteinte."; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } Questionnaire questionnaire = Questionnaire.FillFromXML(dt.Rows[0]); int oldQuestionnaireID = questionnaire.QuestionnaireID; string oldCodeAcces = questionnaire.CodeAcces.ToString(); questionnaire.MembreGUID = MemberInfoData.MembreGUID; questionnaire.DateCreation = DateTime.Now; // Modifier la date de creation a maintenant ArrayList codes = QuestionnaireDAL.GetCodeAccessAll(); string codeAcces = Tools.CalculCodeAcces(MemberInfoData.MembreID, codes).ToString(); questionnaire.CodeAcces = int.Parse(codeAcces); int status = Questionnaire.Create(questionnaire); if (status == 1) { MessageAnalyse += "Questionnaire : " + questionnaire.Description + " créé correctement.<br/>"; limitations.AjouterQuestionnaire(); } else if (status == 2) { MessageAnalyse += "Le Questionnaire : " + questionnaire.Description + " existe déjà.<br>"; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } else { MessageAnalyse += "Erreur sur la création du Questionnaire : " + questionnaire.Description + " <br/>"; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } // // Tagger les Objets du Questionnaire avec le nouvel ID // int newQuestionnaireID = questionnaire.QuestionnaireID; string newCodeAcces = codeAcces; // Questions TaggerObjet(ref dataSet, "QQuestion", "QuestionnaireID", oldQuestionnaireID.ToString(), newQuestionnaireID.ToString()); // Interviewe TaggerObjet(ref dataSet, "Personne", "QuestionnaireID", oldQuestionnaireID.ToString(), newQuestionnaireID.ToString()); TaggerObjet(ref dataSet, "Personne", "PersonneCode", oldCodeAcces, newCodeAcces); // Votes TaggerObjet(ref dataSet, "Vote", "QuestionnaireID", oldQuestionnaireID.ToString(), newQuestionnaireID.ToString()); // Score TaggerObjet(ref dataSet, "Score", "ScoreQuestionnaireID", oldQuestionnaireID.ToString(), newQuestionnaireID.ToString()); } if (dt.TableName.Contains("QQuestion")) { // On passe aux Questions break; } } // // Creer les Questions // int nbQuestions = 0; foreach (DataTable dt in dataSet.Tables) { if (dt.TableName.Contains("QQuestion")) { // Tester les limitations avant d'ajouter la question if (limitations.LimiteQuestions) { MessageAnalyse += "La limite du nombre de Questions : " + limitations.NombreQuestions + " est atteinte."; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } PollQuestion question = PollQuestion.FillFromXML(dt.Rows[0]); string oldQuestionID = question.PollQuestionId.ToString(); question.MembreGUID = MemberInfoData.MembreGUID; int status = PollQuestion.Create(question); if (status != 0) { MessageAnalyse += "Erreur à la création de la Question : " + question.Question + "<br/>"; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } else { nbQuestions += 1; limitations.AjouterQuestion(); } // // Tagger les Objets de la Question avec le nouvel ID // string newQuestionID = question.PollQuestionId.ToString(); // Reponse TaggerObjet(ref dataSet, "Reponse", "PollQuestionId", oldQuestionID, newQuestionID); // Votes TaggerObjet(ref dataSet, "Vote", "PollQuestionId", oldQuestionID, newQuestionID); } if (dt.TableName.Contains("Reponse")) { // On passe aux Reponses break; } } MessageAnalyse += "Question créées : " + nbQuestions.ToString() + "<br/>"; int nbReponses = 0; foreach (DataTable dt in dataSet.Tables) { if (dt.TableName.Contains("Reponse")) { PollAnswer reponse = PollAnswer.FillFromXML(dt.Rows[0]); string oldPollAnswerID = reponse.PollAnswerId.ToString(); int status = PollAnswer.Create(reponse); if (status == 0) { nbReponses += 1; } else { MessageAnalyse += "Erreur à la création de la réponse : " + reponse.Answer; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } // // Tagger les Objets de la Reponse avec le nouvel ID // string newPollAnswerID = reponse.PollAnswerId.ToString(); // Votes TaggerObjet(ref dataSet, "Vote", "PollAnswerId", oldPollAnswerID, newPollAnswerID); } if (dt.TableName.Contains("Personne")) { break; } } MessageAnalyse += "Réponses créés : " + nbReponses.ToString() + "<br/>"; int nbInterviewes = 0; if (CheckBoxImportInterviewes.Checked) { foreach (DataTable dt in dataSet.Tables) { if (dt.TableName.Contains("Personne")) { string message = ""; Personne personne = Personne.FillFromXML(dt.Rows[0]); string oldPersonneGUID = personne.PersonneGUID.ToString(); // Trouver si l'utilisateur de ce questionnaire est limite if (limitations.LimitesInterviewes) { MessageAnalyse += "La limite du nombre d'Interviewés : " + limitations.NombreInterviewes + " est atteinte."; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } int retCode = Personne.Create(personne, true, ref message); if (retCode == 1) { nbInterviewes += 1; limitations.AjouterInterviewes(1); } else { MessageAnalyse += message; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } // // Tagger les Objets de la Reponse avec le nouvel ID // string newPersonneGUID = personne.PersonneGUID.ToString(); // Votes TaggerObjet(ref dataSet, "Vote", "UserGUID", oldPersonneGUID, newPersonneGUID); } if (dt.TableName.Contains("Vote")) { break; } } } MessageAnalyse += "Interviewés créés : " + nbInterviewes.ToString() + "<br/>"; int nbVotes = 0; if (CheckBoxImportVotes.Checked) { foreach (DataTable dt in dataSet.Tables) { if (dt.TableName.Contains("Vote")) { PollVote vote = PollVote.FillFromXML(dt.Rows[0]); int status = PollVote.Create(vote); if (status == 2) { MessageAnalyse += "Vote existe déjà"; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } else { nbVotes += 1; } } if (dt.TableName.Contains("Score")) { break; } } if (limitations.LimitesReponses) { MessageAnalyse += "La limite du nombre de Réponses : " + limitations.NombreReponses + " est atteinte."; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } } MessageAnalyse += "Votes créés : " + nbVotes.ToString() + "<br/>"; int nbScore = 0; foreach (DataTable dt in dataSet.Tables) { if (dt.TableName.Contains("Score")) { Score score = Score.FillFromXML(dt.Rows[0]); int status = Score.Create(score); if (status != 1) { MessageAnalyse += "Erreur à la création du Score .<br/>"; } else { nbScore += 1; } } } MessageAnalyse += "Score créés : " + nbScore.ToString() + "<br/>"; if (CheckBoxImportServeurSmtp.Checked) { foreach (DataTable dt in dataSet.Tables) { if (dt.TableName.Contains("SmtpServeur")) { SmtpServer smtp = SmtpServer.FillFromXML(dt.Rows[0]); smtp.UserGUID = MemberInfoData.MembreGUID; int status = SmtpServer.Create(smtp); if (status == 2) { MessageAnalyse += "Smtp : " + smtp.Email + " existe déjà.<br/>"; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } else { MessageAnalyse += "Smtp crée correctement : " + smtp.Email + "<br/>"; } } } } DateTime dateFinAnalyse = DateTime.Now; TimeSpan tempsTraitement = dateFinAnalyse - dateDebutAnalyse; MessageAnalyse += "- Taille du fichier : " + Tools.FileSizeFormat(DocumentNom.PostedFile.ContentLength, "N") + "<br/>"; MessageAnalyse += "- Temps d'import : " + Tools.FormatTimeSpan(tempsTraitement) + "<br/>"; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; }
protected void ButtonValiderQuestionnaire_Click(object sender, EventArgs e) { if (Request.QueryString["valider"] != null) { if (Request.QueryString["valider"].ToString() == "2") { Page.Response.Redirect("~/Poll/Termine.Aspx", true); } } if (SessionState.QuestionsEnCours.Count <= 0) { ValidationMessage.Text += "Pas de questions en cours."; ValidationMessage.Visible = true; return; } if (SessionState.VotesEnCours.Count <= 0) { // L'interviewe a deja clique sur le bouton if (ValidationMessage.Text == "Pas de réponses en cours.") { Page.Response.Redirect("~/Poll/Termine.Aspx", true); } ValidationMessage.Text += "Pas de réponses en cours."; ValidationMessage.Visible = true; return; } int statusGlobal = 0; Session["_VotesEnCoursCount"] = SessionState.VotesEnCours.Count; foreach (PollQuestion question in SessionState.QuestionsEnCours) { PollAnswerCollection answers = PollAnswerCollection.GetByPollQuestionID(question.PollQuestionId); foreach (PollAnswer answer in answers) { PollVoteCollection pvc = SessionState.VotesEnCours.FindByAnswerID(answer.PollAnswerId); if (pvc.Count > 0) { foreach (PollVote vote in pvc) { if (HttpContext.Current.User.Identity.IsAuthenticated == false) { Limitation limitation = new Limitation(SessionState.Questionnaire.MembreGUID); if (limitation.LimitesReponses) { Context.Response.Redirect(Tools.PageErreurPath + "Désolé mais le nombre de réponses pour ce questionnaire est atteinte.", true); } int status = PollVote.Create(vote); if (status != 1) { statusGlobal += 1; } } SessionState.Votes.Add(vote); SessionState.VotesEnCours.Remove(vote); } } } } if (statusGlobal != 0) { ValidationMessage.Text += "Erreur à la création des votes : " + statusGlobal.ToString(); ValidationMessage.Visible = true; return; } if (Request.QueryString["fin"] != null) { Page.Response.Redirect("~/Poll/QuestionnaireEnCours.aspx?valider=2", true); } Page.Response.Redirect("~/Poll/QuestionnaireEnCours.aspx?valider=1", true); }
public PollVote Add(PollVote pollVote) { return _context.PollVote.Add(pollVote); }
public void Delete(PollVote pollVote) { _context.PollVote.Remove(pollVote); }
public Task <bool> CreateVoteOnPollAsync(PollVote vote) { _dbContext.PollVotes.Add(vote); return(CommitedResultIsSuccessfulAsync()); }
public async Task <PollVote> AddPollVoteAsync(PollVote pv) { return(await _repo.AddPollVoteAsync(pv)); }