public bool SchoolGradesDelete([FromBody] SchoolGradesViewModel model)
        {
            try
            {
                ScoolGrades            scoolGrades       = _context.ScoolGrades.Where(m => m.SchoolId == model.SchoolId && m.SchoolGradeId == model.SchoolGradeId && m.GradeCode == model.GradeCode).FirstOrDefault();
                List <ScoolGradesList> scoolGradesList   = _context.ScoolGradesList.Where(m => m.SchoolId == model.SchoolId && m.SchoolGradeId == model.SchoolGradeId).ToList();
                SchoolGradeTotals      schoolGradeTotals = _context.SchoolGradeTotals.Where(m => m.SchoolGradeId == model.SchoolGradeId && m.SchoolId == model.SchoolId && m.PeriodId == m.PeriodId).FirstOrDefault();
                scoolGrades.UserID = model.UserID;



                if (schoolGradeTotals != null)
                {
                    schoolGradeTotals.UserID = model.UserID;
                    schoolGradeTotals.Active = false;
                    _context.SchoolGradeTotals.Update(schoolGradeTotals);
                }

                _context.SaveChanges();

                if (scoolGradesList != null)
                {
                    if (scoolGradesList.Count() > 0)
                    {
                        foreach (var item in scoolGradesList)
                        {
                            item.UserID = model.UserID;
                            item.Active = false;

                            _context.ScoolGradesList.Update(item);
                        }
                    }
                }

                _context.SaveChanges();

                if (scoolGradesList != null)
                {
                    scoolGrades.Active = false;
                    _context.ScoolGrades.Update(scoolGrades);
                }

                _context.SaveChanges();

                return(true);
            }
            catch (Exception ex) {
                var error = ex.InnerException;
                return(false);
            }
        }
        public bool SchoolListGradesAdd([FromBody] List <SchoolGradesViewModel> model)
        {
            try
            {
                foreach (var item in model)
                {
                    ScoolGrades existingItem = _context.ScoolGrades.Where(m => m.SchoolId == item.SchoolId && m.GradeCode == item.GradeCode).FirstOrDefault();
                    if (existingItem != null)
                    {
                        existingItem.Active = true;
                        _context.ScoolGrades.Attach(existingItem);
                        _context.SaveChanges();
                        return(true);
                    }

                    existingItem = _context.ScoolGrades.Where(m => m.SchoolId == item.SchoolId && m.SchoolGradeId == item.SchoolGradeId && m.GradeCode == item.GradeCode).FirstOrDefault();

                    if (existingItem == null)
                    {
                        ScoolGrades db = new ScoolGrades();
                        db.SchoolId  = item.SchoolId;
                        db.GradeCode = item.GradeCode;
                        db.UserID    = item.UserID;
                        db.Type007   = "007";
                        db.PeriodId  = _IPeriods.PeriodId;
                        db.Active    = true;
                        _context.ScoolGrades.Add(db);
                        _context.SaveChanges();

                        SchoolGradeTotals schoolGradeTotals = _context.SchoolGradeTotals.Where(m => m.SchoolId == item.SchoolId && m.SchoolGradeId == db.SchoolGradeId && db.SchoolId == _IPeriods.PeriodId).FirstOrDefault();

                        if (schoolGradeTotals == null)
                        {
                            SchoolGradeTotals gradeTotals = new SchoolGradeTotals()
                            {
                                NoOffLearners = 0, NoOffClasses = 0, NoOffParticipation = 0, PeriodId = _IPeriods.PeriodId, SchoolGradeId = db.SchoolGradeId, SchoolId = item.SchoolId, UserID = item.UserID
                            };
                            _context.SchoolGradeTotals.Add(gradeTotals);
                            _context.SaveChanges();
                        }
                    }
                }
                return(true);
            }
            catch (Exception ex) {
                var error = ex.InnerException;
                return(false);
            }
        }