Example #1
0
        public ActionResult TeacherIn(String fileName)                //Excel导入教师信息
        {
            myTBsys.TeacherIn teacherIn = new TeacherIn();
            bool res = teacherIn.Click(fileName);

            db.SaveChanges();
            return(RedirectToAction("DataIn"));
        }
        public async Task <IActionResult> TeacherRegister(TeacherIn teacher)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            foreach (var item in teacher.phones)
            {
                if (String.IsNullOrEmpty(item.phone_number))
                {
                    return(BadRequest(new { errorText = "Empty phone field!" }));
                }
            }
            byte[] salt    = PasswordManager.GenerateSalt_128();
            string saltStr = Encoding.ASCII.GetString(salt);

            Teachers withId = new Teachers();

            withId.name       = teacher.name;
            withId.surname    = teacher.surname;
            withId.lastname   = teacher.lastname;
            withId.email      = teacher.email;
            withId.work_begin = DateTime.Now;
            withId.work_exp   = 0;
            withId.hash       = PasswordManager.PasswordSaveHashing(teacher.Password_temp, salt);
            withId.salt       = saltStr;
            _context.Teachers.Add(withId);
            _context.SaveChanges();


            int id = withId.id_teacher;

            foreach (Models.Teacher.PhonesIn phone in teacher.phones)
            {
                await _context.Database.ExecuteSqlInterpolatedAsync($"INSERT INTO Teacher_phones VALUES ({phone.phone_number}, {id});");
            }

            //await _context.Database.ExecuteSqlInterpolatedAsync($"INSERT INTO Teachers VALUES ({null}, {teacher.name}, {teacher.surname}, {teacher.lastname}, {teacher.email},  {DateTime.Now}, {0}, {PasswordManager.PasswordSaveHashing(teacher.Password_temp, salt)} , {saltStr});");
            return(Ok());
        }