public CreateStageTimelineModel(Timeline timeline, IEnumerable<Stage> stages, int stageId)
 {
     Stages = stages
             .Select(item => new SelectListItem
             {
                 Text = item.Name,
                 Value = item.Id.ToString(),
                 Selected = false
             });
     Timeline = timeline;
     StageId = stageId;
 }
示例#2
0
		/// <summary>
		/// Validates the stage timeline.
		/// </summary>
		/// <param name="timeline">The stage timeline.</param>
		/// <returns></returns>
		/// <remarks></remarks>
		public ValidationStatus ValidateStageTimeline(Timeline timeline)
		{
			ValidationStatus validationStatus = new ValidationStatus();

			DateTime minAllowedDate = Constants.MinAllowedDateTime;
			DateTime maxAllowedDate = Constants.MaxAllowedDateTime;
			if (timeline.StageRef <= 0)
			{
				validationStatus.Errors.Add(String.Format(Localization.getMessage("ChooseStage")));
			}
			if (timeline.StartDate > timeline.EndDate)
			{
				validationStatus.Errors.Add(Localization.getMessage("StartDateMustLessThanEndDate"));
			}
			if (timeline.StartDate < minAllowedDate || timeline.StartDate > maxAllowedDate)
			{
				validationStatus.Errors.Add(String.Format(Localization.getMessage("StartDateMustBeBetween"),
					 minAllowedDate.ToString(), maxAllowedDate.ToString()));
			}
			if (timeline.EndDate < minAllowedDate || timeline.EndDate > maxAllowedDate)
			{
				validationStatus.Errors.Add(String.Format(Localization.getMessage("EndDateMustBeBetween"),
					 minAllowedDate.ToString(), maxAllowedDate.ToString()));
			}

			var timelines = storage.GetCurriculumAssignmentTimelines(timeline.CurriculumAssignmentRef);

			bool errorCheck = true;
			List<string> errors = new List<string>();
			foreach (var item in timelines)
			{
				if (timeline.StartDate >= item.StartDate && item.EndDate >= timeline.EndDate)
				{
					errorCheck = false;
					break;
				}
				else
				{
					errors.Add(String.Format("{0} - {1}", String.Format("{0:g}", item.StartDate), String.Format("{0:g}", item.EndDate)));
				}
			}
			if (errorCheck == true)
			{
				validationStatus.Errors.Add(Localization.getMessage("StageTimelineBiggerThanCurriculumTimeline"));
				validationStatus.Errors.AddRange(errors);
			}

			return validationStatus;
		}
示例#3
0
        /// <summary>
        /// Validates the curriculum assignment timeline.
        /// </summary>
        /// <param name="timeline">The timeline.</param>
        /// <returns></returns>
        public ValidationStatus ValidateCurriculumAssignmentTimeline(Timeline timeline)
        {
            ValidationStatus validationStatus = new ValidationStatus();

            DateTime minAllowedDate = Constants.MinAllowedDateTime;
            DateTime maxAllowedDate = Constants.MaxAllowedDateTime;
            if (timeline.StartDate > timeline.EndDate)
            {
                validationStatus.Errors.Add(IUDICO.CurriculumManagement.Localization.getMessage("StartDateMustLessThanEndDate"));
            }
            if (timeline.StartDate < minAllowedDate || timeline.StartDate > maxAllowedDate)
            {
                validationStatus.Errors.Add(String.Format(IUDICO.CurriculumManagement.Localization.getMessage("StartDateMustBeBetween"),
                     minAllowedDate.ToString(), maxAllowedDate.ToString()));
            }
            if (timeline.EndDate < minAllowedDate || timeline.EndDate > maxAllowedDate)
            {
                validationStatus.Errors.Add(String.Format(IUDICO.CurriculumManagement.Localization.getMessage("EndDateMustBeBetween"),
                     minAllowedDate.ToString(), maxAllowedDate.ToString()));
            }

            return validationStatus;
        }
示例#4
0
 /// <summary>
 /// Determines whether the specified date time is in timeline.
 /// </summary>
 /// <param name="dateTime">The date time.</param>
 /// <param name="timeline">The timeline.</param>
 /// <returns>
 ///   <c>true</c> if the specified date time is in; otherwise, <c>false</c>.
 /// </returns>
 public static bool IsIn(this DateTime dateTime, Timeline timeline)
 {
     return dateTime >= timeline.StartDate && dateTime <= timeline.EndDate;
 }
 public CreateCurriculumAssignmentTimelineModel(Timeline timeline)
 {
     Timeline = timeline;
 }
