public void AddOrUpdateStudent(StudentModel student)
        {
            if (student.Id != 0)
            {
                var studentEntity = _db.Students.Include("Notes").Include("ParentInfo").Include("StudentsMedia").FirstOrDefault(it => it.Id == student.Id);
                if (studentEntity != null)
                {
                    studentEntity.FirstName    = student.FirstName;
                    studentEntity.LastName     = student.LastName;
                    studentEntity.Code         = student.Code;
                    studentEntity.Age          = student.Age;
                    studentEntity.Gender       = student.Gender;
                    studentEntity.Phone        = student.Phone;
                    studentEntity.Email        = student.Email;
                    studentEntity.Adress       = student.Adress;
                    studentEntity.Star         = student.Star;
                    studentEntity.ClassModelId = student.ClassModelId;
                    _db.Entry(studentEntity.ParentInfo).State = EntityState.Deleted;
                    _db.ParentInfo.Update(student.ParentInfo);

                    DeleteData(studentEntity.StudentsMedia);
                    studentEntity.StudentsMedia.AddRange(student.StudentsMedia);

                    DeleteData(studentEntity.Notes);
                    studentEntity.Notes.AddRange(student.Notes);

                    _db.Students.Update(studentEntity);
                }
            }
            else
            {
                _db.Students.Add(student);
            }

            _db.SaveChanges();
        }
Exemple #2
0
        //public void AddStudentToClass(ClassModel classModel)
        //{
        //    if (classModel.Id == 0) return;
        //    var classEntity = _db.Classes.Include("Students").FirstOrDefault(it => it.Id == classModel.Id);

        //    if (classEntity == null) return;
        //    DeleteData(classEntity.Students);
        //    classEntity.Students.AddRange(classModel.Students);
        //    _db.Classes.Update(classEntity);

        //    var student = classModel.Students.FirstOrDefault(x => x.Id == classEntity.Students.FirstOrDefault(y => y.Id == x.Id).Id);
        //    var studentEntity = _db.Students.Include("ClassModel").Include("Notes").Include("ParentInfo").Include("StudentsMedia").FirstOrDefault(it => it.Id == student.Id);

        //    //studentEntity.ClassModel = classModel;
        //    student.ClassModel = classModel;
        //    _db.Entry(studentEntity).State = EntityState.Deleted;
        //    _db.Students.Update(student);

        //    _db.Students.Update(student ?? throw new InvalidOperationException());
        //    _db.SaveChanges();

        //}


        public void AddOrUpdateClass(ClassModel classModel)
        {
            if (classModel.Id != 0)
            {
                var classEntity = _db.Classes.Include("ClassMediaIcon").Include("ClassesMediaFiles").Include("Students").Include("Groups").Include("Notes").FirstOrDefault(it => it.Id == classModel.Id);

                if (classEntity != null)
                {
                    classEntity.Title           = classModel.Title;
                    classEntity.Code            = classModel.Code;
                    classEntity.CourseStartDate = classModel.CourseStartDate;
                    classEntity.CourseEndDate   = classModel.CourseEndDate;
                    classEntity.Stars           = classModel.Stars;

                    _db.Entry(classEntity.ClassMediaIcon).State = EntityState.Deleted;
                    _db.ClassMediaIcon.Update(classModel.ClassMediaIcon);

                    DeleteData(classEntity.Groups);
                    classEntity.Groups.AddRange(classModel.Groups);

                    DeleteData(classEntity.Notes);
                    classEntity.Notes.AddRange(classModel.Notes);

                    DeleteData(classEntity.ClassesMediaFiles);
                    classEntity.ClassesMediaFiles.AddRange(classModel.ClassesMediaFiles);

                    _db.Classes.Update(classEntity);
                }
            }
            else
            {
                _db.Classes.Add(classModel);
            }

            _db.SaveChanges();
        }
 public void Update(UserModel userModel)
 {
     _db.Entry(userModel).State = EntityState.Modified;
     _db.SaveChanges();
 }