コード例 #1
0
        public ActionResult Edit(int id, Persona persona)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(persona));
                }
                using (var db = new PersonaContext())
                {
                    Persona personaDB = db.Personas.Find(id);
                    personaDB.Nombre          = persona.Nombre;
                    personaDB.Apellido        = persona.Apellido;
                    personaDB.NumeroDocumento = persona.NumeroDocumento;
                    personaDB.FechaNacimiento = persona.FechaNacimiento;


                    var numeroId = db.BuscarDireccion(persona.Direccion.calle, persona.Direccion.numero);
                    if (numeroId != 0)
                    {
                        personaDB.DireccionId = numeroId;
                        db.SaveChanges();
                    }
                    else
                    {
                        Direccion nueva = new Direccion();
                        nueva.calle  = persona.Direccion.calle;
                        nueva.numero = persona.Direccion.numero;
                        db.Direcciones.Add(nueva);
                        personaDB.DireccionId = nueva.Id;
                        db.SaveChanges();
                    }

                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(View());
            }
        }