private static void AgregarActualizarPersonaSola() { CRUDPersonaFacade fachada = new CRUDPersonaFacade(); Persona mPersona = new Persona { Nombre = DateTime.Now.ToString(), Apellido = "Sánchez", Telefonos = new List<Telefono>() }; fachada.Create(mPersona); Console.WriteLine("Creada ({0})",mPersona.PersonaId); Console.ReadKey(); int id = mPersona.PersonaId; mPersona = null; mPersona = fachada.GetById(id); mPersona.Nombre = "Ramiro"; mPersona.Apellido = "Estuvo aqui"; Console.WriteLine("Modificada"); Console.ReadKey(); fachada.Update(mPersona); Console.WriteLine("Actualizada"); Console.ReadKey(); }
public virtual void Update(Persona pPersona) { Persona lPersonaOriginal = this.iUnitOfWork.PersonaRepository.GetByID(pPersona.PersonaId); if (lPersonaOriginal != null) { // Entry<TEntity>(original).CurrentValues.SetValues(current) //this.iUnitOfWork.PersonaRepository.context.Entry<Persona>(lPersonaOriginal).CurrentValues.SetValues(pPersona); foreach (var telefono in pPersona.Telefonos) // Recorro los telefonos de pPersona para Actualizar / Agregar { /*if (lPersonaOriginal.Telefonos.Contains(telefono)) { this.iUnitOfWork.TelefonoRepository.Delete(telefono); }*/ // if (lTemp.Telefonos.FirstOrDefault(t => t.TelefonoId == telefono.TelefonoId) == null) if (telefono.TelefonoId == 0) { // Agregar this.iUnitOfWork.TelefonoRepository.Insert(telefono); } else { // Actualizar this.iUnitOfWork.TelefonoRepository.Update(telefono); } } //IList<Telefono> listaAux = lPersonaOriginal.Telefonos; /*lPersonaOriginal.Telefonos.RemoveAll( t => pPersona.Telefonos.SingleOrDefault<Telefono>(t2 => t2.TelefonoId == t.TelefonoId) == null);*/ /* var eliminar = lPersonaOriginal.Telefonos.Except<Telefono>( pPersona.Telefonos, new IEqualityComparers.TelefonoIdComparer()); foreach (Telefono tel in eliminar) { this.iUnitOfWork.TelefonoRepository.Delete(tel); }*/ foreach (var telefono in lPersonaOriginal.Telefonos.ToArray<Telefono>()) // Recorro los telefonos de lTemp par eliminar los que no esten en pPersona { if (!pPersona.Telefonos.Contains(telefono, new IEqualityComparers.TelefonoIdComparer())) { this.iUnitOfWork.TelefonoRepository.Delete(telefono); } } /* this.iUnitOfWork.PersonaRepository.context.Entry<Persona>(lPersonaOriginal).CurrentValues.SetValues(pPersona); this.iUnitOfWork.PersonaRepository.Update(lPersonaOriginal); */ this.iUnitOfWork.PersonaRepository.Update(lPersonaOriginal); this.iUnitOfWork.Save(); } else { // Si lTemp es nulo singifica que la persona no esta cargada y por lo tanto hubo un error } }
public void ModificarPersona(Persona pPersona) { this.txtId.Text = pPersona.PersonaId.ToString(); this.txtNombre.Text = pPersona.Nombre; this.txtApellido.Text = pPersona.Apellido; this.Text = "Modificar Persona"; this.iPersonaOriginal = pPersona; }
public void AgregarPersona(Persona pPersonaNueva) { this.txtId.Text = "--- Sin ID ---"; this.txtNombre.Text = String.Empty; this.txtApellido.Text = String.Empty; this.Text = "Agregar nueva Persona"; this.iPersonaOriginal = pPersonaNueva; }
public virtual void Create(Persona pPersona) { this.iUnitOfWork.PersonaRepository.Insert(pPersona); /*foreach (var item in pPersona.Telefonos) { this.iUnitOfWork.TelefonoRepository.Insert(item); }*/ this.iUnitOfWork.Save(); }
private void button1_Click(object sender, EventArgs e) { persona = new Persona(); VentanaPersonas ventana = new VentanaPersonas(); ventana.AgregarPersona(persona); DialogResult resultado = ventana.ShowDialog(); if (resultado == DialogResult.OK) { iFachada.Create(persona); } }
private void btnTelefonos_Click(object sender, EventArgs e) { DataGridViewRow row = dgvPersonas.CurrentRow; this.persona = this.iBinding.Single<Persona>(p => p.PersonaId == (int)row.Tag); VentanaListaTelefonos ventana = new VentanaListaTelefonos(persona); ventana.ShowDialog(); if (ventana.DialogResult == DialogResult.OK) { iFachada.Update(persona); } }
public void TestMethod1() { var mockSetPersonas = new Mock<DbSet<Persona>>(); var mockSetTelefonos = new Mock<DbSet<Persona>>(); var mockContext = new Mock<AgendaContext>(); var mockEntry = new Mock<DbEntityEntry<Persona>>(); var mockRepository = new Mock<GenericRepository<Persona>>(mockContext.Object); var repositorio = mockRepository.Object; Persona lPersona = new Persona() { Nombre = "Ramiro", Apellido = "Rivera", Telefonos = new List<Telefono>() { new Telefono() { Tipo = "Celular", Numero="03447-15409832" } } }; }
private void dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e) { DataGridViewRow row = dgvPersonas.CurrentRow; this.persona = this.iBinding.Single<Persona>(p => p.PersonaId == (int)row.Tag); VentanaPersonas ventana = new VentanaPersonas(); ventana.ModificarPersona(persona); ventana.ShowDialog(); if (ventana.DialogResult == DialogResult.OK) { iFachada.Update(persona); } }
static void AgregarTest() { CRUDPersonaFacade fachada = new CRUDPersonaFacade(); Persona mPersona = new Persona { Nombre = DateTime.Now.ToString(), Apellido = "Sánchez", Telefonos = new List<Telefono>() }; Telefono mTelefono1 = new Telefono { Numero = DateTime.Now.Ticks.ToString(), Tipo = "Celular" }; Telefono mTelefono2 = new Telefono { Numero = DateTime.Now.Second.ToString(), Tipo = "Celular" }; mPersona.Telefonos.Add(mTelefono1); mPersona.Telefonos.Add(mTelefono2); fachada.Create(mPersona); Console.WriteLine("Agregada"); Console.ReadKey(); /* Persona pers = fachada.GetById(1); try { Console.WriteLine("Get by id Nombre: {0}, Cantidad de Telefonos: {1}", pers.Nombre, pers.Telefonos == null ? "null" : pers.Telefonos.Count.ToString()); } catch (System.ObjectDisposedException) { Console.WriteLine("Get by id Nombre: {0}, Cantidad de Telefonos: {1}", pers.Nombre, "Context Disposed"); } Console.ReadKey(); MostrarTodosTest(fachada);*/ }
static void MostrarPersona(Persona pPersona) { Console.WriteLine("\tPersona encontrada Nombre:{0}, Apellido: {1}, IdPersona:{2}", pPersona.Nombre, pPersona.Apellido, pPersona.PersonaId.ToString()); try { if (pPersona.Telefonos != null) { foreach (var tel in pPersona.Telefonos) { Console.WriteLine("\t\tNumero: {0},Tipo{1}", tel.Numero, tel.Tipo); } } else { Console.WriteLine("\tSin Telefonos"); } } catch (System.ObjectDisposedException) { Console.WriteLine("\tContext Disposed"); } }
public virtual void Delete(Persona pPersona) { this.iUnitOfWork.PersonaRepository.Delete(pPersona.PersonaId); this.iUnitOfWork.Save(); }