public Models.TrainingProgram UpdateTrainingProgram(Guid id, string name, string shortName, string HighlightColor, string logoUrl, bool isActive)
        {
            Models.TrainingProgram program = this.GetById(id);

            if (program == null)
            {
                throw new InvalidOperationException($"Division ({id}) does not exist.");
            }

            program.Name           = name;
            program.Code           = shortName;
            program.HighlightColor = HighlightColor;
            program.LogoUrl        = logoUrl;
            program.IsActive       = isActive;

            this.DataContext.Update <Models.TrainingProgram, Guid>(program, x => x.Name, x => x.Code, x => x.HighlightColor, x => x.LogoUrl, x => x.IsActive);

            return(program);
        }
        public Models.TrainingProgram CreateTrainingProgram(Guid semesterId, string name, string code, string HighlightColor, string logoUrl, bool isActive)
        {
            if (String.IsNullOrEmpty(name))
            {
                throw new ArgumentNullException("name");
            }

            Models.TrainingProgram program = new Models.TrainingProgram()
            {
                Id             = Guid.NewGuid(),
                SemesterId     = semesterId,
                Name           = name,
                Code           = code,
                HighlightColor = HighlightColor,
                LogoUrl        = logoUrl,
                IsActive       = isActive,
                IsDeleted      = false
            };

            this.DataContext.Insert <Models.TrainingProgram>(program);

            return(program);
        }