/// <summary> /// Metodo para devolver una instancia unica de la Clase. /// </summary> /// <returns></returns> public static ControlTag devolverInstancia() { if (control == null) { control = new ControlTag(); } return(control); }
/// <summary> /// Metodo utilizado para Insertar un nuevo encargado. /// </summary> /// <param name="encargado"></param> public void grabar(Encargado encargado) { try { var errores = this.validar(encargado); if (errores.Count > 0) { throw new UsuarioException(errores); } if (encargado.id == 0) { encargado.fechaCreacion = DateTime.Now; } if (encargado.id > 0) { encargado.fechaModificacion = DateTime.Now; } encargado.idTipoDoc = encargado.tipoDoc.id; using (var db = new ModeloRenacer()) { Tag[] listaTags = new Tag[encargado.listaTags.Count]; encargado.listaTags.CopyTo(listaTags); encargado.listaTags.RemoveAll(tag => true); db.encargado.AddOrUpdate(encargado); if (encargado.domicilio.id == 0) { db.Entry(encargado.domicilio).State = System.Data.Entity.EntityState.Added; } if (encargado.domicilio.id > 0) { db.Entry(encargado.domicilio).State = System.Data.Entity.EntityState.Modified; } db.Entry(encargado.tipoDoc).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); Encargado encargadoAux = db.encargado.Include("listaTags").Single(a => a.id == encargado.id); ControlTag.devolverInstancia().actualizarListaDeTags(db, listaTags, encargadoAux.listaTags); db.SaveChanges(); } } catch (UsuarioException ex) { ServicioSentry.devolverSentry().informarExcepcionUsuario(ex); throw ex; } catch (Exception ex) { ServicioSentry.devolverSentry().informarExcepcion(ex); } }
/// <summary> /// Metodo utilizado para Insertar un nuevo socio. /// </summary> /// <param name="socio"></param> public void grabar(Socio socio) { try { var errores = this.validar(socio); if (errores.Count > 0) { throw new UsuarioException(errores); } using (var db = new ModeloRenacer()) { socio.idTipoDoc = socio.tipoDoc.id; Tag[] listaTags = new Tag[socio.listaTags.Count]; socio.listaTags.CopyTo(listaTags); socio.listaTags.RemoveAll(tag => true); if (socio.domicilio.id == 0) { db.Entry(socio.domicilio).State = System.Data.Entity.EntityState.Added; } if (socio.domicilio.id > 0) { db.Entry(socio.domicilio).State = System.Data.Entity.EntityState.Modified; } if (socio.contacto.id == 0) { db.Entry(socio.contacto).State = System.Data.Entity.EntityState.Added; } if (socio.contacto.id > 0) { db.Entry(socio.contacto).State = System.Data.Entity.EntityState.Modified; } db.Entry(socio.tipoDoc).State = System.Data.Entity.EntityState.Unchanged; //db.SaveChanges(); Socio socioAux = db.socio.Include("listaTags").Single(a => a.id == socio.id); ControlTag.devolverInstancia().actualizarListaDeTags(db, listaTags, socioAux.listaTags); db.socio.AddOrUpdate(socio); db.SaveChanges(); } } catch (UsuarioException ex) { ServicioSentry.devolverSentry().informarExcepcionUsuario(ex); throw ex; } catch (Exception ex) { ServicioSentry.devolverSentry().informarExcepcion(ex); } }
/// <summary> /// Metodo utilizado para Insertar un nuevo espacioComun. /// </summary> /// <param name="espacioComun"></param> public void grabar(EspacioComun espacioComun) { try { var errores = this.validar(espacioComun); if (errores.Count > 0) { throw new UsuarioException(errores); } if (espacioComun.id == 0) { espacioComun.fechaCreacion = DateTime.Now; } if (espacioComun.id > 0) { espacioComun.fechaModificacion = DateTime.Now; } using (var db = new ModeloRenacer()) { Tag[] listaTags = new Tag[espacioComun.listaTags.Count]; espacioComun.listaTags.CopyTo(listaTags); espacioComun.listaTags.RemoveAll(tag => true); db.espacioComun.AddOrUpdate(espacioComun); db.SaveChanges(); EspacioComun espacioAux = db.espacioComun.Include("listaTags").Single(a => a.id == espacioComun.id); ControlTag.devolverInstancia().actualizarListaDeTags(db, listaTags, espacioAux.listaTags); db.SaveChanges(); } } catch (UsuarioException ex) { ServicioSentry.devolverSentry().informarExcepcionUsuario(ex); throw ex; } catch (Exception ex) { ServicioSentry.devolverSentry().informarExcepcion(ex); } }