public ActionResult getEmployeeListData()
        {
            EmployeeTrainingViewModel model = new EmployeeTrainingViewModel();

            model.BindEmployeeList = _EmployeeTrainingMethod.GetAllEmployeeList();
            return(Json(model, JsonRequestBehavior.AllowGet));
        }
        //
        // GET: /EmployeeTraining/
        public ActionResult Index(int EmployeeId)
        {
            EmployeeTrainingViewModel model = new EmployeeTrainingViewModel();

            model.CurrentUserId = EmployeeId;
            return(View(model));
        }
Exemple #3
0
        public ActionResult AssignTraining(int id)
        {
            var trainingOptions = GetAvaialbleTrainingOptions(id);
            var viewModel       = new EmployeeTrainingViewModel()
            {
                Id = id,
                AvailableTrainingPrograms = trainingOptions
            };

            return(View(viewModel));
        }
        public ActionResult SavData(EmployeeTrainingViewModel model)
        {
            int userId = SessionProxy.UserId;

            model.CurrentUserId = userId;
            JavaScriptSerializer js = new JavaScriptSerializer();

            model.ListDocument = js.Deserialize <List <AdminTraningDocumentViewModel> >(model.TraingDocumentList);
            _EmployeeTrainingMethod.SaveTrainingdSet(model, userId);
            List <EmployeeTrainingViewModel> modelList = returnList();

            return(PartialView("_PartialTrainingList", modelList));
        }
Exemple #5
0
        public List <EmployeeTrainingViewModel> returnList(int Id)
        {
            EmployeeTrainingViewModel models = new EmployeeTrainingViewModel();
            //List<EmployeeTraining> datass = _EmployeeTrainingMethod.getAllList().ToList();
            List <EmployeeTraining>          data  = _EmployeeTrainingMethod.getAllListByEmployee(Id).ToList();
            List <EmployeeTrainingViewModel> model = new List <EmployeeTrainingViewModel>();

            foreach (var item in data)
            {
                var    employeeName = _employeeMethod.getEmployeeById(item.EmployeeId);
                string Name         = string.Format("{0} {1}", employeeName.FirstName, employeeName.LastName);
                EmployeeTrainingViewModel training = new EmployeeTrainingViewModel();
                training.Id           = item.Id;
                training.EmployeeName = Name;
                if (item.TrainingNameId != null)
                {
                    training.TrainingName = _EmployeeTrainingMethod.getTrainingById(Convert.ToInt32(item.TrainingNameId));
                }
                if (item.Id != null)
                {
                    training.ImportanceName = _EmployeeTrainingMethod.GetImportnceNameById(Convert.ToInt32(item.Id));
                }
                if (item.Status != 0)
                {
                    training.StatusName = _EmployeeTrainingMethod.getTrainingStatusById(Convert.ToInt32(item.Status));
                }

                var TrainingStatus = _otherSettingMethod.getAllSystemValueListByKeyName("Traning Status List");

                //foreach (var items in TrainingStatus)
                //{

                //    training.StatusName += items.Value;
                //}
                training.Progress   = item.Progress;
                training.StartDate  = String.Format("{0:dd-MMM-yyy}", item.StartDate);
                training.EndDate    = String.Format("{0:dd-MMM-yyy}", item.EndDate);
                training.ExpiryDate = String.Format("{0:dd-MMM-yyy}", item.ExpiryDate);
                model.Add(training);
            }
            return(model);
        }
