private void btnAddTrainingDepartmentCourseMetaData_Click(object sender, EventArgs e)
 {
     if (this.txtCourseCost.Text.Length > 0)
     {
         using (var DbConnection = new MCDEntities())
         {
             CurriculumCourse newCourseObj = new CurriculumCourse
             {
                 CourseID              = Convert.ToInt32(this.lstCourses.SelectedValue),
                 CurriculumID          = this.CurriculumID,
                 EnrollmentTypeID      = Convert.ToInt32(cboEnrollmentTypes.SelectedValue),
                 Cost                  = Convert.ToDecimal(txtCourseCost.Text.Replace(".", ",")),
                 Duration              = Convert.ToInt32(nudCourseDuration.Value),
                 CurricullumCourseCode = new CurricullumCourseCode
                 {
                     CurricullumCourseCodeValue = txtCourseCourseCode.Text
                 },
                 CurriculumCourseMinimumMaximum = new CurriculumCourseMinimumMaximum
                 {
                     CurriculumCourseMaximum = Convert.ToInt32(nudCourseMaximumAllowed.Value),
                     CurriculumCourseMinimum = Convert.ToInt32(nudCourseMinimumAllowed.Value)
                 }
             };
             DbConnection.CurriculumCourses.Add(newCourseObj);
             DbConnection.SaveChanges();
             this.Close();
         };
     }
     else
     {
         MessageBox.Show("Ensure that the cost has been allocated!", "Add Warning", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
 }
        private void AddCurriculumCoursePreRequesiteCourse(int _CurrCourseParentID, int _CurrCourseChildID)
        {
            using (var Dbconnection = new MCDEntities())
            {
                CurriculumCourse currCourseObj = (from a in Dbconnection.CurriculumCourses
                                                  where a.CurriculumCourseID == _CurrCourseChildID
                                                  select a).FirstOrDefault <CurriculumCourse>();

                currCourseObj.CurriculumCourseParentID  = _CurrCourseParentID;
                Dbconnection.Entry(currCourseObj).State = System.Data.Entity.EntityState.Modified;
                Dbconnection.SaveChanges();
            };
        }
Beispiel #3
0
        private void dgvApprenticeshipEnrollmentLinkedCurriculumCourses_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
        {
            var gridView = (DataGridView)sender;

            foreach (DataGridViewRow row in gridView.Rows)
            {
                if (!row.IsNewRow)
                {
                    CurriculumCourse CurriculumCourseObj = (CurriculumCourse)(row.DataBoundItem);

                    row.Cells[colApprenticeshipEnrollmentLinkedCourse.Index].Value = CurriculumCourseObj.Course.CourseName.ToString();
                }
            }
        }
        private void dgvPrerequestiteCoursesForSelection_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == 0)
            {
                CurriculumCourse CurrCourseParentObject = ((CurriculumCourse)curriculumCourseBindingSourceForPredessesorSelection.List[e.RowIndex]);
                CurriculumCourse CurrCourseChildObject  = ((CurriculumCourse)curriculumCourseBindingSourceForCourseRequiredToBeScheduled.Current);

                this.AddCurriculumCoursePreRequesiteCourse(CurrCourseParentObject.CurriculumCourseID, CurrCourseChildObject.CurriculumCourseID);
                this.refreshCurriculumCourses();
                this.refreshCurriculumCourseListToBePrioritised();
                this.refreshCurriculumCourseListOfAvaiableCourseToPrioritise();
                this.refreshCurriculumCourseListOfPrioritisedCourses();
            }
        }
 private void tbnRemoveCurriculumCourseParent_Click(object sender, EventArgs e)
 {
     using (var Dbconnection = new MCDEntities())
     {
         CurriculumCourse CurrCourse = (from a in Dbconnection.CurriculumCourses
                                        where a.CurriculumCourseID == 0
                                        select a).FirstOrDefault <CurriculumCourse>();
         CurrCourse.CurriculumCourseParentID = 0;
         Dbconnection.SaveChanges();
     };
     this.refreshCurriculumCourseListToBePrioritised();
     this.refreshCurriculumCourseListOfAvaiableCourseToPrioritise();
     this.refreshCurriculumCourseListOfPrioritisedCourses();
 }
        private void populateCurriculumCourse()
        {
            using (var Dbconnection = new MCDEntities())
            {
                CurriculumCourse cc = (from a in Dbconnection.CurriculumCourses
                                       where a.CurriculumCourseID == this.CurriculumCourseID
                                       select a).FirstOrDefault <CurriculumCourse>();

                txtCourseCost.Text            = Convert.ToInt32(cc.Cost).ToString();
                nudCourseDuration.Value       = cc.Duration;
                nudCourseMaximumAllowed.Value = cc.CurriculumCourseMinimumMaximum.CurriculumCourseMaximum;
                nudCourseMinimumAllowed.Value = cc.CurriculumCourseMinimumMaximum.CurriculumCourseMinimum;
                txtCourseCourseCode.Text      = cc.CurricullumCourseCode.CurricullumCourseCodeValue;
            };
        }
