示例#1
0
        public TermViewModel(Models.Term p_model)
        {
            this.model = p_model;

            this.model.AddPropertyChanged(
                nameof(this.model.Value),
                () => this.OnPropertyChanged(nameof(this.Value)));
        }
示例#2
0
        private async void Remove(Models.Term term)
        {
            if (await Shell.Current.DisplayAlert("Confirm Deletion", $"Are you sure you want to delete {term.Name}", "Delete", "Cancel"))
            {
                await DBService.RemoveTerm(term.Id);

                Terms.Remove(term);
            }
        }
        public async Task <ActionResult <Models.Term> > Patch([FromBody] Models.Term model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(string.Join(",", ModelState.Values.SelectMany(v => v.Errors.Select(e => e.ErrorMessage)))));
            }

            // Update
            await _termsRepository.UpdateTerm(_mapper.Map <Models.Dto.Term>(model));

            // Return
            return(Ok(model));
        }
示例#4
0
        internal static Models.Term mapTerm(Data.Term ent, Models.Term mdl = null)
        {
            if (ent == null) return mdl;
            if (mdl == null) mdl = new Models.Term();

            mdl.ID = new Models.TermID(ent.TermID);
            mdl.Code = ent.Code;
            mdl.Name = ent.Name;
            mdl.StartDate = ent.StartDate;
            mdl.EndDate = ent.EndDate;

            return mdl;
        }
        public async Task <ActionResult <Models.Term> > Post([FromBody] Models.Term model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(string.Join(",", ModelState.Values.SelectMany(v => v.Errors.Select(e => e.ErrorMessage)))));
            }

            // Add
            var id = await _termsRepository.AddTerm(GetUserId(User), _mapper.Map <Models.Dto.Term>(model));

            // Return
            model.TermId = id;
            return(Ok(model));
        }
示例#6
0
        //Create DB if none exists and populate test data
        public static void initializeDB()
        {
            SQLiteConnection con = new SQLiteConnection(dbPath);
            DateTime         now = DateTime.Now;

            try
            {
                con.CreateTable <Models.Assessment>();
                con.CreateTable <Models.Course>();
                con.CreateTable <Models.Degree>();
                con.CreateTable <Models.Enrollment>();
                con.CreateTable <Models.Instructor>();
                con.CreateTable <Models.Student>();
                con.CreateTable <Models.Term>();
            }
            catch (Exception x)
            {
                Console.WriteLine("Error creating tables: " + x.Message);
            }
            try
            {
                if (con.Table <Models.Student>().Count() == 0)
                {
                    //Get start and end dates for test data
                    DateTime        start             = new DateTime(now.Year, now.Month, 1);
                    DateTime        end               = start.AddMonths(6).AddHours(23).AddMinutes(59).AddSeconds(59);
                    DateTime        courseStart       = start.AddDays(7);
                    DateTime        courseEnd         = courseStart.AddDays(14);
                    DateTime        paAssessmentStart = courseStart.AddDays(12).AddHours(15).AddMinutes(30);
                    DateTime        paAssessmentEnd   = paAssessmentStart.AddDays(1);
                    DateTime        oaAssessmentStart = paAssessmentEnd.AddHours(2).AddMinutes(30);
                    DateTime        oaAssessmentEnd   = oaAssessmentStart.AddHours(2);
                    List <DateTime> dates             = new List <DateTime> {
                        start, end, courseStart, courseEnd, paAssessmentStart, paAssessmentEnd, oaAssessmentStart, oaAssessmentEnd
                    };
                    List <string> sqlDates = convertDates(dates);
                    //Insert test student
                    Models.Student student = new Models.Student
                    {
                        Name     = "test",
                        Username = "******",
                        Password = "******"
                    };
                    con.Insert(student);
                    int studentId = student.StudentId;
                    //Insert test degree
                    Models.Degree degree = new Models.Degree
                    {
                        StudentId = studentId,
                        Name      = "My Degree",
                        Active    = 1
                    };
                    con.Insert(degree);
                    int degreeId = degree.DegreeId;
                    //Insert test term
                    Models.Term term = new Models.Term
                    {
                        DegreeId = degreeId,
                        Name     = "First Term",
                        Start    = sqlDates[0],
                        End      = sqlDates[1]
                    };
                    con.Insert(term);
                    int termId = term.TermId;
                    //Insert test instructor
                    Models.Instructor instructor = new Models.Instructor()
                    {
                        Name  = "Reg Garrett",
                        Email = "*****@*****.**",
                        Phone = "801-623-8070"
                    };
                    con.Insert(instructor);
                    int instructorId = instructor.InstructorId;
                    //Insert test course
                    Models.Course course = new Models.Course()
                    {
                        InstructorId      = instructorId,
                        Name              = "Intro to Xamarin Forms",
                        Status            = "Enrolled",
                        Notes             = "",
                        Start             = sqlDates[2],
                        End               = sqlDates[3],
                        StartNotification = 0,
                        EndNotification   = 0
                    };
                    con.Insert(course);
                    int courseId = course.CourseId;
                    //Insert Assessments
                    Models.Assessment pa = new Models.Assessment()
                    {
                        CourseId          = courseId,
                        Type              = "Performance Assessment",
                        Start             = sqlDates[4],
                        End               = sqlDates[5],
                        StartNotification = 0,
                        EndNotification   = 0
                    };
                    con.Insert(pa);
                    Models.Assessment oa = new Models.Assessment()
                    {
                        CourseId          = courseId,
                        Type              = "Objective Assessment",
                        Start             = sqlDates[6],
                        End               = sqlDates[7],
                        StartNotification = 0,
                        EndNotification   = 0
                    };
                    con.Insert(oa);
                    Models.Enrollment enrollment = new Models.Enrollment()
                    {
                        TermId   = termId,
                        CourseId = courseId
                    };
                    con.Insert(enrollment);
                }
            }
            catch (Exception x)
            {
                Console.WriteLine("Error populating test data: " + x.Message);
            }
            finally
            {
                con.Close();
            }
        }
示例#7
0
 private async void Modify(Models.Term term)
 {
     await AppShell.Current.GoToAsync($"{nameof(ModifyTermsPage)}?id={term.Id}&name={term.Name}&startDate={term.StartDate}&endDate={term.EndDate}");
 }