Exemple #6
0
        public ActionResult AssignTraining(EmployeeTrainingViewModel employee)
        {
            bool isEmpty = !employee.TrainingProgramIds.Any();

            try
            {
                using (SqlConnection conn = Connection)
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        if (isEmpty)
                        {
                            return(RedirectToAction(nameof(Details), new { id = employee.Id }));
                        }
                        else
                        {
                            for (int index = 0; index < employee.TrainingProgramIds.Count; index++)
                            {
                                cmd.CommandText = @"INSERT INTO EmployeeTraining (EmployeeId, TrainingProgramId)
                                                VALUES (@employeeId, @trainingProgramId)";

                                cmd.Parameters.Add(new SqlParameter("@employeeId", employee.Id));
                                cmd.Parameters.Add(new SqlParameter("@trainingProgramId", employee.TrainingProgramIds.ElementAt(index)));

                                cmd.ExecuteNonQuery();
                                cmd.Parameters.Clear();
                            }
                            return(RedirectToAction(nameof(Details), new { id = employee.Id }));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(View(employee));
            }
        }
        public List <EmployeeTrainingViewModel> returnList()
        {
            List <EmployeeTraining> data = _EmployeeTrainingMethod.getAllList().Where(x => x.EmployeeId == SessionProxy.UserId).ToList();
            //    List<EmployeeTraining> data = _EmployeeTrainingMethod.getAllListByEmployee(Id).ToList();
            List <EmployeeTrainingViewModel> model = new List <EmployeeTrainingViewModel>();

            foreach (var item in data)
            {
                var    employeeName = _employeeMethod.getEmployeeById(item.EmployeeId);
                string Name         = string.Format("{0} {1}", employeeName.FirstName, employeeName.LastName);
                EmployeeTrainingViewModel training = new EmployeeTrainingViewModel();
                training.Id           = item.Id;
                training.EmployeeName = Name;
                if (item.TrainingNameId != null)
                {
                    training.TrainingName = _EmployeeTrainingMethod.getTrainingById(Convert.ToInt32(item.TrainingNameId));
                }
                if (item.Id != null)
                {
                    training.ImportanceName = _EmployeeTrainingMethod.GetImportnceNameById(Convert.ToInt32(item.Id));
                }
                if (item.Status != 0)
                {
                    training.StatusName = _EmployeeTrainingMethod.getTrainingStatusById(Convert.ToInt32(item.Status));
                }
                else
                {
                    training.StatusName = "";
                }
                training.Progress   = item.Progress;
                training.StartDate  = String.Format("{0:dd-MMM-yyy}", item.StartDate);
                training.EndDate    = String.Format("{0:dd-MMM-yyy}", item.EndDate);
                training.ExpiryDate = String.Format("{0:dd-MMM-yyy}", item.ExpiryDate);
                model.Add(training);
            }
            return(model);
        }
Exemple #8
0
        public ActionResult CreateEmployeeTraining(int id, EmployeeTrainingViewModel model)
        {
            try
            {
                using (SqlConnection conn = Connection)
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        DateTime today = DateTime.Today;

                        cmd.CommandText = @"DELETE et FROM EmployeeTraining et
                        JOIN TrainingProgram tp ON et.TrainingProgramId = tp.Id
                        WHERE et.EmployeeId = @id
                        AND tp.EndDate > @today
                        ";

                        cmd.Parameters.Add(new SqlParameter("@id", id));
                        cmd.Parameters.Add(new SqlParameter("@today", today));

                        model.selectedPrograms.ForEach(selectedProgram =>
                        {
                            cmd.CommandText += $"INSERT INTO EmployeeTraining (EmployeeId, TrainingProgramId) VALUES ({id}, {selectedProgram}) ";
                        });

                        cmd.ExecuteNonQuery();

                        return(RedirectToAction(nameof(Index)));
                    }
                }
            }
            catch (Exception e)
            {
                return(View());
            }
        }
        public List <EmployeeTrainingViewModel> returnList()
        {
            int currUserId = SessionProxy.UserId;
            List <EmployeeTrainingViewModel> model = new List <EmployeeTrainingViewModel>();
            var aspdata = _db.AspNetUsers.Where(x => x.Archived == false && x.Id == currUserId).FirstOrDefault();

            if (aspdata != null)
            {
                if (aspdata.SSOID.StartsWith("C"))
                {
                    string   customerCareID = aspdata.CustomerCareID;
                    string[] EmpId          = customerCareID.Split(',');
                    for (int i = 0; i < EmpId.Length; i++)
                    {
                        int EmpID = Convert.ToInt32(EmpId[i]);
                        List <EmployeeTraining> data = _EmployeeTrainingMethod.getAllList().Where(x => x.EmployeeId == EmpID).ToList();
                        foreach (var item in data)
                        {
                            var    employeeName = _employeeMethod.getEmployeeById(item.EmployeeId);
                            var    empdata      = _db.AspNetUsers.Where(x => x.Id == item.EmployeeId && x.Archived == false).FirstOrDefault();
                            string Name         = string.Format("{0} {1}", employeeName.FirstName, employeeName.LastName);
                            EmployeeTrainingViewModel training = new EmployeeTrainingViewModel();
                            training.Id = item.Id;
                            if (empdata != null)
                            {
                                training.FileName = empdata.image;
                            }
                            else
                            {
                                training.FileName = null;
                            }
                            training.EmployeeName = Name;
                            if (item.TrainingNameId != null)
                            {
                                training.TrainingName = _EmployeeTrainingMethod.getTrainingById(Convert.ToInt32(item.TrainingNameId));
                            }
                            if (item.Id != null)
                            {
                                training.ImportanceName = _EmployeeTrainingMethod.GetImportnceNameById(Convert.ToInt32(item.Id));
                            }
                            if (item.Status != null)
                            {
                                training.StatusName = _EmployeeTrainingMethod.getTrainingStatusById(Convert.ToInt32(item.Status));
                            }
                            training.Progress   = item.Progress;
                            training.StartDate  = String.Format("{0:dd-MMM-yyy}", item.StartDate);
                            training.EndDate    = String.Format("{0:dd-MMM-yyy}", item.EndDate);
                            training.ExpiryDate = String.Format("{0:dd-MMM-yyy}", item.ExpiryDate);
                            training.Flag       = 1;
                            model.Add(training);
                        }
                    }
                }
                else
                {
                    List <EmployeeTraining> data = _EmployeeTrainingMethod.getAllList().ToList();
                    if (data.Count > 0)
                    {
                        foreach (var item in data)
                        {
                            EmployeeTrainingViewModel training = new EmployeeTrainingViewModel();
                            var employeeName = _employeeMethod.getEmployeeById(item.EmployeeId);
                            var empdata      = _db.AspNetUsers.Where(x => x.Id == item.EmployeeId && x.Archived == false).FirstOrDefault();
                            if (empdata != null)
                            {
                                string Name = string.Format("{0} {1}", employeeName.FirstName, employeeName.LastName);
                                training.EmployeeName = Name;
                            }

                            training.Id = item.Id;
                            if (empdata != null)
                            {
                                training.FileName = empdata.image;
                            }
                            else
                            {
                                training.FileName = null;
                            }

                            if (item.TrainingNameId != null)
                            {
                                training.TrainingName = _EmployeeTrainingMethod.getTrainingById(Convert.ToInt32(item.TrainingNameId));
                            }
                            if (item.Id != null)
                            {
                                training.ImportanceName = _EmployeeTrainingMethod.GetImportnceNameById(Convert.ToInt32(item.Id));
                            }
                            if (item.Status != null)
                            {
                                training.StatusName = _EmployeeTrainingMethod.getTrainingStatusById(Convert.ToInt32(item.Status));
                            }
                            training.Progress   = item.Progress;
                            training.StartDate  = String.Format("{0:dd-MMM-yyy}", item.StartDate);
                            training.EndDate    = String.Format("{0:dd-MMM-yyy}", item.EndDate);
                            training.ExpiryDate = String.Format("{0:dd-MMM-yyy}", item.ExpiryDate);
                            model.Add(training);
                        }
                    }
                }
            }
            return(model);
        }
        public ActionResult AddEditTrainingSet(int Id)
        {
            EmployeeTrainingViewModel model = new EmployeeTrainingViewModel();

            model.Id = Id;
            if (Id > 0)
            {
                var hr_Training = _EmployeeTrainingMethod.GetTrainingListById(Id);
                model.BindEmployeeList = _EmployeeTrainingMethod.GetEmployeeList(hr_Training.EmployeeId);
                int CmpId = Convert.ToInt32(hr_Training.EmployeeId);
                if (CmpId != 0)
                {
                    var Employee = _db.AspNetUsers.Where(x => x.Id == CmpId).FirstOrDefault();
                    model.EmployeeName = Employee.FirstName + " " + Employee.LastName + " " + Employee.SSOID;
                    model.EmployeeId   = Convert.ToInt32(hr_Training.EmployeeId);
                }

                var Training = _otherSettingMethod.getAllSystemValueListByKeyName("Training List");
                foreach (var item in Training)
                {
                    if (item.Id == hr_Training.TrainingNameId)
                    {
                        model.BindTrainingList.Add(new SelectListItem()
                        {
                            Text = @item.Value, Value = @item.Id.ToString(), Selected = true
                        });
                    }
                    else
                    {
                        model.BindTrainingList.Add(new SelectListItem()
                        {
                            Text = @item.Value, Value = @item.Id.ToString()
                        });
                    }
                }
                var TrainingStatus = _otherSettingMethod.getAllSystemValueListByKeyName("Traning Status List");
                foreach (var item in TrainingStatus)
                {
                    if (item.Id == hr_Training.Status)
                    {
                        model.BindTrainingStatusList.Add(new SelectListItem()
                        {
                            Text = @item.Value, Value = @item.Id.ToString(), Selected = true
                        });
                    }
                    else
                    {
                        model.BindTrainingStatusList.Add(new SelectListItem()
                        {
                            Text = @item.Value, Value = @item.Id.ToString()
                        });
                    }
                }

                model.Description      = hr_Training.Description;
                model.Importance       = hr_Training.Importance;
                model.Progress         = hr_Training.Progress;
                model.StartDate        = String.Format("{0:dd-MM-yyy}", hr_Training.StartDate);
                model.EndDate          = String.Format("{0:dd-MM-yyy}", hr_Training.EndDate);
                model.ExpiryDate       = String.Format("{0:dd-MM-yyy}", hr_Training.ExpiryDate);
                model.Provider         = hr_Training.Provider;
                model.Cost             = hr_Training.Cost;
                model.Notes            = hr_Training.Notes;
                model.CustomFieldsJSON = hr_Training.CustomFieldsJSON;
                var TraingDoument = _EmployeeTrainingMethod.getTrainigDocumentByCaseId(Id);
                foreach (var item in TraingDoument)
                {
                    AdminTraningDocumentViewModel docModel = new AdminTraningDocumentViewModel();
                    docModel.Id           = item.Id;
                    docModel.originalName = item.OriginalName;
                    docModel.newName      = item.NewName;
                    docModel.description  = item.Description;
                    model.ListDocument.Add(docModel);
                }
            }
            else
            {
                model.Importance = 0;
                //       model.BindEmployeeList = _EmployeeTrainingMethod.GetAllEmployeeList();
                var Training = _otherSettingMethod.getAllSystemValueListByKeyName("Training List");
                model.BindTrainingList.Add(new SelectListItem()
                {
                    Text = "-- Select Training --", Value = "0"
                });
                foreach (var item in Training)
                {
                    model.BindTrainingList.Add(new SelectListItem()
                    {
                        Text = @item.Value, Value = @item.Id.ToString()
                    });
                }
                var TrainingStatus = _otherSettingMethod.getAllSystemValueListByKeyName("Traning Status List");
                model.BindTrainingStatusList.Add(new SelectListItem()
                {
                    Text = "-- Select Training Status--", Value = "0"
                });
                foreach (var item in TrainingStatus)
                {
                    model.BindTrainingStatusList.Add(new SelectListItem()
                    {
                        Text = @item.Value, Value = @item.Id.ToString()
                    });
                }
            }
            return(PartialView("_PartialTrainingAddSet", model));
        }
        public ActionResult AddEditTrainingSet(int Id, int EmployeeId)
        {
            EmployeeTrainingViewModel model = new EmployeeTrainingViewModel();

            model.Id = Id;
            if (Id > 0)
            {
                var hr_Training = _EmployeeTrainingMethod.GetTrainingListById(Id);

                var Status = _EmployeeTrainingMethod.getTrainingStatusById(Convert.ToInt32(hr_Training.Status));
                model.BindEmployeeList = _EmployeeTrainingMethod.GetEmployeeList(hr_Training.EmployeeId);
                var Training = _otherSettingMethod.getAllSystemValueListByKeyName("Training List");
                foreach (var item in Training)
                {
                    if (item.Id == hr_Training.TrainingNameId)
                    {
                        model.BindTrainingList.Add(new SelectListItem()
                        {
                            Text = @item.Value, Value = @item.Id.ToString(), Selected = true
                        });
                    }
                    else
                    {
                        model.BindTrainingList.Add(new SelectListItem()
                        {
                            Text = @item.Value, Value = @item.Id.ToString()
                        });
                    }
                }
                var TrainingStatus = _otherSettingMethod.getAllSystemValueListByKeyName("Traning Status List");
                foreach (var item in TrainingStatus)
                {
                    if (item.Value == Status)
                    {
                        model.BindTrainingStatusList.Add(new SelectListItem()
                        {
                            Text = @item.Value, Value = @item.Id.ToString(), Selected = true
                        });
                    }
                    else
                    {
                        model.BindTrainingStatusList.Add(new SelectListItem()
                        {
                            Text = @item.Value, Value = @item.Id.ToString()
                        });
                    }

                    ;
                }

                model.Description = hr_Training.Description;
                model.Importance  = hr_Training.Importance;
                model.Progress    = hr_Training.Progress;
                model.StartDate   = String.Format("{0:dd-MM-yyy}", hr_Training.StartDate);
                model.EndDate     = String.Format("{0:dd-MM-yyy}", hr_Training.EndDate);
                model.ExpiryDate  = String.Format("{0:dd-MM-yyy}", hr_Training.ExpiryDate);
                model.Provider    = hr_Training.Provider;
                model.Cost        = hr_Training.Cost;
                model.Notes       = hr_Training.Notes;
                var TraingDoument = _EmployeeTrainingMethod.getTrainigDocumentByCaseId(Id);
                foreach (var item in TraingDoument)
                {
                    AdminTraningDocumentViewModel docModel = new AdminTraningDocumentViewModel();
                    docModel.Id           = item.Id;
                    docModel.originalName = item.OriginalName;
                    docModel.newName      = item.NewName;
                    docModel.description  = item.Description;
                    model.ListDocument.Add(docModel);
                }
            }
            else
            {
                model.BindEmployeeList = _EmployeeTrainingMethod.GetEmployeeList(EmployeeId);
                var hr_Training = _EmployeeTrainingMethod.GetStatusNameById(EmployeeId);
                var Training    = _otherSettingMethod.getAllSystemValueListByKeyName("Training List");
                model.BindTrainingList.Add(new SelectListItem()
                {
                    Text = "-- Select Training --", Value = "0"
                });

                foreach (var item in Training)
                {
                    model.BindTrainingList.Add(new SelectListItem()
                    {
                        Text = @item.Value, Value = @item.Id.ToString()
                    });
                }
                var TrainingStatus = _otherSettingMethod.getAllSystemValueListByKeyName("Traning Status List");
                foreach (var item in TrainingStatus)
                {
                    model.BindTrainingStatusList.Add(new SelectListItem()
                    {
                        Text = @item.Value, Value = @item.Id.ToString(), Selected = true
                    });
                }
            }
            return(PartialView("_PartialTrainingAddSet", model));
        }
        public void SaveTrainingdSet(EmployeeTrainingViewModel model, int userId)
        {
            if (model.Id > 0)
            {
                EmployeeTraining Training = _db.EmployeeTrainings.Where(x => x.Id == model.Id).FirstOrDefault();
                Training.EmployeeId           = model.EmployeeId;
                Training.TrainingNameId       = model.TrainingNameId;
                Training.Description          = model.Description;
                Training.Importance           = model.Importance;
                Training.Status               = model.Status;
                Training.StartDate            = DateTime.ParseExact(model.StartDate, "dd-MM-yyyy", System.Globalization.CultureInfo.InvariantCulture);;
                Training.EndDate              = DateTime.ParseExact(model.EndDate, "dd-MM-yyyy", System.Globalization.CultureInfo.InvariantCulture);;
                Training.ExpiryDate           = DateTime.ParseExact(model.ExpiryDate, "dd-MM-yyyy", System.Globalization.CultureInfo.InvariantCulture);
                Training.Provider             = model.Provider;
                Training.Progress             = model.Progress;
                Training.Cost                 = model.Cost;
                Training.Notes                = model.Notes;
                Training.UserIDCreatedBy      = userId;
                Training.UserIDLastModifiedBy = userId;
                Training.LastModifiedDate     = DateTime.Now;
                Training.Archived             = false;
                Training.IsRead               = false;
                Training.IsReadAddRep         = false;
                Training.IsReadHR             = false;
                Training.IsReadWorker         = false;
                Training.CustomFieldsJSON     = model.CustomFieldsJSON;
                _db.SaveChanges();

                foreach (var item in _db.Training_Document.Where(x => x.TrainingId == Training.Id).ToList())
                {
                    _db.Training_Document.Remove(item);
                    _db.SaveChanges();
                }
                foreach (var item in model.ListDocument)
                {
                    Training_Document TraningDocument = new Training_Document();
                    TraningDocument.TrainingId           = Training.Id;
                    TraningDocument.NewName              = item.newName;
                    TraningDocument.OriginalName         = item.originalName;
                    TraningDocument.Description          = item.description;
                    TraningDocument.Archived             = false;
                    TraningDocument.UserIDCreatedBy      = userId;
                    TraningDocument.CreatedDate          = DateTime.Now;
                    TraningDocument.UserIDLastModifiedBy = userId;
                    TraningDocument.LastModified         = DateTime.Now;
                    _db.Training_Document.Add(TraningDocument);
                    _db.SaveChanges();
                }
            }
            else
            {
                EmployeeTraining Training = new EmployeeTraining();
                Training.EmployeeId           = model.EmployeeId;
                Training.TrainingNameId       = model.TrainingNameId;
                Training.Description          = model.Description;
                Training.Importance           = model.Importance;
                Training.Status               = model.Status;
                Training.StartDate            = DateTime.ParseExact(model.StartDate, "dd-MM-yyyy", System.Globalization.CultureInfo.InvariantCulture);;
                Training.EndDate              = DateTime.ParseExact(model.EndDate, "dd-MM-yyyy", System.Globalization.CultureInfo.InvariantCulture);;
                Training.ExpiryDate           = DateTime.ParseExact(model.ExpiryDate, "dd-MM-yyyy", System.Globalization.CultureInfo.InvariantCulture);
                Training.Provider             = model.Provider;
                Training.Progress             = model.Progress;
                Training.Cost                 = model.Cost;
                Training.Notes                = model.Notes;
                Training.Archived             = false;
                Training.UserIDCreatedBy      = userId;
                Training.UserIDLastModifiedBy = userId;
                Training.CreatedDate          = DateTime.Now;
                Training.CustomFieldsJSON     = model.CustomFieldsJSON;
                _db.EmployeeTrainings.Add(Training);
                _db.SaveChanges();
                foreach (var item in model.ListDocument)
                {
                    Training_Document TrainingDocument = new Training_Document();
                    TrainingDocument.TrainingId           = Training.Id;
                    TrainingDocument.NewName              = item.newName;
                    TrainingDocument.OriginalName         = item.originalName;
                    TrainingDocument.Description          = item.description;
                    TrainingDocument.Archived             = false;
                    TrainingDocument.UserIDCreatedBy      = userId;
                    TrainingDocument.CreatedDate          = DateTime.Now;
                    TrainingDocument.UserIDLastModifiedBy = userId;
                    TrainingDocument.LastModified         = DateTime.Now;
                    _db.Training_Document.Add(TrainingDocument);
                    _db.SaveChanges();
                }
            }
        }
