示例#1
0
        public ActionResult Create([Bind(Include = "Id,LastName,FirstName,Patronymic,Email,Description,Phone")] Teacher teacher, HttpPostedFileBase uploadImage)
        {
            var tcUrl = RouteData.Values["tc"];
            var tc    = db.TrainingCenters.SingleOrDefault(a => a.Url == tcUrl);

            if (ModelState.IsValid)
            {
                if (uploadImage != null)
                {
                    byte[] imageData = null;
                    // считываем переданный файл в массив байтов
                    using (var binaryReader = new BinaryReader(uploadImage.InputStream))
                    {
                        imageData = binaryReader.ReadBytes(uploadImage.ContentLength);
                    }
                    // установка массива байтов
                    teacher.Image = imageData;
                }
                db.Users.Add(teacher);
                db.SaveChanges();
                var teach = db.Teachers.FirstOrDefault(a => a.Email == teacher.Email);
                TrainingCenterTeacher trainingCenterTeacher = new TrainingCenterTeacher()
                {
                    IdTeacher = teach.Id, IdTrainingCenter = tc.Id
                };
                db.TrainingCenterTeachers.Add(trainingCenterTeacher);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(teacher));
        }
示例#2
0
        public async Task <ActionResult> Create([Bind(Include = "UserName,Password,TypeUser,LastName,FirstName,Patronymic,Email,Description,Phone,DateOfBirth,PassportData")] UserMan user)
        {
            user.DateOfBirth = DateTime.Now.ToString();
            if (ModelState.IsValid)
            {
                var tcUrl = RouteData.Values["tc"];
                var tc    = db.TrainingCenters.SingleOrDefault(a => a.Url == tcUrl);

                var anu = new RegisterViewModel();
                anu.UserName        = user.UserName;
                anu.Password        = user.Password;
                anu.ConfirmPassword = user.Password;

                if (user.TypeUser == "teacher")
                {
                    var teacher = new Teacher();
                    teacher.Description = user.Description;
                    teacher.Email       = user.Email;
                    teacher.FirstName   = user.FirstName;
                    teacher.LastName    = user.LastName;
                    teacher.Patronymic  = user.Patronymic;

                    teacher.Phone = user.Phone;

                    db.Teachers.Add(teacher);
                    db.SaveChanges();

                    var teach = db.Teachers.SingleOrDefault(a => a.Email == user.Email);
                    //anu.UserId = teach.Id;

                    TrainingCenterTeacher trainingCenterTeacher = new TrainingCenterTeacher()
                    {
                        IdTeacher = teach.Id, IdTrainingCenter = tc.Id
                    };
                    db.TrainingCenterTeachers.Add(trainingCenterTeacher);
                    db.SaveChanges();
                }
                if (user.TypeUser == "student")
                {
                    var student = new Student();
                    student.Description = user.Description;
                    student.Email       = user.Email;
                    student.FirstName   = user.FirstName;
                    student.LastName    = user.LastName;
                    student.Patronymic  = user.Patronymic;

                    student.DateOfBirth  = Int32.Parse(user.DateOfBirth);
                    student.PassportData = user.PassportData;

                    db.Students.Add(student);
                    db.SaveChanges();

                    var stud = db.Students.SingleOrDefault(a => a.Email == user.Email);
                    //anu.UserId = stud.Id;
                }

                AccountController q = new AccountController();
                await q.Register(anu);

                var savedUser       = db.Users.SingleOrDefault(a => a.Email == user.Email);
                var savedAspNetUser = appDb.Users.SingleOrDefault(a => a.UserName == user.UserName);

                savedUser.AspNetUserId = savedAspNetUser.Id;

                db.Entry(savedUser).State = EntityState.Modified;
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }
            return(View(user));
        }