public async Task <IActionResult> NewData(SchoolLevelViewModel data)
        {
            var user = await CurrentUser();

            if (Validate())
            {
                var result = await _lvl.AddSchoolLevel(data);

                if (result.Succeeded)
                {
                    return(RedirectToAction("Success", new { message = "Creating new level " + data.Name + " succeeded!" }));
                }
                else
                {
                    AddPageAlerts(PageAlertType.Warning, result.Error.Description);
                }
            }

            AddPageHeader("Levels");
            AddBreadcrumb("Levels", "/level");
            AddBreadcrumb("[New]", "");

            var model = new SchoolLevelViewModel();

            model.SchoolYearsSelections = _sy.GetSchoolYears(user.School.Id)
                                          .Select(o => new SelectListItem()
            {
                Text = o.Name, Value = o.Id.ToString()
            })
                                          .ToList();

            return(View(model));
        }
        public async Task <ResponseResult <SchoolLevelViewModel> > UpdateSchoolLevel(SchoolLevelViewModel data)
        {
            using (var trans = _context.Database.BeginTransaction())
            {
                var level = _manager.GetSingle(o => o.Id == data.Id);
                level.Name = data.Name;
                await _manager.UpdateAsync(level);

                await trans.CommitAsync();
            }

            return(ResponseResult <SchoolLevelViewModel> .SetSuccess(data));
        }
        public async Task <IActionResult> NewData()
        {
            var user = await CurrentUser();

            AddPageHeader("Levels");
            AddBreadcrumb("Levels", "/level/" + user.School.Id);
            AddBreadcrumb("[New]", "");


            var model = new SchoolLevelViewModel();

            model.SchoolId = user.School.Id;

            return(View(model));
        }
        public async Task <ResponseResult <SchoolLevelViewModel> > AddSchoolLevel(SchoolLevelViewModel data)
        {
            using (var trans = _context.Database.BeginTransaction())
            {
                var school = _schoolManager.GetSingle(o => o.Id == data.SchoolId);

                var level = await _manager.AddAsync(new SchoolLevel()
                {
                    Name   = data.Name,
                    School = school
                });

                data.Id = level.Id;
                await trans.CommitAsync();
            }

            return(ResponseResult <SchoolLevelViewModel> .SetSuccess(data));
        }
        public async Task <IActionResult> EditData(SchoolLevelViewModel data)
        {
            var user = await CurrentUser();

            if (Validate())
            {
                var result = await _lvl.UpdateSchoolLevel(data);

                if (result.Succeeded)
                {
                    AddPageAlerts(PageAlertType.Success, "Updating level " + data.Name + " succeeded!");
                }
                else
                {
                    AddPageAlerts(PageAlertType.Warning, result.Error.Description);
                }
            }
            AddPageHeader("Levels");
            AddBreadcrumb("Levels", "/level/" + user.School.Id);
            AddBreadcrumb(data.Name, "");
            return(View(data));
        }