Example #1
0
        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();
        }
Example #2
0
        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();
            }
        }
Example #3
0
        /// <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;
            }
        }
Example #4
0
 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");
     }
 }
Example #5
0
 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");
     }
 }
Example #6
0
        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);
            }
        }
Example #7
0
        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"
                });
            }
        }
Example #8
0
 /// <summary>
 /// to insert
 /// </summary>
 public fInsert()
 {
     InitializeComponent();
     bOk = false;
     BasicUserProperties basicproperties = new BasicUserProperties();
 }
Example #9
0
 /// <summary>
 /// to modify
 /// </summary>
 /// <param name="properties"></param>
 public fInsAdmin(BasicUserProperties properties)
 {
     InitializeComponent();
     bOk = false;
     BasicUserProperties basicproperties = properties;
 }