Пример #1
0
        public async Task <CourseDetailViewModel> GetCourseAsync(int id)
        {
            logger.LogInformation("Course {id} richiesto", id);

            /*FormattableString query = $@"SELECT Id, Title, Description, ImagePath, Author, Rating, FullPrice_Amount, FullPrice_Currency, CurrentPrice_Amount, CurrentPrice_Currency FROM Courses WHERE Id={id};
             * SELECT Id, CourseId, Title, Description, Duration FROM Lessons WHERE CourseId={id}";*/

            DataSet dataSet = await db.QueryAsync($@"SELECT Id, Title, Description, ImagePath, Author, Rating, FullPrice_Amount, FullPrice_Currency, CurrentPrice_Amount, CurrentPrice_Currency FROM Courses WHERE Id={id};
            SELECT Id, CourseId, Title, Description, Duration FROM Lessons WHERE CourseId={id}");

            //Course
            var corsoTable = dataSet.Tables[0];

            if (corsoTable.Rows.Count != 1)
            {
                logger.LogWarning("Il corso {id} non esiste", id);
                throw new CourseNotFoundException(id);
            }
            var corsoRow             = corsoTable.Rows[0];
            var corsoDetailViewModel = CourseDetailViewModel.FromDataRow(corsoRow);

            //Lezioni corso
            var lezioniDataTable = dataSet.Tables[1];

            foreach (DataRow item in lezioniDataTable.Rows)
            {
                LessonViewModel lezioneViewModel = LessonViewModel.FromDataRow(item);
                corsoDetailViewModel.Lessons.Add(lezioneViewModel);
            }
            return(corsoDetailViewModel);
        }
Пример #2
0
        // GET: LessonSection/Create
        public async Task <ActionResult> Create(long id)
        {
            Lesson currentLesson = await _lessonRepositoryAsync.GetByIdAsync(id);

            if (currentLesson.Sections != null && currentLesson.Sections.Count > 0)
            {
                LessonViewModel model = new LessonViewModel
                {
                    Lesson   = currentLesson,
                    Sections = currentLesson.Sections,
                    Section  = new LessonSection
                    {
                        User     = currentLesson.User,
                        LessonId = currentLesson.Id
                    }
                };

                return(View(model));
            }
            else
            {
                LessonViewModel model = new LessonViewModel
                {
                    Lesson  = currentLesson,
                    Section = new LessonSection
                    {
                        User     = currentLesson.User,
                        LessonId = currentLesson.Id
                    }
                };

                return(View(model));
            }
        }
Пример #3
0
 public LessonList(vcWorkSpace _workSpace)
 {
     this._lessonModel        = SharedServiceContainer.Resolve <LessonViewModel>();
     this._lessonResultsModel = SharedServiceContainer.Resolve <LessonResultsViewModel>();
     this._myWorkSpaceParent  = _workSpace;
     this.Initialize();
 }
Пример #4
0
 public LessonList(LessonViewModel lessonsModel, LessonResultsViewModel lessonResultsModel, vcWorkSpace _workSpace)
 {
     this._myWorkSpaceParent  = _workSpace;
     this._lessonModel        = lessonsModel;
     this._lessonResultsModel = lessonResultsModel;
     this.Initialize();
 }
Пример #5
0
        public IActionResult DailyLessons()
        {
            var lessons        = new List <DailyLessonViewModel>();
            var optionsBuilder = new DbContextOptionsBuilder <ApplicationDbContext>();

            using (var context = new ApplicationDbContext(optionsBuilder.Options, Configuration))
            {
                var dailyLessons = context.LessonContents.ToList();
                foreach (var lesson in dailyLessons)
                {
                    var viewModel = new DailyLessonViewModel
                    {
                        LessonContentId = lesson.LessonContentId,
                        Date            = lesson.Date,
                        Description     = lesson.Description,
                        Title           = lesson.Title,
                        LessonTypeId    = lesson.LessonType,
                        FileName        = lesson.FileId,
                    };
                    lessons.Add(viewModel);
                }
            }

            var dlModel = new LessonViewModel {
                DailyLessons = lessons
            };

            return(View(dlModel));
        }
Пример #6
0
        public CourseDetailViewModel GetCourse(int id)
        {
            var rand  = new Random();
            var price = Convert.ToDecimal(rand.NextDouble() * 10 + 10);
            var corso = new CourseDetailViewModel
            {
                Id           = id,
                Title        = $"Course {id}",
                CurrentPrice = new Money(Currency.EUR, price),
                FullPrice    = new Money(Currency.EUR, (rand.NextDouble() * 10) > 5 ? price : price + 2),
                Author       = "Nome&Cognome",
                Rating       = rand.NextDouble() * 5,
                ImagePath    = "~/Free_logo.svg",
                Description  = "Qui ci va la descrizione",
                Lessons      = new List <LessonViewModel>()
            };

            for (int i = 1; i <= 5; i++)
            {
                var lezioni = new LessonViewModel {
                    Title    = $"Lezione {i}",
                    Duration = TimeSpan.FromSeconds(rand.Next(40, 90))
                };
                corso.Lessons.Add(lezioni);
            }

            return(corso);
        }
Пример #7
0
        public CourseDetailsViewModel GetDetails(int id)
        {
            var rand          = new Random();
            var price         = Convert.ToDecimal(rand.NextDouble() * 10 + 10);
            var courseDetails = new CourseDetailsViewModel
            {
                Id           = id,
                Title        = $"Corso{id}",
                CurrentPrice = new Money(Currency.EUR, price),
                FullPrice    = new Money(Currency.EUR, rand.NextDouble() > 0.5 ? price : price - 1),
                Author       = "Nome Cognome",
                Rating       = rand.NextDouble() * 5.0,
                Description  = $"Description{id}",
                ImagePath    = "~/logo.svg",
                Lessons      = new List <LessonViewModel>()
            };

            for (var i = 1; i <= 5; ++i)
            {
                var lesson = new LessonViewModel
                {
                    Title    = $"Lesson{i}",
                    Duration = TimeSpan.FromSeconds(rand.Next(40, 90))
                };
                courseDetails.Lessons.Add(lesson);
            }
            return(courseDetails);
        }
Пример #8
0
        public CourseDetailViewModel GetCourse(int id)      //alla richiesta di un certo id, vengono caricate le informazioni del corso
        {
            var random = new Random();
            var price  = Convert.ToDecimal(random.NextDouble() * 10 + 10);
            var course = new CourseDetailViewModel
            {
                Id           = id,
                Title        = $"Corso {id}",
                CurrentPrice = new Money(Currency.EUR, price),  //Currency = EUR, Amount = price
                FullPrice    = new Money(Currency.EUR, random.NextDouble() > 0.5 ? price : price - 1),
                Author       = "Nome cognome",
                Rating       = random.Next(10, 50) / 10.0,
                ImagePath    = "/logo.svg",
                Description  = $"Descrizione {id}",
                Lessons      = new List <LessonViewModel>() //lista che conterrà tutte le lezioni del corso con id ...
            };

            for (int i = 1; i <= 5; i++)
            {
                var lesson = new LessonViewModel
                {
                    Title    = $"lezione {i}",              //lezione 1, ec...
                    Duration = TimeSpan.FromSeconds(random.Next(40, 90))
                };
                course.Lessons.Add(lesson);
            }
            return(course);
        }
Пример #9
0
        /// <summary>
        /// Searches for lessons based on input parameters. Lessons are paginated and a single paged is returned
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <PagedList <Lesson> > Search(LessonViewModel model)
        {
            PagedList <Lesson> page = new PagedList <Lesson>();

            IQueryable <Lesson> lessons = SearchedLesson(
                model.Keyword,
                model.InContent,
                model.Discipline,
                model.School,
                model.Classroom,
                model.Rate,
                model.Tags,
                model.PublishedOn,
                model.PublishedBy
                );

            page.Count    = lessons.Count();
            page.StartRow = model.StartRow;
            page.PageSize = model.PageSize;

            lessons      = lessons.OrderBy(model.OrderBy + " " + model.OrderDir).Skip(model.StartRow).Take(model.PageSize);
            page.Records = await lessons.ToListAsync <Lesson>();

            return(page);
        }
Пример #10
0
        public CourseDetailViewModel GetCourse(int id)
        {
            var rand = new Random();
            var price = Convert.ToDecimal(rand.NextDouble() *10+10);
            var course = new CourseDetailViewModel
            {
                Id=id,
                Title=$"Corso{id}",
                CurrentPrice = new Money(Currency.EUR, price),
                FullPrice = new Money(Currency.EUR, rand.NextDouble() >0.5 ? price: price -1),
                Author = "Nome Cognome",
                Rating = rand.Next(10,50) /10.0,
                ImagePath ="/logo.csv",
                Description = $"Desrizione {id}",
                Lessons = new List<LessonViewModel>()
            };

            for(int i=1;i<=5;i++)
            {
                var lesson = new LessonViewModel{
                    Title = $"Lezione {i}",
                    Duration = TimeSpan.FromSeconds(rand.Next(40,90))
                };
                course.Lessons.Add(lesson);
            }
            return course;
        }
Пример #11
0
        public async Task <CourseDetailViewModel> GetCourseAsync(int id)
        {
            /*Per registrare i Log dell'applicazione*/
            logger.LogInformation($"Course {id} richiesto");

            FormattableString query   = $@"
            SELECT * FROM Courses WHERE Id={id};
            SELECT * FROM Lessons WHERE IdCourse={id}";
            DataSet           dataSet = await db.QueryAsync(query);

            var courseTable = dataSet.Tables[0];

            if (courseTable.Rows.Count != 1)
            {
                logger.LogWarning($"Corso {id} non trovato!");
                throw new CourseNotFoundException(id);
            }
            var courseRow             = courseTable.Rows[0];
            var courseDetailViewModel = CourseDetailViewModel.FromDataRow(courseRow);
            var lessonDataTable       = dataSet.Tables[1];

            foreach (DataRow lessonRow in lessonDataTable.Rows)
            {
                LessonViewModel lessonViewModel = LessonViewModel.FromDataRow(lessonRow);
                courseDetailViewModel.Lezioni.Add(lessonViewModel);
            }
            return(courseDetailViewModel);
        }
Пример #12
0
        public async Task <CourseDetailViewModel> GetCourseAsync(int id)
        {
            logger.LogInformation("Course {id} requested", id);

            FormattableString query = $@"SELECT Id, Title, Description, ImagePath, Author, Rating, FullPrice_Amount, FullPrice_Currency, CurrentPrice_Amount, CurrentPrice_Currency FROM Courses WHERE Id={id}
            ; SELECT Id, Title, Description, Duration FROM Lessons WHERE CourseId={id}";

            DataSet dataSet = await db.QueryAsync(query);

            //Course
            var courseTable = dataSet.Tables[0];

            if (courseTable.Rows.Count != 1)
            {
                logger.LogWarning("Course {id} not found", id);
                throw new CourseNotFoundException(id);
            }
            var courseRow             = courseTable.Rows[0];
            var courseDetailViewModel = CourseDetailViewModel.FromDataRow(courseRow);

            //Course lessons
            var lessonDataTable = dataSet.Tables[1];

            foreach (DataRow lessonRow in lessonDataTable.Rows)
            {
                LessonViewModel lessonViewModel = LessonViewModel.FromDataRow(lessonRow);
                courseDetailViewModel.Lessons.Add(lessonViewModel);
            }
            return(courseDetailViewModel);
        }
Пример #13
0
 public void  InsertOrUpdate(LessonViewModel lesson)
 {
     using (_repository = new LessonRepository())
     {
         _repository.InsertOrUpdate(Mapper.MapingLesson(lesson));
     }
 }
Пример #14
0
        public LessonViewModel PopulateLessonWithUsersEnrolledInformation(LessonViewModel lesson)
        {
            lesson.SeatsLeft         = this.SeatsLeftInLesson(lesson.Id);
            lesson.EnrolledUsernames = this.GetAllUsernamesThatEnrollInLesson(lesson.Id);

            return(lesson);
        }
Пример #15
0
 private bool ValitadionLesson(LessonViewModel lesson)
 {
     if (lesson.auditory > 2.0 || lesson.auditory < 0.0009)
     {
         return(false);
     }
     if (!Regex.IsMatch(lesson.discipline, @"^[\d|\D]{1,40}$"))
     {
         return(false);
     }
     if (!Regex.IsMatch(lesson.teacher, @"^[\d|\D]{1,40}$"))
     {
         return(false);
     }
     if (Regex.IsMatch(lesson.discipline, @"^.*\d+.*$"))
     {
         return(false);
     }
     if (Regex.IsMatch(lesson.teacher, @"^.*\d+.*$"))
     {
         return(false);
     }
     if (!Regex.IsMatch(lesson.group, @"^\w{2}-\d{3}"))
     {
         return(false);
     }
     if (lesson.day > 6 || lesson.day < 1)
     {
         return(false);
     }
     return(true);
 }
Пример #16
0
        public ActionResult Edit(LessonViewModel model)
        {
            try
            {
                var lesson = _context.Lessons.GetAll().Where(x => x.Guid == model.Guid && x.UserId == GetUser.Id).FirstOrDefault();
                if (model.Name != "")
                {
                    lesson.Name  = model.Name;
                    lesson.Code  = model.Code;
                    lesson.Hours = model.Hours;
                    lesson.Akts  = model.Akts;

                    var result = _context.Lessons.SaveChanges();
                    if (result > 0)
                    {
                        //return Redirect("~/Lesson/Index");
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        return(View(model));
                    }
                }
                else
                {
                    return(View(model));
                }
            }
            catch
            {
                return(Redirect("~/Lesson/Edit/" + model.Guid));
            }
        }
        public IActionResult Lesson(LessonViewModel modelLesson)
        {
            Validation <LessonViewModel> lessonViewModel = new Validation <LessonViewModel>();

            if (ModelState.IsValid)
            {
                if (modelLesson != null)
                {
                    lessonViewModel = lessonManager.Insert(modelLesson);

                    if (lessonViewModel.ErrorList.Count == 0)
                    {
                        _IRedisCacheService.GetAllRemove();
                        toastNotification.AddSuccessToastMessage("Ders Ekleme İşlemi Başarılı");
                        return(RedirectToAction("Lesson"));
                    }
                    else
                    {
                        lessonViewModel.ErrorList.ForEach(x => toastNotification.AddAlertToastMessage(x));
                        return(RedirectToAction("Lesson"));
                    }
                }
                else
                {
                    toastNotification.AddWarningToastMessage("Ders Ekleme İşlemi Sırasında Bir Hata Meydana Geldi!");
                    return(RedirectToAction("Lesson"));
                }
            }
            else
            {
                ModelState.Values.ToList().ForEach(x => x.Errors.ToList().ForEach(y => toastNotification.AddWarningToastMessage(y.ErrorMessage)));
                return(RedirectToAction("Lesson"));
            }
        }
Пример #18
0
        public async Task <CourseDetailViewModel> GetCourseAsync(int id)
        {
            logger.LogInformation("Course {id} requested", id); //permette di filtrare i log in base al valore degli id

            //la prima query carica il corso scelto al rispettivo id, la seconda invece carica tutte le lezioni legate all'id di quel corso
            //FormattableString separa la parte fissa dai suoi parametri
            FormattableString query = $@"SELECT Id, Title, Description, ImagePath, Author, Rating, FullPrice_Amount, FullPrice_Currency, CurrentPrice_Amount, CurrentPrice_Currency FROM Courses WHERE Id={id} 
            ; SELECT Id, Title, Description, Duration FROM Lessons WHERE CourseID={id}";

            DataSet dataSet = await db.ExecuteQueryAsync(query);

            //Course:
            //estrae i dati dalla prima datatable, se Rows >1 allora c'é un errore in quanto ci può essere solo 1 Row (evita la SqlInjection)
            var courseTable = dataSet.Tables[0];

            if (courseTable.Rows.Count != 1)
            {
                logger.LogWarning("Course {id} not found", id); //messaggio di log, problema non grave
                throw new CourseNotFoundException(id);
            }
            var courseRow             = courseTable.Rows[0]; //leggiamo la riga (courseRow), la passiamo a FromDataRow che farà la mappatura tra il datarow restituendo un oggetto di tipo courseDetailViewModel
            var courseDetailViewModel = CourseDetailViewModel.FromDataRow(courseRow);

            //Lessons
            var lessonDataTable = dataSet.Tables[1];

            foreach (DataRow lessonRow in lessonDataTable.Rows)
            {
                LessonViewModel lessonViewModel = LessonViewModel.FromDataRow(lessonRow);
                courseDetailViewModel.Lessons.Add(lessonViewModel); //ogni oggetto di LessonViewModel trovato viene aggiunto alla lista
            }
            return(courseDetailViewModel);
        }
Пример #19
0
        private List <EmailInfo> GenerateNotifications(List <Lesson> lessons, Enumerations.NotificationEmailType notificationType)
        {
            List <EmailInfo> emailList = new List <EmailInfo>();

            if (lessons != null && lessons.Count > 0)
            {
                ApplicationContext appContext = new ApplicationContext(this.HttpContext);

                foreach (var lesson in lessons)
                {
                    //If this key exists in the web.config, re-direct all emails to that address.
                    string overrideEmailAddress = Utility.SafeGetAppConfigSetting <string>("Debug_OverrideEmailAddress", null);

                    EmailTemplateViewData model = new EmailTemplateViewData(LessonViewModel.ToViewModel(this.HttpContext, lesson), notificationType, appContext, overrideEmailAddress);
                    string emailMessageBody     = Utils.RenderPartialViewToString(this, "EmailTemplate", model);

                    EmailInfo emailInfo = new EmailInfo
                    {
                        Body    = emailMessageBody,
                        MailTo  = model.Redirecting ? model.OverrideMailTo : model.MailTo,
                        Subject = model.Subject
                    };

                    //Only send 1 email per email address
                    if (!emailList.Where(x => x.MailTo == emailInfo.MailTo).Any())
                    {
                        emailList.Add(emailInfo);
                    }
                }
            }

            return(emailList);
        }
Пример #20
0
        public IActionResult Delete(int lessonId, bool confirmation = false)
        {
            var lessonToDelete = _traversalService.GetLesson(lessonId);

            ConfigureDeleteBreadcrumbs(lessonToDelete);

            if (!confirmation)
            {
                var vm = new LessonViewModel
                {
                    Id = lessonId,
                    TitleOrFullName = lessonToDelete.Subject.Name,
                    SemesterId      = lessonToDelete.SemesterId,
                    DepartmentId    = lessonToDelete.DepartmentId,
                    MaterialsCount  = lessonToDelete.MaterialsCount
                };

                return(View(vm));
            }
            else
            {
                // First - delete materials due to database constraints betwee Lesson and Material
                foreach (var material in lessonToDelete.Materials)
                {
                    _filesManagement.DeleteWholeMaterialFolder(material.MaterialId);
                    _materialsService.DeleteMaterial(material);
                }

                // actually delete
                _managementService.DeleteLesson(lessonToDelete.LessonId);

                return(RedirectToAction("Lessons", new { semesterId = lessonToDelete.SemesterId, departmentId = lessonToDelete.DepartmentId }));
            }
        }
Пример #21
0
        public void Create(LessonViewModel model)
        {
            var lessonId = _repo.LessonsRepo.Create(new Lesson {
                StartDate = new DateTime(model.StartDate.Year, model.StartDate.Month, model.StartDate.Day, model.StartHour, model.StartMinute, 0),
                EndDate   = new DateTime(model.StartDate.Year, model.StartDate.Month, model.StartDate.Day, model.EndHour, model.EndMinute, 0),
                File_Name = model.FileName,
                Name      = model.Name,
            });

            var gtlId = _repo.GroupTeacherLessonsRepo.Create(new GroupTeacherLesson
            {
                GroupTeacherId = _repo.GroupTeachersRepo.GetGroupTeacherId(model.GroupId, model.TeacherId),
                IsEnded        = false,
                LessonId       = lessonId,
            });

            var stIds = _repo.UsersRepo.GetStudentsIdList(model.GroupId);

            foreach (var id in  stIds)
            {
                var journalId = _repo.JournalsRepo.Create(new Journal
                {
                    Date       = model.StartDate,
                    Student_Id = id
                });

                _repo.GroupJournalsRepo.Create(new GroupJournal
                {
                    JournalID            = journalId,
                    GroupTeacherLessonId = gtlId
                });
            }
        }
Пример #22
0
        public CourseDetailViewModel GetCourse(int id)
        {
            Random rand = new Random();
            CourseDetailViewModel course = new CourseDetailViewModel()
            {
                Id        = id,
                NomeCorso = $"Corso {id}",
                Prezzo    = Convert.ToDecimal(12.50),
                Autore    = "Nome Cognome",
                Rating    = rand.Next(10, 50) / 10,
                Image     = "index.png",
                DescrizioneDettagliata = "At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.",
                Lezioni = new List <LessonViewModel>()
            };

            for (var i = 1; i <= 5; i++)
            {
                var lezione = new LessonViewModel {
                    Titolo = $"Lezione {i}",
                    Durata = TimeSpan.FromSeconds(rand.Next(40, 90))
                };
                course.Lezioni.Add(lezione);
            }
            return(course);
        }
Пример #23
0
        /// <summary>
        /// Searches for lessons based on input parameters. Lessons are paginated and a single paged is returned
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task<PagedList<Lesson>> Search(LessonViewModel model) 
        {
            PagedList<Lesson> page = new PagedList<Lesson>();

            IQueryable<Lesson> lessons = SearchedLesson(
                model.Keyword,
                model.InContent,
                model.Discipline,
                model.School,
                model.Classroom,
                model.Rate,
                model.Tags,
                model.PublishedOn,
                model.PublishedBy
            );

            page.Count = lessons.Count();
            page.StartRow = model.StartRow;
            page.PageSize = model.PageSize;

            lessons = lessons.OrderBy(model.OrderBy + " " + model.OrderDir).Skip(model.StartRow).Take(model.PageSize);
            page.Records = await lessons.ToListAsync<Lesson>();

            return page;
        }
Пример #24
0
        public async Task <IActionResult> UpdateLesson(Guid id, [FromBody] LessonViewModel model)
        {
            if (!ModelState.IsValid || id != model.Id)
            {
                return(BadRequest());
            }

            var lesson = await _dataContext.Lessons.FindAsync(model.Id);

            if (lesson == null)
            {
                return(NotFound());
            }

            DateTime date;

            if (!DateTime.TryParse(model.Date, out date))
            {
                return(BadRequest("Invalid Date"));
            }

            // Update values, all other properties are immutable after creation
            lesson.DateTime = date;
            lesson.Cost     = model.Cost;
            lesson.Status   = model.Status;

            await _dataContext.SaveChangesAsync();

            return(Ok());
        }
Пример #25
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            // LessonMain TableView
            // Setup tableview source
            this._srcLesson = new LessonMenuTableSource(this);
            this._srcLesson.ScrolledToBottom += ScrolledToBottom;
            this.tvLessonMain.Source          = this._srcLesson;

            // Register Events
            // Level Buttons
            this.btnLevel1.TouchUpInside  += OnClick_btnLevel1;
            this.btnLevel2.TouchUpInside  += OnClick_btnLevel2;
            this.btnLevel3.TouchUpInside  += OnClick_btnLevel3;
            this.btnLevel4.TouchUpInside  += OnClick_btnLevel4;
            this.btnLevel5.TouchUpInside  += OnClick_btnLevel5;
            this.btnLevel6.TouchUpInside  += OnClick_btnLevel6;
            this.btnLevel7.TouchUpInside  += OnClick_btnLevel7;
            this.btnLevel8.TouchUpInside  += OnClick_btnLevel8;
            this.btnLevel9.TouchUpInside  += OnClick_btnLevel9;
            this.btnLevel10.TouchUpInside += OnClick_btnLevel10;
            // Type Buttons
            this.btnTypeBasic.TouchUpInside     += OnClick_btnTypeBasic;
            this.btnTypeFractions.TouchUpInside += OnClick_btnTypeFraction;
            this.btnTypeGroups.TouchUpInside    += OnClick_btnTypeGrouped;
            this.btnTypeMixed.TouchUpInside     += OnClick_btnTypeMixed;
            // Operator Buttons
            this.btnOpAdd.TouchUpInside      += OnClick_btnOpAdd;
            this.btnOpAddSub.TouchUpInside   += OnClick_btnOpAddSub;
            this.btnOpDivision.TouchUpInside += OnClick_btnOpDivision;
            this.btnOpMultiply.TouchUpInside += OnClick_btnOpMultiply;
            this.btnOpMultSub.TouchUpInside  += OnClick_btnOpDivMulti;
            this.btnOpSubtract.TouchUpInside += OnClick_btnOpSubtract;
            // BackToMenu
            this.btnBackToMenu.TouchUpInside += OnClick_btnBackToMenu;



            #region Tutorial
            // 4/8/2016
            // Either of these must be used along with the deque approach in the tableview delegate getcell().
            // But! as I have learnt over the last 2 days, yu need not worry if the cell is a prototype inside a storyboard file.
            // Because the prototyped cell belongs to the tableview inside the storyboard, its already aware of what cell to create in a deque
            // Custom Class method  for auto loading the deque
            //this.tvLessonMain.RegisterClassForCellReuse(typeof(vLessonTableCell), "tvLessonMainCell");
            // Nib file method for autoloading the deque
            //this.tvLessonMain.RegisterNibForCellReuse(UINib.FromName("vlessonTableCell", NSBundle.MainBundle), "tvLessonMainCell");
            #endregion

            // LessonDetail TableView
            // Setup tableview source
            this._srcLessonDetail = new LessonDetailMenuTableSource(this);
            // No need to hook anything up to ScolledBottom.
            this.tvLessonDetail.Source = this._srcLessonDetail;

            // Load Initial lesson list
            _vmLesson = SharedServiceContainer.Resolve <LessonViewModel>();
            this.LoadLessonsInit();
        }
