public bool ConfirmarCierre() { notificacionBindingSource.EndEdit(); DisconnectedChangeSet changeSet = _disconnectedDataContext.GetChangeSet(); if (changeSet.HayCambios) { DialogResult dlgResult; dlgResult = MessageBox.Show("Ha realizado modificaciones en la lista de notificaciones. ¿Desea guardarlas?", "MSDN Video", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (dlgResult == DialogResult.Yes) { Guardar(); return(true); } else if (dlgResult == DialogResult.No) { return(true); } else { return(false); } } return(true); }
public void Guardar() { socioBindingSource.EndEdit(); ValidarClaveRepetida(); DisconnectedChangeSet changeSet = _disconnectedDataContext.GetChangeSet(); if (changeSet.Validate() && ValidarClaves()) { if (changeSet.HayCambios || _nuevasClaves.Count > 0) { // Guardo el changeset ConnectionHelper.ServiceClient.ChangeSet_ActualizarChangeSet(changeSet); // Almacenamos las clave foreach (KeyValuePair <Socio, string> entry in _nuevasClaves) { ConnectionHelper.ServiceClient.Usuarios_EstablecerClave(entry.Key.NIF, entry.Value); } // Refrescamos Refrescar(); } } else { MessageBox.Show("Corrija la información no válida antes de guardar", "MSDN Video", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
public void Guardar() { peliculasBindingSource.EndEdit(); DisconnectedChangeSet changeSet = _disconnectedDataContext.GetChangeSet(); if (changeSet.Validate()) { if (changeSet.HayCambios || _nuevasCaratulas.Count > 0) { // Guardo el changeset ConnectionHelper.ServiceClient.ChangeSet_ActualizarChangeSet(changeSet); // Almacenamos carátulas foreach (KeyValuePair <Pelicula, Bitmap> entry in _nuevasCaratulas) { MemoryStream stream = new MemoryStream(); entry.Value.Save(stream, ImageFormat.Jpeg); ConnectionHelper.ServiceClient.Peliculas_ModificarCaratula(stream.ToArray(), entry.Key.CodBarras); } // Refrescamos Refrescar(); } } else { MessageBox.Show("Corrija la información no válida antes de guardar", "MSDN Video", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
public void ModificarPeliculaYEliminarActorTest() { PeliculasAD peliculasAD = new PeliculasAD(); ChangeSetAD changesetAD = new ChangeSetAD(); string codBarras = "0045907014545"; Pelicula pelicula; int actoresCount; pelicula = peliculasAD.ObtenerPeliculaPorCodBarras(codBarras, true, false); DisconnectedDataContext <EntidadesDataContext> dataContext = new DisconnectedDataContext <EntidadesDataContext>(); dataContext.Attach(pelicula); pelicula.Duracion = 100; actoresCount = pelicula.ActoresPeliculas.Count; pelicula.ActoresPeliculas.RemoveAt(0); using (TransactionScope tx = new TransactionScope()) { DisconnectedChangeSet changeSet = dataContext.GetChangeSet(); changesetAD.ActualizarChangeSet(changeSet); pelicula = peliculasAD.ObtenerPeliculaPorCodBarras(codBarras, true, false); Assert.AreEqual(100, pelicula.Duracion); Assert.AreEqual(actoresCount - 1, pelicula.ActoresPeliculas.Count); } }
public void ChangeSetModificacionBorradoTest() { IMSDNVideoServices client = ConnectionHelper.ServiceClient; int actoresCount; Pelicula pelicula = client.Peliculas_ObtenerPeliculaPorCodBarras("0045907014545", true, false); ActoresPelicula actorPeliculaBorrado; DisconnectedDataContext <EntidadesDataContext> dataContext = new DisconnectedDataContext <EntidadesDataContext>(); dataContext.Attach(pelicula); pelicula.Duracion = 119; actoresCount = pelicula.ActoresPeliculas.Count; actorPeliculaBorrado = (ActoresPelicula)OperacionesEntidad.CreateDataCopy(pelicula.ActoresPeliculas[0], false); pelicula.ActoresPeliculas.RemoveAt(0); DisconnectedChangeSet changeSet = dataContext.GetChangeSet(); client.ChangeSet_ActualizarChangeSet(changeSet); pelicula = client.Peliculas_ObtenerPeliculaPorCodBarras("0045907014545", true, false); Assert.AreEqual(119, pelicula.Duracion); Assert.AreEqual(actoresCount - 1, pelicula.ActoresPeliculas.Count); // Compensación dataContext.AcceptChanges(); dataContext.Attach(pelicula); pelicula.Duracion = 118; pelicula.ActoresPeliculas.Add(actorPeliculaBorrado); changeSet = dataContext.GetChangeSet(); client.ChangeSet_ActualizarChangeSet(changeSet); }
public void ChangeSetModificacionTest() { IMSDNVideoServices client = ConnectionHelper.ServiceClient; int duracionOriginal; Pelicula pelicula = client.Peliculas_ObtenerPeliculaPorCodBarras("0045907014545", false, false); DisconnectedDataContext <EntidadesDataContext> dataContext = new DisconnectedDataContext <EntidadesDataContext>(); dataContext.Attach(pelicula); duracionOriginal = pelicula.Duracion; pelicula.Duracion = 100; DisconnectedChangeSet changeSet = dataContext.GetChangeSet(); client.ChangeSet_ActualizarChangeSet(changeSet); pelicula = client.Peliculas_ObtenerPeliculaPorCodBarras("0045907014545", false, false); Assert.AreEqual(100, pelicula.Duracion); // Compensación dataContext.AcceptChanges(); dataContext.Attach(pelicula); pelicula.Duracion = duracionOriginal; changeSet = dataContext.GetChangeSet(); client.ChangeSet_ActualizarChangeSet(changeSet); }
public void ModificarPeliculaYEliminarModificarAgregarActorTest() { PeliculasAD peliculasAD = new PeliculasAD(); ChangeSetAD changesetAD = new ChangeSetAD(); string codBarras = "0045907014545"; Pelicula pelicula; int actoresCount; pelicula = peliculasAD.ObtenerPeliculaPorCodBarras(codBarras, true, false); DisconnectedDataContext <EntidadesDataContext> dataContext = new DisconnectedDataContext <EntidadesDataContext>(); dataContext.Attach(pelicula); pelicula.Duracion = 100; actoresCount = pelicula.ActoresPeliculas.Count; pelicula.ActoresPeliculas[0].Papel = "Nuevo papel"; pelicula.ActoresPeliculas.RemoveAt(0); ActoresPelicula nuevoActorPelicula = new ActoresPelicula(); nuevoActorPelicula.ActorID = 100; nuevoActorPelicula.Papel = "Nuevo actor"; pelicula.ActoresPeliculas.Add(nuevoActorPelicula); using (TransactionScope tx = new TransactionScope()) { DisconnectedChangeSet changeSet = dataContext.GetChangeSet(); changesetAD.ActualizarChangeSet(changeSet); pelicula = peliculasAD.ObtenerPeliculaPorCodBarras(codBarras, true, false); Assert.AreEqual(100, pelicula.Duracion); Assert.AreEqual(actoresCount, pelicula.ActoresPeliculas.Count); bool foundNuevo = false; bool foundAntiguo = false; foreach (ActoresPelicula actor in pelicula.ActoresPeliculas) { if (actor.Papel == "Nuevo actor") { foundNuevo = true; } if (actor.Papel == "Nuevo papel") { foundAntiguo = true; } } Assert.IsTrue(foundNuevo); Assert.IsFalse(foundAntiguo); } }
/// <summary> /// Actualiza la base de datos con todos los cambios incluidos en un Changeset /// </summary> /// <param name="changeSet">Changeset con cambios</param> public void ActualizarChangeSet(DisconnectedChangeSet changeSet) { EntidadesDataContext dc = GetDC(); int i; object entidad; ITable tabla; if (changeSet.Agregados != null) { for (i = 0; i < changeSet.Agregados.Count; i++) { entidad = changeSet.Agregados[i]; tabla = OperacionesEntidad.GetTablaFromEntidad(dc, entidad); tabla.InsertOnSubmit(entidad); } } if (changeSet.Modificados != null) { for (i = 0; i < changeSet.Modificados.Count; i++) { entidad = changeSet.Modificados[i]; tabla = OperacionesEntidad.GetTablaFromEntidad(dc, entidad); tabla.Attach(entidad, changeSet.ModificadosOriginal[i]); } } if (changeSet.Eliminados != null) { for (i = 0; i < changeSet.Eliminados.Count; i++) { entidad = changeSet.Eliminados[i]; tabla = OperacionesEntidad.GetTablaFromEntidad(dc, entidad); tabla.Attach(entidad); tabla.DeleteOnSubmit(entidad); } } dc.SubmitChanges(); }
public void Guardar() { notificacionBindingSource.EndEdit(); DisconnectedChangeSet changeSet = _disconnectedDataContext.GetChangeSet(); if (changeSet.Validate() && ValidarNIFSocio() && ValidarCodBarrasPelicula()) { if (changeSet.HayCambios) { // Guardo el changeset ConnectionHelper.ServiceClient.ChangeSet_ActualizarChangeSet(changeSet); // Refrescamos Refrescar(); } } else { MessageBox.Show("Corrija la información no válida antes de guardar", "MSDN Video", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
public void ChangeSet_ActualizarChangeSet(DisconnectedChangeSet changeSet) { ChangeSetCN changeSetCN = new ChangeSetCN(); changeSetCN.ActualizarChangeSet(changeSet); }
public void ActualizarChangeSet(DisconnectedChangeSet changeSet) { ChangeSetAD changeSetAD = new ChangeSetAD(); changeSetAD.ActualizarChangeSet(changeSet); }