/// <summary> /// Método encargado de la creación de objetos valor de /// periodo de vigencia. /// </summary> /// <param name="fromDate"> /// Parámetro que indica la fecha inicial del periodo de vigencia. /// </param> /// <param name="toDate"> /// Parámetro que indica la fecha final del periodo de vigencia. /// </param> /// <returns> /// Devuelve objeto de tipo <see cref="IValidPeriod"/> creado. /// </returns> public static IValidPeriod Create(DateTime? fromDate, DateTime? toDate) { // Creamos el objeto valor de periodo de vigencia. IValidPeriod validPeriod = new ValidPeriod(fromDate, toDate); // Devolvemos el objeto valor creado. return validPeriod; }
public async Task <IActionResult> CreateProgram(CreateProgramDto dto) { var validPeriod = ValidPeriod.Create(dto.BeginYear, dto.EndYear); if (validPeriod.IsFailure) { return(BadRequest(validPeriod.Error)); } var cluster = await _context.Programs.SingleOrDefaultAsync(x => x.ProgramCode == dto.ProgramCode); if (cluster != null) { return(BadRequest("ProgramCode already exists")); } var newProgram = new Domain.Models.Program(dto.Name, dto.Description, dto.ProgramCode, validPeriod.Value, dto.TraditionalForMales, dto.TraditionalForFemales); _context.Programs.Attach(newProgram); await _context.SaveChangesAsync(); return(Ok()); }
public async Task <IActionResult> UpdateCourse(int courseId, UpdateCourseDto dto) { var course = await _context.Courses.FindAsync(courseId); course.UpdateDetails(dto.Title, dto.Description); var validPeriod = ValidPeriod.Create(dto.BeginYear, dto.EndYear); if (validPeriod.IsFailure) { return(BadRequest(validPeriod.Error)); } course.ChangeValidPeriod(validPeriod.Value); course.ChangeCreditDetails(dto.CreditRecoveryAvailable, dto.CreditAdvancementAvailable, dto.CreditUnits); var lowGrade = _context.Grades.Find(dto.LowGradeId); var highGrade = _context.Grades.Find(dto.HighGradeId); var result = course.ChangeGradeRange(lowGrade, highGrade); if (result.IsFailure) { return(BadRequest(result.Error)); } var courseType = _context.CourseTypes.Find(dto.CourseTypeId); var courseLevel = _context.CourseLevels.Find(dto.CourseLevelId); course.ChangeCourseType(courseType, courseLevel); _context.SaveChanges(); return(Ok()); }
public async Task <IActionResult> CreateCourse(CreateCourseDto dto) { var validPeriod = ValidPeriod.Create(dto.BeginYear, dto.EndYear); if (validPeriod.IsFailure) { return(BadRequest(validPeriod.Error)); } var lowGrade = _context.Grades.Find(dto.LowGradeId); var highGrade = _context.Grades.Find(dto.HighGradeId); if (lowGrade == null || highGrade == null) { return(BadRequest("Invalid Grade range supplied")); } try { var course = new Course(dto.Title, dto.Description, validPeriod.Value, lowGrade, highGrade); _context.Courses.Attach(course); await _context.SaveChangesAsync(); } catch (Exception e) { return(BadRequest(e.Message)); } return(Ok()); }
public async Task <IActionResult> UpdateCredential(int id, UpdateCredentialDto dto) { var validPeriod = ValidPeriod.Create(dto.BeginYear, dto.EndYear); if (validPeriod.IsFailure) { return(BadRequest(validPeriod.Error)); } var credential = _context.Credentials.Find(id); credential.UpdateDetails(dto.Name, dto.Description, dto.IsReimbursable); credential.ChangeValidPeriod(validPeriod.Value); await _context.SaveChangesAsync(); return(Ok()); }
public async Task <IActionResult> UpdateCluster(int id, UpdateClusterDto dto) { var validPeriod = ValidPeriod.Create(dto.BeginYear, dto.EndYear); if (validPeriod.IsFailure) { return(BadRequest(validPeriod.Error)); } var cluster = _context.Clusters.Find(id); cluster.UpdateDetails(dto.Name, dto.Description); cluster.ChangeValidPeriod(validPeriod.Value); await _context.SaveChangesAsync(); return(Ok()); }
public async Task <IActionResult> UpdateProgram(int id, UpdateProgramDto dto) { var validPeriod = ValidPeriod.Create(dto.BeginYear, dto.EndYear); if (validPeriod.IsFailure) { return(BadRequest(validPeriod.Error)); } var program = _context.Programs.Find(id); program.UpdateDetails(dto.Name, dto.Description, dto.TraditionalForMales, dto.TraditionalForFemales); program.ChangeValidPeriod(validPeriod.Value); await _context.SaveChangesAsync(); return(Ok()); }
public async Task <IActionResult> AssignProgram(int courseId, AssignProgramDto dto) { var course = await _context.Courses .Include(x => x.ProgramAssignments) .SingleOrDefaultAsync(x => x.Id == courseId); var program = _context.Programs.Find(dto.ProgramId); var validPeriod = ValidPeriod.Create(dto.BeginYear, dto.EndYear); if (validPeriod.IsFailure) { return(BadRequest(validPeriod.Error)); } course.AssignProgram(program, validPeriod.Value); _context.SaveChanges(); return(Ok()); }
public async Task <IActionResult> CreateCredential(CreateCredentialDto dto) { var validPeriod = ValidPeriod.Create(dto.BeginYear, dto.EndYear); if (validPeriod.IsFailure) { return(BadRequest(validPeriod.Error)); } var cluster = await _context.Credentials.SingleOrDefaultAsync(x => x.CredentialCode == dto.CredentialCode); if (cluster != null) { return(BadRequest("CredentialCode already exists")); } var newCluster = new Credential(dto.Name, dto.Description, dto.CredentialCode, validPeriod.Value, dto.IsReimbursable); _context.Credentials.Attach(newCluster); await _context.SaveChangesAsync(); return(Ok()); }
public void ChangeValidPeriod(ValidPeriod validPeriod) { ValidPeriod = validPeriod; }
public Program(string name, string description, string programCode, ValidPeriod validPeriod, bool isTraditionalMale, bool isTraditionalFemale) { ProgramCode = programCode; UpdateDetails(name, description, isTraditionalMale, isTraditionalFemale); ChangeValidPeriod(validPeriod); }
public ProgramAssignment(Program careerTechProgram, Course course, ValidPeriod validPeriod) { Program = careerTechProgram; Course = course; ValidPeriod = validPeriod; }