Пример #26
0
        public ActionResult DeleteConfirmed(Int32 id)
        {
            LessonViewModel lessonviewmodel = db.LessonViewModels.Find(id);

            db.LessonViewModels.Remove(lessonviewmodel);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #27
0
 public IActionResult Lesson(LessonViewModel viewModel)
 {
     if (ModelState.IsValid)
     {
         _lessonService.Add(viewModel.Lesson);
     }
     return(RedirectToAction("Index"));
 }
Пример #28
0
        private void btnShowLesson_Click(object sender, RoutedEventArgs e)
        {
            LessonViewModel lessonVM = new LessonViewModel();

            LessonView lessonView = new LessonView(lessonVM);

            lessonView.ShowDialog();
        }
Пример #29
0
        public Lessons()
        {
            InitializeComponent();
            var vm = new LessonViewModel();

            vm.View     = this;
            DataContext = vm;
        }
Пример #30
0
        public LessonView(LessonViewModel LessonViewModel)
        {
            InitializeComponent();

            this.LessonViewModel = LessonViewModel;

            DataContext = LessonViewModel;
        }
Пример #31
0
        public IActionResult SaveDraft(LessonViewModel updatedModel)
        {
            UserSessionContext userSession = new UserSessionContext(this.HttpContext);

            userSession.DraftDefaults = updatedModel;

            return(Save(updatedModel));
        }
Пример #32
0
        public ProgressViewModel(Timetable timetable, string notEnoughDataString, string freeTimeString, string progressStringFormat)
        {
            this.timetable = timetable;

            this.notEnoughData = new LessonViewModel(new Lesson(null, new SubjectRoom(new Subject(notEnoughDataString), "")));
            this.empty = new LessonViewModel(new Lesson(null, new SubjectRoom(new Subject(""), "")));
            this.freeTimeString = freeTimeString;
            this.progressStringFormat = progressStringFormat;
            this.UpdateData();
        }