Beispiel #7
0
        private void btnUpdateCurriculumCourse_Click(object sender, EventArgs e)
        {
            using (var Dbconnection = new MCDEntities())
            {
                using (System.Data.Entity.DbContextTransaction dbTran = Dbconnection.Database.BeginTransaction())
                {
                    try
                    {
                        //CRUD Operations
                        CurriculumCourse courseObj = (from a in Dbconnection.CurriculumCourses
                                                      where a.CurriculumCourseID == this.CurriculumCourseID
                                                      select a).FirstOrDefault <CurriculumCourse>();

                        courseObj.Cost     = Convert.ToDecimal(txtCourseCost.Text);
                        courseObj.Duration = Convert.ToInt32(nudCourseDuration.Value);
                        courseObj.CurriculumCourseMinimumMaximum.CurriculumCourseMaximum = Convert.ToInt32(nudCourseMaximumAllowed.Value);
                        courseObj.CurriculumCourseMinimumMaximum.CurriculumCourseMinimum = Convert.ToInt32(nudCourseMinimumAllowed.Value);
                        courseObj.CurricullumCourseCode.CurricullumCourseCodeValue       = txtCourseCourseCode.Text;
                        courseObj.CostCode = txtCurrentCostCode.Text;
                        ////saves all above operations within one transaction
                        Dbconnection.SaveChanges();

                        //commit transaction
                        dbTran.Commit();
                    }
                    catch (Exception ex)
                    {
                        if (ex is DbEntityValidationException)
                        {
                            foreach (DbEntityValidationResult entityErr in ((DbEntityValidationException)ex).EntityValidationErrors)
                            {
                                foreach (DbValidationError error in entityErr.ValidationErrors)
                                {
                                    MessageBox.Show(error.ErrorMessage, "Error Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                            }
                        }
                        else
                        {
                            MessageBox.Show(ex.Message, "Error Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        //Rollback transaction if exception occurs
                        dbTran.Rollback();
                    }
                }
            };
        }
        private void btnLinkSeta_Click(object sender, EventArgs e)
        {
            using (var DbConnection = new MCDEntities())
            {
                /*
                 * this steps follow to both entities
                 *
                 * 1 - create instance of entity with relative primary key
                 *
                 * 2 - add instance to context
                 *
                 * 3 - attach instance to context
                 */

                LookupSeta s = (LookupSeta)bindingSourceAvailableSeta.Current;

                //1
                var SetaObj = new LookupSeta
                {
                    SetaID = s.SetaID
                };
                //2
                DbConnection.LookupSetas.Add(SetaObj);
                //3
                DbConnection.LookupSetas.Attach(SetaObj);
                // 1
                CurriculumCourse CurriculumCourseObj = new CurriculumCourse
                {
                    CurriculumCourseID = this.CurriculumCourseID
                };
                //// 2
                DbConnection.CurriculumCourses.Add(CurriculumCourseObj);
                //// 3
                DbConnection.CurriculumCourses.Attach(CurriculumCourseObj);

                // like previous method add instance to navigation property
                CurriculumCourseObj.LookupSetas.Add(SetaObj);

                // call SaveChanges
                DbConnection.SaveChanges();
            }
            this.populateAvailableSeta();
            this.populateLinkedSeta();
            this.setAddRemoveControls();
        }
        private void btnRemoveCurriculumCourse_Click(object sender, EventArgs e)
        {
            DialogResult resl = MessageBox.Show("Note This Will remove the course and all assosiated Modules and Activities!", "Remove Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (resl == DialogResult.Yes)
            {
                using (var Dbconnection = new MCDEntities())
                {
                    CurriculumCourse CurriculumCourseObj = (CurriculumCourse)(this.curriculumCourseBindingSource.Current);
                    Dbconnection.CurriculumCourses.Attach(CurriculumCourseObj);
                    Dbconnection.CurriculumCourses.Remove(CurriculumCourseObj);
                    Dbconnection.SaveChanges();
                    this.refreshCurriculumCourses();
                    this.refreshCurriculumCourseListToBePrioritised();
                    //this.refreshCurriculumCourseListToBePrioritised();
                };
            }
        }
        private void btnUpdateCurriculumCourse_Click(object sender, EventArgs e)
        {
            using (var Dbconnection = new MCDEntities())
            {
                CurriculumCourse courseObj = (from a in Dbconnection.CurriculumCourses
                                              where a.CurriculumCourseID == this.CurriculumCourseID
                                              select a).FirstOrDefault <CurriculumCourse>();

                courseObj.Cost     = Convert.ToDecimal(txtCourseCost.Text);
                courseObj.Duration = Convert.ToInt32(nudCourseDuration.Value);
                courseObj.CurriculumCourseMinimumMaximum.CurriculumCourseMaximum = Convert.ToInt32(nudCourseMaximumAllowed.Value);
                courseObj.CurriculumCourseMinimumMaximum.CurriculumCourseMinimum = Convert.ToInt32(nudCourseMinimumAllowed.Value);
                courseObj.CurricullumCourseCode.CurricullumCourseCodeValue       = txtCourseCourseCode.Text;


                //Dbconnection.CurriculumCourses.Add()
                Dbconnection.SaveChanges();
                this.Close();
            };
        }
Beispiel #11
0
        private void dgvPrerequisiteCourses_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
        {
            var gridView = (DataGridView)sender;

            foreach (DataGridViewRow row in gridView.Rows)
            {
                if (!row.IsNewRow)
                {
                    Data.Models.Enrollment EnrollmentObj = (Data.Models.Enrollment)(row.DataBoundItem);

                    row.Cells[colApprenticeshipPreRequisiteCurriculum.Index].Value = EnrollmentObj.Curriculum.CurriculumName.ToString();

                    CurriculumCourse CurriculumCourseObj = (from a in EnrollmentObj.CurriculumCourseEnrollments
                                                            where a.CurriculumCourse.CurriculumID == EnrollmentObj.CurriculumID
                                                            select a.CurriculumCourse)
                                                           .FirstOrDefault <CurriculumCourse>();
                    row.Cells[colApprenticeshipPreRequisiteCourse.Index].Value          = CurriculumCourseObj.Course.CourseName.ToString();
                    row.Cells[colApprenticeshipPrerequisteProcessingStatus.Index].Value = EnrollmentObj.LookupEnrollmentProgressState.EnrollmentProgressCurrentState.ToString();
                }
            }
        }
        private void btnUpdateCurriculumCourseOptions_Click(object sender, EventArgs e)
        {
            if (curriculumCourseBindingSource.Count > 0)
            {
                CurriculumCourse          CurrentSelectedCourse = ((CurriculumCourse)(curriculumCourseBindingSource.Current));
                frmUpdateCurriculumCourse frm = new frmUpdateCurriculumCourse();
                frm.CurriculumCourseID = ((CurriculumCourse)(curriculumCourseBindingSource.Current)).CurriculumCourseID;

                frm.txtCourseCost.Text            = CurrentSelectedCourse.Cost.ToString();
                frm.nudCourseDuration.Value       = CurrentSelectedCourse.Duration;
                frm.nudCourseMaximumAllowed.Value = CurrentSelectedCourse.CurriculumCourseMinimumMaximum.CurriculumCourseMaximum;
                frm.nudCourseMinimumAllowed.Value = CurrentSelectedCourse.CurriculumCourseMinimumMaximum.CurriculumCourseMinimum;
                frm.txtCourseCourseCode.Text      = CurrentSelectedCourse.CurricullumCourseCode.CurricullumCourseCodeValue;
                frm.ShowDialog();
                this.refreshCurriculumCourses();
            }
            else
            {
                MessageBox.Show("Add Course First!", "Add Warning", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Beispiel #13
0
        private void prePopulateCurrentlySelectedCourse()
        {
            using (var Dbconnection = new MCDEntities())
            {
                CurrentlySelectedCurriculumCourseToSchedule = CurrentSelectedCurriculumCourseEnrollment.CurriculumCourse;
                Dbconnection.CurriculumCourses.Attach(CurrentlySelectedCurriculumCourseToSchedule);
                //loads the days that can be scheduled.
                if (!Dbconnection.Entry(CurrentlySelectedCurriculumCourseToSchedule).Collection(a => a.CurriculumCourseDayCanBeScheduleds).IsLoaded)
                {
                    Dbconnection.Entry(CurrentlySelectedCurriculumCourseToSchedule).Collection(a => a.CurriculumCourseDayCanBeScheduleds).Load();
                }
                //load the course that associated with the Curriculum Course
                if (!Dbconnection.Entry(CurrentlySelectedCurriculumCourseToSchedule).Reference <Course>(a => a.Course).IsLoaded)
                {
                    Dbconnection.Entry(CurrentlySelectedCurriculumCourseToSchedule).Reference <Course>(a => a.Course).Load();
                }

                //if (!Dbconnection.Entry(CurrentlySelectedCurriculumCourseToSchedule).Collection(a => a.Course.VenueAssociatedCourses).IsLoaded)
                //{
                //    Dbconnection.Entry(CurrentlySelectedCurriculumCourseToSchedule).Collection(a => a.Course.VenueAssociatedCourses).Load();
                //}
            };
        }
        private Boolean ValidateStep()
        {
            Boolean bRtn = true;

            switch (CurrentPosition)
            {
            case 0:
                if (courseBindingSource.List.Count == 0)
                {
                    MessageBox.Show("Please Add and Select a Course as you canot proceed if no course is selected.", "Information Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    bRtn = false;
                }
                break;

            case 1:
                using (var Dbconnection = new MCDEntities())
                {
                    using (System.Data.Entity.DbContextTransaction dbTran = Dbconnection.Database.BeginTransaction())
                    {
                        try
                        {
                            //CRUD Operations
                            Course CourseObj = (Course)courseBindingSource.Current;



                            string ConfiguredCourseCost = txtCourseCost.Text.Replace("R", "").Replace(".", ",").Trim();
                            if (ConfiguredCourseCost.Length == 0)
                            {
                                ConfiguredCourseCost = "0,0";
                            }


                            if (newCourseObj == null)
                            {
                                newCourseObj = new CurriculumCourse
                                {
                                    ObjectState           = EntityObjectState.Added,
                                    CourseID              = CourseObj.CourseID,
                                    CurriculumID          = this.CurriculumID,
                                    EnrollmentTypeID      = Convert.ToInt32(cboEnrollmentTypes.SelectedValue),
                                    Cost                  = Convert.ToDecimal(ConfiguredCourseCost),
                                    Duration              = Convert.ToInt32(nudCourseDuration.Value),
                                    CostCode              = txtCourseCostCode.Text,
                                    CurricullumCourseCode = new CurricullumCourseCode
                                    {
                                        CurricullumCourseCodeValue = txtCourseCourseCode.Text,
                                        ObjectState = EntityObjectState.Added
                                    },
                                    CurriculumCourseMinimumMaximum = new CurriculumCourseMinimumMaximum
                                    {
                                        CurriculumCourseMaximum = Convert.ToInt32(nudCourseMaximumAllowed.Value),
                                        CurriculumCourseMinimum = Convert.ToInt32(nudCourseMinimumAllowed.Value),
                                        ObjectState             = EntityObjectState.Added
                                    }
                                };
                                Dbconnection.CurriculumCourses.Add(newCourseObj);
                            }
                            else
                            {
                                newCourseObj.CourseID         = CourseObj.CourseID;
                                newCourseObj.EnrollmentTypeID = Convert.ToInt32(cboEnrollmentTypes.SelectedValue);
                                newCourseObj.Cost             = Convert.ToDecimal(ConfiguredCourseCost);
                                newCourseObj.Duration         = Convert.ToInt32(nudCourseDuration.Value);
                                newCourseObj.CurricullumCourseCode.CurricullumCourseCodeValue       = txtCourseCourseCode.Text;
                                newCourseObj.CurriculumCourseMinimumMaximum.CurriculumCourseMaximum = Convert.ToInt32(nudCourseMaximumAllowed.Value);
                                newCourseObj.CurriculumCourseMinimumMaximum.CurriculumCourseMinimum = Convert.ToInt32(nudCourseMinimumAllowed.Value);
                                newCourseObj.CostCode = txtCourseCostCode.Text;
                                Dbconnection.Entry(newCourseObj).State = EntityState.Modified;
                            }
                            ////saves all above operations within one transaction
                            Dbconnection.SaveChanges();

                            //commit transaction
                            dbTran.Commit();
                        }
                        catch (Exception ex)
                        {
                            if (ex is DbEntityValidationException)
                            {
                                foreach (DbEntityValidationResult entityErr in ((DbEntityValidationException)ex).EntityValidationErrors)
                                {
                                    foreach (DbValidationError error in entityErr.ValidationErrors)
                                    {
                                        MessageBox.Show(error.ErrorMessage, "Error Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                }
                            }
                            else
                            {
                                MessageBox.Show(ex.Message, "Error Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                            //Rollback transaction if exception occurs
                            dbTran.Rollback();
                            if (newCourseObj.ObjectState == EntityObjectState.Added)
                            {
                                newCourseObj = null;
                            }
                            bRtn = false;
                        }
                    }
                };
                break;

            case 2:

                break;

            case 3:


                break;

            case 4:
                break;

            case 5:
                break;

            case 6:
                break;

            case 7:
                break;

            default:
                bRtn = false;
                break;
            }

            return(bRtn);
        }
        private void SetPossibleCurriculumCourseDatesWithFacilitatorOnly()
        {
            List <CurriculumCourseDayCanBeScheduled> CurriculumCourseDayCanBeScheduledDays = new List <CurriculumCourseDayCanBeScheduled>();

            CurriculumCourse CC = null;

            using (var Dbconnection = new MCDEntities())
            {
                CC = (from a in Dbconnection.CurriculumCourses
                      where a.CurriculumCourseID == this.CurriculumCourseID
                      select a)
                     .Include(a => a.Course)
                     .FirstOrDefault <CurriculumCourse>();

                CurriculumCourseDayCanBeScheduledDays = (from a in CC.CurriculumCourseDayCanBeScheduleds
                                                         select a).ToList <CurriculumCourseDayCanBeScheduled>();
            };

            List <EnumDayOfWeeks> EnumDayOfWeeksList = new List <EnumDayOfWeeks>();

            foreach (CurriculumCourseDayCanBeScheduled CurriculumCourseDayCanBeScheduledDayObj in CurriculumCourseDayCanBeScheduledDays)
            {
                EnumDayOfWeeksList.Add((EnumDayOfWeeks)CurriculumCourseDayCanBeScheduledDayObj.DayOfWeekID);
            }

            foreach (FacilitatorAvailableDateSet FADS in FacilitatorAvailableDateSets)
            {
                DateTime INITIAL_DATE = FADS.StartDate;

                //Get First Dat That Scheduling Can Start
                DateTime FIRST_DAY_CAN_BE_SCHEDULED_FROM_SET = FADS.StartDate;
                while (FIRST_DAY_CAN_BE_SCHEDULED_FROM_SET.Date < FADS.EndDate.Date)
                {
                    Boolean IsFirstDayFound = false;
                    while (!IsFirstDayFound)
                    {
                        if (IsFirstDateCanBeScheduled(FIRST_DAY_CAN_BE_SCHEDULED_FROM_SET, CurriculumCourseDayCanBeScheduledDays))
                        {
                            IsFirstDayFound = true;
                        }
                        else
                        {
                            FIRST_DAY_CAN_BE_SCHEDULED_FROM_SET = FIRST_DAY_CAN_BE_SCHEDULED_FROM_SET.AddDays(1);
                        }
                    }

                    DateTime dd = new DateTime(2017, 07, 13);
                    dd = dd.AddDays(2);
                    //DateTime must be inclusive of the initial date so 1 day must be subtracted from the returned possible end date.
                    DateTime EndDateForCurrentPossibleSchedule = CustomDateTime.getCustomDateTime(FIRST_DAY_CAN_BE_SCHEDULED_FROM_SET, CC.Duration, EnumDayOfWeeksList).AddDays(-1);
                    if (EndDateForCurrentPossibleSchedule.Date <= FADS.EndDate.Date)
                    {
                        //Add Schedule Option To List
                        CourseByFacilitatorAvailableDateSets.Add(new CourseByFacilitatorAvailableDateSet(

                                                                     CourseName: CC.Course.CourseName,
                                                                     FacilitatorID: FADS.FacilitatorID,
                                                                     CurriculumCourseID: this.CurriculumCourseID,
                                                                     StartDate: FIRST_DAY_CAN_BE_SCHEDULED_FROM_SET.Date,
                                                                     EndDate: EndDateForCurrentPossibleSchedule.Date));
                        FIRST_DAY_CAN_BE_SCHEDULED_FROM_SET = EndDateForCurrentPossibleSchedule.Date.AddDays(1);
                    }
                    else
                    {
                        FIRST_DAY_CAN_BE_SCHEDULED_FROM_SET = FADS.EndDate.Date;
                    }
                }
            }
        }