Exemple #13
0
        public ActionResult CreateEmployeeTraining(int id)
        {
            EmployeeTrainingViewModel model = new EmployeeTrainingViewModel();

            using (SqlConnection conn = Connection)
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"
            SELECT e.Id,
                e.FirstName,
                e.LastName
            FROM Employee e WHERE e.Id = @id
        ";
                    cmd.Parameters.Add(new SqlParameter("@id", id));
                    SqlDataReader reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        Employee employee = new Employee
                        {
                            Id        = reader.GetInt32(reader.GetOrdinal("Id")),
                            FirstName = reader.GetString(reader.GetOrdinal("FirstName")),
                            LastName  = reader.GetString(reader.GetOrdinal("LastName"))
                        };

                        model.employee = employee;
                    }
                    reader.Close();

                    DateTime today = DateTime.Today;
                    cmd.CommandText = @"
            SELECT tp.Id,
                tp.Name,
                tp.StartDate,
                tp.EndDate,
                tp.MaxAttendees
            FROM TrainingProgram tp
            WHERE EndDate > @today
        ";

                    cmd.Parameters.Add(new SqlParameter("@today", today));

                    SqlDataReader secondReader = cmd.ExecuteReader();

                    while (secondReader.Read())
                    {
                        TrainingProgram program = new TrainingProgram
                        {
                            Id           = secondReader.GetInt32(secondReader.GetOrdinal("Id")),
                            Name         = secondReader.GetString(secondReader.GetOrdinal("Name")),
                            StartDate    = secondReader.GetDateTime(secondReader.GetOrdinal("StartDate")),
                            EndDate      = secondReader.GetDateTime(secondReader.GetOrdinal("EndDate")),
                            MaxAttendees = secondReader.GetInt32(secondReader.GetOrdinal("MaxAttendees"))
                        };

                        // Use the info to build our SelectListItem
                        SelectListItem trainingProgramOptionTag = new SelectListItem()
                        {
                            Text  = program.Name,
                            Value = program.Id.ToString()
                        };

                        // Add the select list item to our list of dropdown options
                        model.programs.Add(trainingProgramOptionTag);
                    }

                    secondReader.Close();

                    cmd.CommandText = @"
                    SELECT
                    et.TrainingProgramId
                    FROM EmployeeTraining et
                    WHERE et.EmployeeId = @id
                    ";

                    SqlDataReader thirdReader = cmd.ExecuteReader();

                    while (thirdReader.Read())
                    {
                        int currentProgramId = thirdReader.GetInt32(thirdReader.GetOrdinal("TrainingProgramId"));
                        model.selectedPrograms.Add(currentProgramId);
                    }

                    thirdReader.Close();
                }
            }
            return(View(model));
        }