示例#6
0
        public void UpdateTimelineTest()
        {
            //Test UpdateTimeline() with null
            try
            {
                storage.UpdateTimeline(null);
                Assert.Fail();
            }
            catch (Exception ex)
            {
                Assert.AreEqual(true, true);
            }

            //Test UpdateTimeline()
            int curriculumId = storage.AddCurriculum(Utils.GetDefaultCurriculum());
            IUserService userService = lmsService.FindService<IUserService>();
            List<Group> groups = userService.GetGroups().ToList();
            int curriculumAssignmentId = storage.AddCurriculumAssignment(Utils.GetDefaultCurriculumAssignment(curriculumId, groups[0].Id));

            Timeline timeline = new Timeline { CurriculumAssignmentRef = curriculumAssignmentId, StartDate = DateTime.Now, EndDate = DateTime.Now };
            int timelineId = storage.AddTimeline(timeline);
            timeline.StartDate = DateTime.Now;
            storage.UpdateTimeline(timeline);

            AdvAssert.AreEqual(timeline, storage.GetTimeline(timelineId));

            //Secondary update
            timeline.StartDate = DateTime.Now;
            Assert.AreNotEqual(timeline.StartDate, storage.GetTimeline(timelineId).StartDate);
        }
示例#7
0
        public void DeleteTimelineTest()
        {
            //Test DeleteTimeline()
            int curriculumId = storage.AddCurriculum(Utils.GetDefaultCurriculum());
            IUserService userService = lmsService.FindService<IUserService>();
            List<Group> groups = userService.GetGroups().ToList();
            int curriculumAssignmentId = storage.AddCurriculumAssignment(Utils.GetDefaultCurriculumAssignment(curriculumId, groups[0].Id));

            Timeline timeline = new Timeline { CurriculumAssignmentRef = curriculumAssignmentId, StartDate = DateTime.Now, EndDate = DateTime.Now };
            int timelineId = storage.AddTimeline(timeline);
            storage.DeleteTimeline(timelineId);
            Assert.AreEqual(null, storage.GetTimeline(timelineId));

            //Test DeleteTimelines(), delete not all items
            List<int> ids = new List<int>();
            ids.Add(storage.AddTimeline(new Timeline() { CurriculumAssignmentRef = curriculumAssignmentId, StartDate = DateTime.Now, EndDate = DateTime.Now }));
            ids.Add(storage.AddTimeline(new Timeline() { CurriculumAssignmentRef = curriculumAssignmentId, StartDate = DateTime.Now, EndDate = DateTime.Now }));
            ids.Add(storage.AddTimeline(new Timeline() { CurriculumAssignmentRef = curriculumAssignmentId, StartDate = DateTime.Now, EndDate = DateTime.Now }));
            storage.DeleteTimelines(ids.GetSpecificItems(0, 2));

            Assert.AreEqual(null, storage.GetTimeline(ids[0]));
            Assert.AreNotEqual(null, storage.GetTimeline(ids[1]));
            Assert.AreEqual(null, storage.GetTimeline(ids[2]));

            //Test DeleteTimeline() timeline with unreal id
            try
            {
                storage.DeleteTimeline(0);
                Assert.Fail();
            }
            catch (Exception ex)
            {
                Assert.AreEqual(true, true);
            }
        }
示例#8
0
        public void UpdateTimeline(Timeline timeline)
        {
            var oldTimeline = GetTimeline(timeline.Id);

            oldTimeline.StartDate = timeline.StartDate;
            oldTimeline.EndDate = timeline.EndDate;

            _Db.SubmitChanges();
        }
示例#9
0
        public int AddTimeline(Timeline timeline)
        {
            timeline.IsDeleted = false;

            _Db.Timelines.InsertOnSubmit(timeline);
            _Db.SubmitChanges();

            return timeline.Id;
        }
示例#10
0
        public void UpdateTimeline(Timeline timeline)
        {
            using (var db = new CurriculumManagementDBContext())
            {
                db.Timelines.Attach(timeline);

                timeline.StartDate = timeline.StartDate;
                timeline.EndDate = timeline.EndDate;

                db.SaveChanges();
            }
        }
示例#11
0
        public int AddTimeline(Timeline timeline)
        {
            timeline.IsDeleted = false;

            using (var db = new CurriculumManagementDBContext())
            {
                db.Timelines.Add(timeline);
                db.SaveChanges();
            }

            return timeline.Id;
        }
示例#12
0
 partial void DeleteTimeline(Timeline instance);
示例#13
0
 partial void UpdateTimeline(Timeline instance);
示例#14
0
 partial void InsertTimeline(Timeline instance);
示例#15
0
		private void detach_Timelines(Timeline entity)
		{
			this.SendPropertyChanging();
			entity.CurriculumAssignment = null;
		}