public ActionResult Registro([Bind(Exclude = "perfilphoto")] RegistroPerfilView perfil) { if (User.Identity.IsAuthenticated) { if (ModelState.IsValid) { byte[] imageData = null; //ApplicationUserManager userManager; var user = User.Identity; var usuario = UserManager.FindById(User.Identity.GetUserId()); PerfilMedico v_perfilmedico = new PerfilMedico(); v_perfilmedico.Id = user.GetUserId(); v_perfilmedico.PrimerNombre = perfil.PrimerNombre; v_perfilmedico.SegundoNombre = perfil.SegundoNombre; v_perfilmedico.PrimerApellido = perfil.PrimerApellido; v_perfilmedico.SegundoApellido = perfil.SegundoApellido; v_perfilmedico.DescripcionCorta = perfil.DescripcionCorta; v_perfilmedico.DescripcionLarga = perfil.DescripcionLarga; HttpPostedFileBase file = Request.Files["perfilphoto"]; if (file.ContentLength > 0) { //HttpPostedFileBase file = Request.Files["perfilphoto"]; imageData = new byte[file.ContentLength]; file.InputStream.Read(imageData, 0, imageData.Length); } else { string fileName = HttpContext.Server.MapPath(@"~/Images/no-image.png"); FileInfo fileInfo = new FileInfo(fileName); long imageFileLength = fileInfo.Length; FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); BinaryReader br = new BinaryReader(fs); imageData = br.ReadBytes((int)imageFileLength); } v_perfilmedico.Photo = imageData; usuario.PerfilMedico = v_perfilmedico; try { UserManager.Update(usuario); } catch (Exception ex) { throw new Exception(ex.Message); } return(RedirectToAction("Index")); } return(View(perfil)); } else { return(RedirectToAction("Login", "Account", new { area = "", returnUrl = Url.Action("Index", "PerfilMedico") })); } }
public ActionResult Editar([Bind(Exclude = "perfilPhoto")] RegistroPerfilView modelperfil) { try { if (User.Identity.IsAuthenticated) { if (ModelState.IsValid) { //var user = User.Identity; var usuario = UserManager.FindById(User.Identity.GetUserId()); PerfilMedico v_perfilmedico = new PerfilMedico(); //v_perfilmedico. v_perfilmedico.Id = usuario.Id; //v_perfilmedico.PrimerNombre = perfil.PrimerNombre; //v_perfilmedico.SegundoNombre = perfil.SegundoNombre; //v_perfilmedico.PrimerApellido = perfil.PrimerApellido; //v_perfilmedico.SegundoApellido = perfil.SegundoApellido; //v_perfilmedico.DescripcionCorta = perfil.DescripcionCorta; //v_perfilmedico.DescripcionLarga = perfil.DescripcionLarga; //var perfil = db.PerfilMedico.Find(modelperfil.Id); if (usuario.PerfilMedico != null) { byte[] imageData = null; HttpPostedFileBase file = Request.Files["perfilphoto"]; //PerfilMedico v_perfilmedico = new PerfilMedico(); v_perfilmedico.PrimerNombre = modelperfil.PrimerNombre; v_perfilmedico.SegundoNombre = modelperfil.SegundoNombre; v_perfilmedico.PrimerApellido = modelperfil.PrimerApellido; v_perfilmedico.SegundoApellido = modelperfil.SegundoApellido; v_perfilmedico.DescripcionCorta = modelperfil.DescripcionCorta; v_perfilmedico.DescripcionLarga = modelperfil.DescripcionLarga; if (file.ContentLength > 0) { //HttpPostedFileBase file = Request.Files["perfilphoto"]; imageData = new byte[file.ContentLength]; file.InputStream.Read(imageData, 0, imageData.Length); } else { string fileName = HttpContext.Server.MapPath(@"~/Images/no-image.png"); FileInfo fileInfo = new FileInfo(fileName); long imageFileLength = fileInfo.Length; FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); BinaryReader br = new BinaryReader(fs); imageData = br.ReadBytes((int)imageFileLength); } v_perfilmedico.Photo = imageData; usuario.PerfilMedico = v_perfilmedico; UserManager.Update(usuario); //db.Entry(perfil).State = System.Data.Entity.EntityState.Modified; //db.SaveChanges(); } return(RedirectToAction("Index")); } return(View(modelperfil)); } else { return(RedirectToAction("Login", "Account", new { area = "", returnUrl = Url.Action("Index", "PerfilMedico") })); } } catch (DbEntityValidationException ex) { StringBuilder sb = new StringBuilder(); sb.AppendLine(); sb.AppendLine(); foreach (var eve in ex.EntityValidationErrors) { sb.AppendLine(string.Format("- Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().FullName, eve.Entry.State)); foreach (var ve in eve.ValidationErrors) { sb.AppendLine(string.Format("-- Property: \"{0}\", Value: \"{1}\", Error: \"{2}\"", ve.PropertyName, eve.Entry.CurrentValues.GetValue <object>(ve.PropertyName), ve.ErrorMessage)); } } return(View("Error")); } catch (Exception ex) { throw new Exception(ex.Message); return(View("Error")); } }