public ActionResult Create(Doctor doctor)
 {
     try
     {
         Role role = db.Roles.FirstOrDefault(r => r.RoleName == "Doctor");
         doctor.Roles = new List<Role>();
         doctor.Roles.Add(role);
         doctor.CreatedDate = DateTime.UtcNow;
         doctor.ProfilePicture = "photo.jpg";
         doctor.IsActive = true;
         var email = Request.Params["Email"];
         string emailPatient = Convert.ToString(email);
         doctor.Email = emailPatient;
         doctor.Password = accBusiness.GeneratePassword();
         var first = Request.Params["FirstName"];
         string firstname = Convert.ToString(first);
         doctor.FirstName = firstname;
         var last = Request.Params["LastName"];
         string lastname = Convert.ToString(last);
         doctor.LastName = lastname;
         int getLastId = db.Users.Max(item => item.UserId);
         var specialtyFieldId = Request.Params["dropdownlist"];
         int specialty = Convert.ToInt32(specialtyFieldId);
         doctor.UserId = getLastId;
         doctor.SpecialtyFieldId = specialty;
         db.Doctors.Add(doctor);
         db.SaveChanges();
     }
     catch (DbEntityValidationException e)
     {
         foreach (var eve in e.EntityValidationErrors)
         {
             Debug.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                 eve.Entry.Entity.GetType().Name, eve.Entry.State);
             foreach (var ve in eve.ValidationErrors)
             {
                 Debug.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                     ve.PropertyName, ve.ErrorMessage);
             }
         }
     }
     Thread emailBackground = new Thread(delegate()
     {
         var subject = "Tạo tài khoản bác sĩ";
         var body = "<html>" +
                           "<body>" +
                               "<h2>Hệ thống đã tạo cho bạn một tài khoản với các thông tin: </h2>" +
                               "<p>Mật khẩu: " + doctor.Password + "</p>" +
                           "</body>" +
                       "</html>";
         accBusiness.SendMail(doctor.Email, subject, body);
     });
     emailBackground.IsBackground = true;
     emailBackground.Start();
     return RedirectToAction("Index");
 }
        public ActionResult Edit(Doctor doctor, HttpPostedFileBase file)
        {
            if (ModelState.IsValid)
            {
                if (file == null)
                {
                    var filename = Request.Params["profile"];
                    string profile = Convert.ToString(filename);
                    doctor.ProfilePicture = profile;
                }
                else if (file != null)
                {
                    var fileName = Path.GetFileName(file.FileName);
                    var path = HttpContext.Server.MapPath("~/Content/Image/ProfilePicture/" + fileName);
                    var dbPath = string.Format("/Content/Image/ProfilePicture/" + fileName);
                    file.SaveAs(path);
                    doctor.ProfilePicture = fileName;
                }
                var first = Request.Params["FirstName"];
                string firstname = Convert.ToString(first);
                doctor.FirstName = firstname;
                var last = Request.Params["LastName"];
                string lastname = Convert.ToString(last);
                doctor.LastName = lastname;
                doctor.IsActive = true;
                db.Entry(doctor).State = EntityState.Modified;
                db.SaveChanges();

                return RedirectToAction("Index");
            }

            return PartialView("Edit", doctor);
        }