/// <summary> /// Creates the program. /// </summary> /// <param name="agency">The agency.</param> /// <param name="name">The name.</param> /// <param name="startDate">The start date.</param> /// <param name="programCharacteristics">The program characteristics.</param> /// <returns> /// A Program. /// </returns> public Program CreateProgram(Agency agency, string name, DateTime startDate, ProgramCharacteristics programCharacteristics) { var program = new Program(agency, name, startDate, programCharacteristics); _programRepository.MakePersistent(program); return(program); }
internal Program(Agency agency, string name, DateTime startDate, ProgramCharacteristics programCharacteristics) : this() { Check.IsNotNull(agency, "Agency is required."); Check.IsNotNullOrWhitespace(name, "Display name is required."); Check.IsNotNull(startDate, "StartDate is required."); Check.IsNotNull(programCharacteristics, "ProgramCharacteristics is required."); Agency = agency; _name = name; _startDate = startDate; _endDate = null; _programCharacteristics = programCharacteristics; }
/// <summary> /// Revises the program characteristics. /// </summary> /// <param name="programCharacteristics">The program characteristics.</param> public virtual void ReviseProgramCharacteristics(ProgramCharacteristics programCharacteristics) { ProgramCharacteristics = programCharacteristics; }