Ejemplo n.º 1
0
        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") }));
            }
        }
Ejemplo n.º 2
0
        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"));
            }
        }