public ActionResult Create(Team t)
 {
     t.CreatedDate = DateTime.Now;
     db.Teams.Add(t);
     db.SaveChanges();
     return(RedirectToAction("Index"));
 }
Exemple #2
0
        private void DeleteStudentAndCredentials(int studentId)
        {
            Student s = new Student {
                StudentId = studentId
            };

            try
            {
                s = DeleteUserWebsiteFTPDatabase(studentId);
                db.SaveChanges();
            }
            catch (Exception)
            {
                RollbackOnError(BatchState.State, s.Credentials.FTPUserName);
                throw;
            }
        }
        private void btnDeleteTeam(object sender, EventArgs e)
        {
            try
            {
                Team         t           = db.Teams.Find(((Team)lbExistingTeams.SelectedItem).TeamId);
                string       warningText = "Er du sikker på, at du vil slette holdet: " + t.Name + " og alle studerende tilknyttet?\nDenne operation sletter også deres Websites, FTP Directory og Database, samt login til alle disse";
                DialogResult result      = MessageBox.Show(warningText, "Advarsel!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

                if (result == DialogResult.Yes)
                {
                    //Find oprettede brugere på det angivne hold, der skal laves en ToList, da DeleteUserWebsiteFTPDatabase ellers ændrer i collectionen, der køres foreach over(må man ikke )
                    var students = t.Students.ToList();
                    //Sletter Windows bruger, IIS Website, IIS FTP (VirtualDirectory), Database, samt databaseserver login, for hver funden bruger.
                    foreach (var item in students)
                    {
                        _userInteraction.DeleteUserWebsiteFTPDatabase(item.StudentId);
                    }

                    //sletter herefter holdet i databasen, og gemmer ændringerne til databasen.
                    db.Teams.Remove(t);
                    db.SaveChanges();

                    //opdaterer GUI, så det fjernede hold ikke længere er der.
                    cbTeam.Items.Remove(t);
                    cbTeamMany.Items.Remove(t);
                    lbExistingTeams.Items.Remove(t);
                    comboCredentialsTeam.Items.Remove(t);

                    BatchState.State = UserProcessState.INITIAL;
                    MessageBox.Show("Team, Students and credentials removed, aswell as FTP Virtual directory, Website and Windows User Credentials");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Der er sket en fejl:\n" + ex.Message, "Fejl", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public ActionResult Edit(Student student)
        {
            Student s = db.Students.Find(student.TeamId);

            if (TryUpdateModel <Student>(student))
            {
                try
                {
                    db.Entry(student).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", "Error updating model " + ex.Message);
                }
            }
            return(RedirectToAction("Index"));
        }
Exemple #5
0
 public void InsertUserWithCredentialsOnTeam(Student student, Credentials cred, int teamId)
 {
     try
     {
         using (StudentsModel ctx = new StudentsModel())
         {
             student.Credentials = cred;
             student.TeamId      = teamId;
             ctx.Students.Add(student);
             ctx.SaveChanges();
             BatchState.State = UserProcessState.SQL_INSERT_USER_DATA_OK;
         }
     }
     catch (Exception)
     {
         BatchState.State = UserProcessState.SQL_INSERT_USER_DATA_ERROR;
         throw;
     }
 }