public void SetPreferencia(TipoDocumentoImpresion tipoDocumento, Guid usuario,TipoPrivacidadDocumento tipoprivacidad,TipoReport tiporeport, string name, byte[] report,bool defecto=false) { using (var tran = Marfil.Inf.Genericos.Helper.TransactionScopeBuilder.CreateTransactionObject()) { var item = _db.DocumentosUsuario.SingleOrDefault(f => f.fkusuario == usuario && f.tipo == (int)tipoDocumento && f.nombre == name) ?? _db.DocumentosUsuario.Create(); item.fkusuario = usuario; item.tipo = (int)tipoDocumento; item.nombre = name; item.datos = report; item.tipoprivacidad = (int)tipoprivacidad; item.tiporeport = (int)tiporeport; _db.DocumentosUsuario.AddOrUpdate(item); _db.SaveChanges(); if (defecto && tiporeport==TipoReport.Report) { var service = new PreferenciasUsuarioService(_db); service.SetPreferencia(TiposPreferencias.DocumentoImpresionDefecto, usuario, tipoDocumento.ToString(), "Defecto", new PreferenciaDocumentoImpresionDefecto() { Name = name, Tipodocumento = tipoDocumento, Usuario = usuario }); } tran.Complete(); } }
public bool ExisteDocumento(TipoDocumentoImpresion tipoDocumento, Guid usuario, string name, TipoPrivacidadDocumento privacidad = TipoPrivacidadDocumento.Publico) { return _db.DocumentosUsuario.Any(f => f.fkusuario == usuario && f.tipo == (int) tipoDocumento && f.nombre == name && f.tipoprivacidad == (int)privacidad); }