Exemple #1
0
 //Nacitavanie studentov do datagridu
 private void LoadGrid(StudentSkupina skupina)
 {
     try
     {
         using (StudentDBDataContext con = new StudentDBDataContext(conn_str))
         {
             var students = con.GetTable <Student>().Where(x => x.ID_stud_skupina == skupina.Id).Select(y => new { y.Id, y.Meno, y.Priezvisko, y.ISIC });
             if (students.Count() > 0)
             {
                 StudentGrid.DataSource            = students;
                 StudentGrid.Columns["Id"].Visible = false;
                 StudentGrid.AutoSizeRowsMode      = DataGridViewAutoSizeRowsMode.AllCells;
             }
             else
             {
                 this.Close();
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
         Logger newLog = new Logger();
         newLog.LogError(ex);
     }
 }
Exemple #2
0
        public Main_Window(StudentSkupina skupina, User user)
        {
            MaterialSkin.MaterialSkinManager skinManager = MaterialSkin.MaterialSkinManager.Instance;
            skinManager.EnforceBackcolorOnAllComponents = false;
            skinManager.AddFormToManage(this);
            skinManager.Theme       = MaterialSkin.MaterialSkinManager.Themes.LIGHT;
            skinManager.ColorScheme = new MaterialSkin.ColorScheme(MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Accent.Blue400,
                                                                   MaterialSkin.TextShade.WHITE);
            try
            {
                InitializeComponent();
                currentUser    = user;
                studentSkupina = skupina;

                SendEmailCheck emailCheck = new SendEmailCheck();
                emailCheck.AutomatedEmailSending(currentUser);

                var aTimer = new System.Timers.Timer(60 * 60 * 1000);
                aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
                aTimer.Start();

                GetTable();
                OnLoadStudent();
                CreateBlockedExtensionFile();
            }
            catch (Exception ex)
            {
                Logger newLog = new Logger();
                newLog.LogError(ex);
                MessageBox.Show(ex.Message);
            }
        }
Exemple #3
0
        public FinalGradeForm(User user, StudentSkupina skup)
        {
            MaterialSkin.MaterialSkinManager skinManager = MaterialSkin.MaterialSkinManager.Instance;
            skinManager.EnforceBackcolorOnAllComponents = false;
            skinManager.AddFormToManage(this);
            skinManager.Theme       = MaterialSkin.MaterialSkinManager.Themes.LIGHT;
            skinManager.ColorScheme = new MaterialSkin.ColorScheme(MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Accent.Blue400,
                                                                   MaterialSkin.TextShade.WHITE);
            InitializeComponent();

            currentUser = user;
            group       = skup;

            try
            {
                using (StudentDBDataContext con = new StudentDBDataContext(conn_str))
                {
                    if (con.GetTable <Student>().Where(x => x.ID_stud_skupina == skup.Id).Count() > 0)
                    {
                        CreateFinalGradeOnStart();
                        LoadGrid(skup);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Uistite sa, že existujú študenti");
                Logger logger = new Logger();
                logger.LogError(ex);
            }
        }
 private void CreateBtn_Click(object sender, EventArgs e)
 {
     try
     {
         if (!string.IsNullOrEmpty(GroupNameBox.Text) && GroupNameBox.Text.Length > 3)
         {
             using (StudentDBDataContext con = new StudentDBDataContext(conn_str))
             {
                 var existingGroups = con.GetTable <StudentSkupina>().Where(x => x.Nazov == GroupNameBox.Text && x.Id_User == currentUser.Id);
                 if (existingGroups.Count() > 0)
                 {
                     MessageBox.Show("Skupina s týmto názvom už existuje, prosím zvoľte iný názov skupiny", "Upozornenie", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                     return;
                 }
                 var newGroup = new StudentSkupina()
                 {
                     Id_User = currentUser.Id,
                     Nazov   = GroupNameBox.Text,
                     Forma   = (string)FormCombo.SelectedItem
                 };
                 con.StudentSkupinas.InsertOnSubmit(newGroup);
                 con.SubmitChanges();
             }
         }
         else
         {
             MessageBox.Show("Názov skupiny musí obsahovať viac ako 3 znaky");
             return;
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
        private void DeleteWholeGroupData(User currentUser, StudentSkupina currentGroup)
        {
            try
            {
                UseWaitCursor = true;
                using (var con = new StudentDBDataContext(conn_str))
                {
                    var students = con.GetTable <Student>().Where(x => x.ID_stud_skupina == currentGroup.Id);

                    foreach (var student in students)
                    {
                        var totalAttendance = con.GetTable <TotalAttendance>().Where(x => x.IdStudent == student.Id).FirstOrDefault();
                        con.TotalAttendances.DeleteOnSubmit(totalAttendance);
                        con.SubmitChanges();

                        var attendance = con.GetTable <AttendanceStud>().Where(x => x.IDSkupina == group.Id);
                        con.AttendanceStuds.DeleteAllOnSubmit(attendance);
                        con.SubmitChanges();

                        var tasks = con.GetTable <Task>().Where(x => x.IdStudent == student.Id);
                        con.Tasks.DeleteAllOnSubmit(tasks);
                        con.SubmitChanges();

                        var activity = con.GetTable <Activity>().Where(x => x.IdStudent == student.Id);
                        con.Activities.DeleteAllOnSubmit(activity);
                        con.SubmitChanges();

                        var studentId = student.Id;



                        var finalGrade = con.GetTable <FinalGrade>().Where(x => x.IdStudent == studentId);
                        con.FinalGrades.DeleteAllOnSubmit(finalGrade);
                        con.SubmitChanges();

                        con.Students.DeleteOnSubmit(student);
                        con.SubmitChanges();
                    }
                }

                UseWaitCursor = false;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                Logger logger = new Logger();
                logger.LogError(ex);
            }
        }
        public IndividualActivity(User user, StudentSkupina skup)
        {
            MaterialSkin.MaterialSkinManager skinManager = MaterialSkin.MaterialSkinManager.Instance;
            skinManager.EnforceBackcolorOnAllComponents = false;
            skinManager.AddFormToManage(this);
            skinManager.Theme       = MaterialSkin.MaterialSkinManager.Themes.LIGHT;
            skinManager.ColorScheme = new MaterialSkin.ColorScheme(MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Accent.Blue400,
                                                                   MaterialSkin.TextShade.WHITE);
            InitializeComponent();


            currUser = user;
            skupina  = skup;
            GetTableActivity();
        }
        public Email_Client(User activeUser, StudentSkupina skup)
        {
            InitializeComponent();
            MaterialSkin.MaterialSkinManager skinManager = MaterialSkin.MaterialSkinManager.Instance;
            skinManager.EnforceBackcolorOnAllComponents = false;

            skinManager.AddFormToManage(this);
            skinManager.Theme       = MaterialSkin.MaterialSkinManager.Themes.LIGHT;
            skinManager.ColorScheme = new MaterialSkin.ColorScheme(MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Accent.Blue400,
                                                                   MaterialSkin.TextShade.WHITE);

            currentUser = activeUser;
            group       = skup;

            try
            {
                using (StudentDBDataContext con = new StudentDBDataContext(conn_str))
                {
                    var user       = con.GetTable <User>().Where(x => x.Id == currentUser.Id).FirstOrDefault();
                    var actTempLec = con.GetTable <ActivityTemplate>().Where(x => x.Id == user.PointsForActLec).FirstOrDefault();
                    var actTempSem = con.GetTable <ActivityTemplate>().Where(x => x.Id == user.PointsForActSem).FirstOrDefault();

                    ABox.Text     = user.AGrade.ToString();
                    BBox.Text     = user.BGrade.ToString();
                    CBox.Text     = user.CGrade.ToString();
                    DBox.Text     = user.DGrade.ToString();
                    EBox.Text     = user.EGrade.ToString();
                    textBox1.Text = user.ApiKey;
                    textBox2.Text = user.Email;
                    materialMultiLineTextBox1.Text = user.Signature;
                    LoadComboBoxes(activeUser);

                    if (actTempSem != null && comboBox1.Items.Count > 0)
                    {
                        comboBox1.SelectedItem = actTempSem.ActivityName;
                    }
                    if (actTempLec != null && comboBox1.Items.Count > 0)
                    {
                        comboBox2.SelectedItem = actTempLec.ActivityName;
                    }
                }
            }
            catch (Exception ex)
            {
                Logger logger = new Logger();
                logger.LogError(ex);
            }
        }
        public Statistics(User user, StudentSkupina skupina)
        {
            InitializeComponent();
            MaterialSkin.MaterialSkinManager skinManager = MaterialSkin.MaterialSkinManager.Instance;
            skinManager.AddFormToManage(this);
            skinManager.Theme       = MaterialSkin.MaterialSkinManager.Themes.LIGHT;
            skinManager.ColorScheme = new MaterialSkin.ColorScheme(MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Accent.Blue400,
                                                                   MaterialSkin.TextShade.WHITE);

            currentUser  = user;
            currentGroup = skupina;


            LoadPieCombo();

            comboBox1.SelectedIndex = 1;
            comboBox4.SelectedIndex = 0;
        }
        public AddStudentForm(User user, StudentSkupina skupina)
        {
            InitializeComponent();
            MaterialSkin.MaterialSkinManager skinManager = MaterialSkin.MaterialSkinManager.Instance;
            skinManager.EnforceBackcolorOnAllComponents = false;

            skinManager.AddFormToManage(this);
            skinManager.Theme       = MaterialSkin.MaterialSkinManager.Themes.LIGHT;
            skinManager.ColorScheme = new MaterialSkin.ColorScheme(MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Accent.Blue400,
                                                                   MaterialSkin.TextShade.WHITE);

            currUser = user;
            skup     = skupina;

            try
            {
                using (StudentDBDataContext con = new StudentDBDataContext(conn_str))
                {
                    var students = con.GetTable <Student>().Where(x => x.ID_stud_skupina == skup.Id);
                    if (students.Count() > 0)
                    {
                        var kruzok = from stud in students where stud.ID_stud_skupina == skup.Id select(string) stud.IdGroupForAttendance;

                        kruzok.ToList <string>();
                        /// Nacitanie existujucich kruzkov do comboboxov
                        foreach (var kruz in kruzok.Distinct())
                        {
                            if (!GroupAttCombo.Items.Contains(kruz))
                            {
                                GroupAttCombo.Items.Add(kruz);
                                GroupCombo.Items.Add(kruz);
                            }
                        }
                    }
                    RadioCheck();
                }
            }
            catch (Exception ex)
            {
                Logger logger = new Logger();
                logger.LogError(ex);
            }
        }
Exemple #10
0
        public CreateActivity(User currentUser, StudentSkupina skup)
        {
            InitializeComponent();
            studentSkup = skup;
            MaterialSkin.MaterialSkinManager skinManager = MaterialSkin.MaterialSkinManager.Instance;
            skinManager.EnforceBackcolorOnAllComponents = false;

            skinManager.AddFormToManage(this);
            skinManager.Theme       = MaterialSkin.MaterialSkinManager.Themes.LIGHT;
            skinManager.ColorScheme = new MaterialSkin.ColorScheme(MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Accent.Blue400,
                                                                   MaterialSkin.TextShade.WHITE);
            currUser = currentUser;
            dateTimePicker2.Format       = DateTimePickerFormat.Custom;
            dateTimePicker2.CustomFormat = "HH:mm";
            dateTimePicker2.ShowUpDown   = true;

            GetTableActivity();
            groupCmbo.SelectedIndex = 0;
        }
        public EmailSendingForm(User user, StudentSkupina skupina)
        {
            InitializeComponent();
            MaterialSkin.MaterialSkinManager skinManager = MaterialSkin.MaterialSkinManager.Instance;
            skinManager.EnforceBackcolorOnAllComponents = false;
            skinManager.AddFormToManage(this);
            skinManager.Theme       = MaterialSkin.MaterialSkinManager.Themes.LIGHT;
            skinManager.ColorScheme = new MaterialSkin.ColorScheme(MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Accent.Blue400,
                                                                   MaterialSkin.TextShade.WHITE);
            currentUser  = user;
            currentGroup = skupina;
            StudentDBDataContext con = new StudentDBDataContext(conn_str);


            var students    = con.GetTable <Student>();
            var groups      = con.GetTable <StudentSkupina>().Where(x => x.Id == skupina.Id);
            var skup        = from student in students where student.ID_stud_skupina == currentGroup.Id select new { student.Meno, student.Email, student.Priezvisko, student.Email_UCM };
            var columnWidth = new int[] { 100, 120 };

            autocompleteMenu1.MaximumSize = new System.Drawing.Size(250, 200);
            foreach (var student in skup)
            {
                autocompleteMenu1.AddItem(new MulticolumnAutocompleteItem(new[] { RWS(student.Meno) + " " + RWS(student.Priezvisko), RWS(student.Email) }, RWS(student.Email))
                {
                    ColumnWidth = columnWidth
                });
                autocompleteMenu1.AddItem(new MulticolumnAutocompleteItem(new[] { "", RWS(student.Email_UCM) }, RWS(student.Email_UCM))
                {
                    ColumnWidth = columnWidth
                });
            }

            var kruzok = from stud in students where stud.ID_stud_skupina == skupina.Id select(string) stud.ID_Kruzok;

            kruzok.ToList <string>();

            foreach (var kruz in kruzok.Distinct())
            {
                GroupComboEmail.Items.Add(kruz);
            }
            autocompleteMenu1.Enabled      = true;
            autocompleteMenu1.AllowsTabKey = true;
        }
        public GradeActivityForm(StudentSkupina grp, Student stud, Activity activ)
        {
            InitializeComponent();
            MaterialSkin.MaterialSkinManager skinManager = MaterialSkin.MaterialSkinManager.Instance;
            skinManager.EnforceBackcolorOnAllComponents = false;

            skinManager.AddFormToManage(this);
            skinManager.Theme       = MaterialSkin.MaterialSkinManager.Themes.LIGHT;
            skinManager.ColorScheme = new MaterialSkin.ColorScheme(MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Accent.Blue400,
                                                                   MaterialSkin.TextShade.WHITE);
            currGroup    = grp;
            currStud     = stud;
            currActivity = activ;
            NewActivityTab(currActivity);
            NewTaskTab(currActivity, currStud);
            var width = MaterialTabCOntrol.Controls.Count * 50;

            Drawer.Size = new Size(250, width);
        }
Exemple #13
0
 // Otvorenie inej skupiny v rámci skupín používateľa
 private void Open_Btn_Click(object sender, EventArgs e)
 {
     try
     {
         var          choose = new Choose_Group(currentUser);
         DialogResult result = choose.ShowDialog();
         if (result == DialogResult.Yes)
         {
             studentSkupina = choose.GetGroup();
         }
         Student_Grid.DataSource  = null;
         Activity_Grid.DataSource = null;
         GetTable();
         GetActivities();
     }
     catch (Exception ex)
     {
         Logger logger = new Logger();
         logger.LogError(ex);
     }
 }
        public Dochádzka(StudentSkupina studentSkupina)
        {
            InitializeComponent();
            MaterialSkin.MaterialSkinManager skinManager = MaterialSkin.MaterialSkinManager.Instance;
            skinManager.EnforceBackcolorOnAllComponents = false;

            skinManager.AddFormToManage(this);
            skinManager.Theme       = MaterialSkin.MaterialSkinManager.Themes.LIGHT;
            skinManager.ColorScheme = new MaterialSkin.ColorScheme(MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Primary.BlueGrey500, MaterialSkin.Accent.Blue400,
                                                                   MaterialSkin.TextShade.WHITE);

            StudentSkup = studentSkupina;

            dateTimePicker2.Format       = DateTimePickerFormat.Custom;
            dateTimePicker2.CustomFormat = "HH:mm";
            dateTimePicker2.ShowUpDown   = true;

            //Pritomnost
            comboBox2.Items.Add("Prítomný");
            comboBox2.Items.Add("Neprítomný");
            comboBox2.Items.Add("Ospravedlnené");
            comboBox2.Items.Add("Zrušené");

            //Filter combobox
            comboBox4.Items.Add("Posledný deň");
            comboBox4.Items.Add("Všetka dochádzka");
            comboBox4.Items.Add("Dátum");
            comboBox4.Items.Add("Status");
            comboBox4.Items.Add("Krúžok");
            comboBox4.Items.Add("Študent");

            comboBox2.DropDownStyle = ComboBoxStyle.DropDownList;
            comboBox2.SelectedItem  = comboBox2.Items[0];
            comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
            comboBox4.SelectedItem  = comboBox4.Items[0];

            using (StudentDBDataContext con = new StudentDBDataContext(conn_str))
            {
                var students = con.GetTable <Student>();
                var groups   = con.GetTable <StudentSkupina>().Where(x => x.Id == StudentSkup.Id);
                var skup     = from student in students where student.ID_stud_skupina == StudentSkup.Id select new { student.Meno, student.Priezvisko, student.Id };
                var kruzok   = from stud in students where stud.ID_stud_skupina == StudentSkup.Id select(string) stud.ID_Kruzok;

                foreach (var stud in students.Where(x => x.ID_stud_skupina == StudentSkup.Id))
                {
                    comboBox3.Items.Add(RWS(stud.Meno) + " " + RWS(stud.Priezvisko));
                    studentsManual.Add(RWS(stud.Meno) + " " + RWS(stud.Priezvisko), stud.Id);
                }

                //Pridanie kruzkov do comboboxu
                var studs = con.GetTable <Student>();
                kruzok.ToList <string>();
                comboBox1.Items.Add("Všetky");
                foreach (var kruz in kruzok.Distinct())
                {
                    comboBox1.Items.Add(kruz);
                }
            }
            comboBox1.SelectedItem = comboBox1.Items[0];

            Filter();
        }
        public void Querys(StudentSkupina skupina)
        {
            try
            {
                group = skupina;
                var path = SelectPath();

                if (path != "Cancel")
                {
                    if ((File.GetAttributes(path) & FileAttributes.ReadOnly) > 0)
                    {
                        MessageBox.Show("Excel súbor je iba na čítanie");
                        return;
                    }

                    string constr   = ExcelConnection(path);
                    var    excelCon = new OleDbConnection(constr);

                    OleDbCommand Ecom = new OleDbCommand(query, excelCon);
                    excelCon.Open();

                    DataSet          excelDataSet = new DataSet();
                    OleDbDataAdapter adapter      = new OleDbDataAdapter(query, excelCon);
                    adapter.Fill(excelDataSet);
                    excelCon.Close();

                    DataTable excelDataTable = excelDataSet.Tables[0];
                    for (int i = excelDataTable.Rows.Count - 1; i >= 0; i--)
                    {
                        if ((string)excelDataTable.Rows[i].ItemArray[5] == "A")
                        {
                            didntHappened = true;

                            notAddedStuds.Add(i + 7);
                            excelDataTable.Rows[i].Delete();
                        }
                    }
                    excelDataTable.AcceptChanges();

                    using (var con = new StudentDBDataContext(conn))
                    {
                        for (int i = 0; i <= excelDataTable.Rows.Count - 1; i++)
                        {
                            var form = (string)excelDataTable.Rows[i].ItemArray[2];
                            if (form.ElementAt(form.Length - 3) == 'D' && !skupina.Forma.Contains("Denná") || form.ElementAt(form.Length - 3) == 'E' && !skupina.Forma.Contains("Externá"))
                            {
                                didntHappened = false;
                                warnUser      = true;
                                continue;
                            }

                            string isic = null;
                            if (!string.IsNullOrEmpty((string)excelDataTable.Rows[i].ItemArray[5]))
                            {
                                isic = excelDataTable.Rows[i].ItemArray[5].ToString().Remove(0, 5);
                            }

                            Student students = new Student
                            {
                                Meno                 = excelDataTable.Rows[i].ItemArray[0].ToString(),
                                Priezvisko           = excelDataTable.Rows[i].ItemArray[1].ToString(),
                                Stud_program         = excelDataTable.Rows[i].ItemArray[2].ToString(),
                                ID_stud_skupina      = skupina.Id,
                                ID_Kruzok            = excelDataTable.Rows[i].ItemArray[3].ToString(),
                                IdGroupForAttendance = excelDataTable.Rows[i].ItemArray[3].ToString(),
                                Email                = excelDataTable.Rows[i].ItemArray[8].ToString(),
                                Email_UCM            = excelDataTable.Rows[i].ItemArray[7].ToString(),
                                Rocnik               = Convert.ToInt32(excelDataTable.Rows[i].ItemArray[6]),
                                ISIC                 = isic,
                                Forma                = skupina.Forma
                            };

                            if (!Exists(students))
                            {
                                con.Students.InsertOnSubmit(students);
                                con.SubmitChanges();
                            }
                            else
                            {
                                continue;
                            }
                        }
                        ;

                        if (warnUser == true)
                        {
                            MessageBox.Show("Nie je možné pridávať študentov externej formy do skupiny určenej pre denných študentov.", "Upozornenie");
                        }
                        if (notAddedStuds.Count >= 1 && didntHappened == true)
                        {
                            string warning = $"Študenti z tabuľky na pozíciach" + " " + string.Join(string.Empty, notAddedStuds.ToArray()) + " " + "neboli pridaný";
                            MessageBox.Show(warning);
                        }
                    }
                }
                else
                {
                    return;
                }
            }
            catch (Exception ex)
            {
                if (ex.Message == "External table is not in the expected format.")
                {
                    MessageBox.Show("Otvorte súbor manuálne a skúste znovu importovať. Ak sa chyba opakuje, je nutné súbor znovu uložiť ako .xlsx", "Chyba pri načítaní súboru", MessageBoxButtons.OK);
                    return;
                }
                else
                {
                    Logger logger = new Logger();
                    logger.LogError(ex);
                    MessageBox.Show("Vybrali ste nesprávny súbor alebo štruktúra súboru je chybná", "Chyba pri načítaní súboru", MessageBoxButtons.OK);
                }
            }
        }