void ShowTeachers() { ListViewItem row; ListViewItem.ListViewSubItem elem; OleDbConnection conn; OleDbCommand command; DbDataReader reader; string query; conn = new OleDbConnection(AppConfiguration.connectionString); conn.Open(); lsvTeachers.Items.Clear(); query = "SELECT Users.FirstName, Users.SecondName, Users.BirthDate, Users.Password, Teachers.ID, Users.ID FROM Teachers INNER JOIN Users ON Teachers.USER_ID=Users.ID"; command = new OleDbCommand(query, conn); reader = command.ExecuteReader(); while (reader.Read() == true) { Teacher teacher; BasicUserProperties properties = new BasicUserProperties(); //create a new row row = new ListViewItem(); //create,set first cell row.Text = properties.FirstName = reader.GetString(0); //create subitem ,i set it and i add it at row elem = new ListViewItem.ListViewSubItem(); elem.Text = properties.SecondName = reader.GetString(1); row.SubItems.Add(elem); //create the second subitem ,i set it and i add it at row elem = new ListViewItem.ListViewSubItem(); properties.BirthDate = reader.GetDateTime(2); elem.Text = properties.BirthDate.ToShortDateString(); row.SubItems.Add(elem); //create the third subitem ,i set it and i add it at row elem = new ListViewItem.ListViewSubItem(); elem.Text = properties.Password = reader.GetString(3); row.SubItems.Add(elem); //add row at listview lsvTeachers.Items.Add(row); teacher = new Teacher(properties, reader.GetGuid(5), reader.GetGuid(4)); //set the reference at the object row.Tag = teacher; } conn.Close(); }
private void cmdInsertS_Click(object sender, EventArgs e) { BasicUserProperties properties = new BasicUserProperties(); Student newStudent = new Student(properties); fInsStudents InsStudents = new fInsStudents(newStudent); InsStudents.ShowDialog(); if (InsStudents.bOk == true) { newStudent.SaveAsync(); ShowStudents(); } }
/// <summary> /// to modify /// </summary> /// <param name="properties"></param> public fInsertS(BasicUserProperties properties) { InitializeComponent(); bOk = false; BasicUserProperties basicproperties = properties; txtFirstName.Text = properties.FirstName; txtSecondName.Text = properties.SecondName; if (properties.BirthDate > dtpBirthDate.MinDate) { dtpBirthDate.Value = properties.BirthDate; } }
private void cmdOk_Click(object sender, EventArgs e) { if (ValidateData()) { if (dtpBirthDate.Value.ToShortDateString() == DateTime.Today.ToShortDateString()) { dtpBirthDate.Value = DateTime.Today; } UserProperties = new BasicUserProperties(txtFirstName.Text, txtSecondName.Text, dtpBirthDate.Value, txtPassword.Text); bOk = true; this.Close(); } else { MessageBox.Show("Dati non validi"); } }
private void cmdOk_Click(object sender, EventArgs e) { if (ValidateData() == true) { UserProperties = new BasicUserProperties(); UserProperties.FirstName = txtFirstName.Text; UserProperties.SecondName = txtSecondName.Text; UserProperties.BirthDate = dtpBirthDate.Value; UserProperties.Password = txtPassword.Text; bOk = true; this.Close(); } else { MessageBox.Show("Dati non validi"); } }
private async void cmdLogin_Click(object sender, EventArgs e) { //crea l'oggetto per le proprietà dell' utente e le assegna BasicUserProperties userProperties = new BasicUserProperties(); userProperties.FirstName = txtFirstName.Text; userProperties.SecondName = txtSecondName.Text; userProperties.Password = txtPassword.Text; //crea l'oggetto utente User user = new User(userProperties); Application.UseWaitCursor = true; List <AuthenticationType> auths = await user.AuthenticateAsync(new List <AuthenticationType>() { AuthenticationType.Administrator, AuthenticationType.Teacher }); Application.UseWaitCursor = false; // ControlsUtilities.CleanTextboxes(gbLogin); txtPassword.Text = ""; if (auths.Count == 2) { DialogResult dResult = MessageBox.Show("Accedere come amministratore?", "Login", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dResult == DialogResult.Yes) { ShowAdministratorForm(user); } else { ShowTeacherForm(user); } } else if (auths[0] == AuthenticationType.Administrator) { ShowAdministratorForm(user); } else if (auths[0] == AuthenticationType.Teacher) { ShowTeacherForm(user); } else { MessageBox.Show("Credenziali errate, riprovare il login.", "Login fallito", MessageBoxButtons.OK, MessageBoxIcon.Stop); } }
private async void cmdSubmit_Click(object sender, EventArgs e) { Student student; DateTime birthDate; BasicUserProperties properties = new BasicUserProperties(); properties.FirstName = txtFirstName.Value; properties.SecondName = txtSecondName.Value; if (!DateTime.TryParseExact(calBirthDate.Value, @"yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out birthDate)) { divErrorContainer.Controls.Add(new BootstrapAlert() { Text = "Il formato della data specificato non è supportato dall'applicazione. Rilevata modifica della struttura HTML e/o Javascript." , Title = "Errore dati." , ID = "loginAlert" }); Context.ApplicationInstance.CompleteRequest(); return; } else { properties.BirthDate = birthDate; } student = new Student(properties); if (await student.AuthenticateAsync() == AuthenticationType.Student) { //checking if authenticated user is involved in the current questionnaire session if ((from s in CacheHandler.GetInvolvedStudents(Cache) where s.ID.Equals(student.ID) select s).FirstOrDefault() != null /*true*/) { StudentSubmission = Submissions.Get(student.ID); if (StudentSubmission == null) { if (Submissions.Items.Where(x => x.AssignationIPAddress == Request.UserHostAddress).FirstOrDefault() == null) { divErrorContainer.Controls.Add(new BootstrapAlert() { Text = "ACCESSO NEGATO!", Title = "Errore dati.", ID = "loginAlert" }); /* * QuestionnaireSession questionnaireSession = CacheHandler.GetQuestionnaireSession(Cache); * QuestionnaireLib.Questionnaire assignedQuestionnaire = new QuestionnaireLib.Questionnaire(questionnaireSession.Questionnaire); * assignedQuestionnaire.Populate(); * foreach (Question q in assignedQuestionnaire.Questions) * { * q.Answers = Helpers.RimescolaCol(q.Answers); * } * StudentSubmission = new QuestionnaireSubmission(assignedQuestionnaire, student, Request.UserHostAddress, questionnaireSession); * Submissions.Items.Add(StudentSubmission); */ } else { //ANOMALY HERE //StudentSubmission.Anomalies.Add(new DifferentHostAnomaly(StudentSubmission.AssignationIPAddress, Request.UserHostAddress)); divErrorContainer.Controls.Add(new BootstrapAlert() { Text = "Tentativo di accesso ad un altro account dallo stesso host rilevato." , Title = "Accesso fallito." , ID = "loginAlert" }); return; } } //Preventing same user from logging from different machines if (StudentSubmission.AssignationIPAddress == Request.UserHostAddress) { FormsAuthentication.SetAuthCookie(student.ID.ToString(), false); if (Request.QueryString["ReturnUrl"] == null) { Response.Redirect("./Questionnaire.aspx", false); Context.ApplicationInstance.CompleteRequest(); } else { Response.Redirect(Request.QueryString["ReturnUrl"], false); Context.ApplicationInstance.CompleteRequest(); } } else { //ANOMALY HERE StudentSubmission.Anomalies.Add(new DifferentHostAnomaly(StudentSubmission.AssignationIPAddress, Request.UserHostAddress)); divErrorContainer.Controls.Add(new BootstrapAlert() { Text = "Tentativo di accesso da un altro host rilevato." , Title = "Accesso fallito." , ID = "loginAlert" }); } } else { divErrorContainer.Controls.Add(new BootstrapAlert() { Text = "Lo studente che possiede le credenziali specificate non partecipa a questa esaminazione." , Title = "Accesso fallito." , ID = "loginAlert" }); } } else { divErrorContainer.Controls.Add(new BootstrapAlert() { Text = "Assicurati di aver inserito correttamente i tuoi dati e riprova." , Title = "Accesso fallito." , ID = "loginAlert" }); } }
/// <summary> /// to insert /// </summary> public fInsert() { InitializeComponent(); bOk = false; BasicUserProperties basicproperties = new BasicUserProperties(); }
/// <summary> /// to modify /// </summary> /// <param name="properties"></param> public fInsAdmin(BasicUserProperties properties) { InitializeComponent(); bOk = false; BasicUserProperties basicproperties = properties; }