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 DocumentosModel GetDocumento(TipoDocumentoImpresion tipoDocumento, Guid usuario, string name) { var servicePreferencias = new PreferenciasUsuarioService(_db); var doc = servicePreferencias.GePreferencia(TiposPreferencias.DocumentoImpresionDefecto, usuario, tipoDocumento.ToString(), "Defecto") as PreferenciaDocumentoImpresionDefecto; var defectoName = doc != null ? doc.Name : string.Empty; var documento = _db.DocumentosUsuario.SingleOrDefault(f => (f.fkusuario == usuario || f.fkusuario == Guid.Empty) && f.tipo == (int)tipoDocumento && f.nombre == name); if (documento != null) { return new DocumentosModel() { Defecto = defectoName == documento.nombre, Tipo = tipoDocumento, CustomId = CreateCustomId(tipoDocumento, documento.fkusuario, documento.nombre), Nombre = documento.nombre, Usuario = documento.fkusuario == Guid.Empty ? "Admin" : _db.Usuarios.Single(j => j.id == documento.fkusuario).usuario, Datos = documento.datos, Tipoprivacidad = (TipoPrivacidadDocumento)documento.tipoprivacidad, Tiporeport = (TipoReport)documento.tiporeport }; } return null; }
public void RemovePreferencia(TipoDocumentoImpresion tipoDocumento, Guid usuario, string name) { var documento = _db.DocumentosUsuario.SingleOrDefault( f => f.fkusuario == usuario && f.tipo == (int) tipoDocumento && f.nombre == name); var service = new PreferenciasUsuarioService(_db); var doc=service.GePreferencia(TiposPreferencias.DocumentoImpresionDefecto, usuario, tipoDocumento.ToString(), "Defecto"); if (doc != null) { if (documento != null) { var docObj = doc as PreferenciaDocumentoImpresionDefecto; if (docObj.Name == documento.nombre) { throw new ValidationException("No se puede eliminar el documento por defecto"); } _db.DocumentosUsuario.Remove(documento); _db.SaveChanges(); } } }
public IEnumerable<DocumentosModel> GetDocumentos(TipoDocumentoImpresion tipoDocumento, Guid usuario) { var servicePreferencias = new PreferenciasUsuarioService(_db); var doc = servicePreferencias.GePreferencia(TiposPreferencias.DocumentoImpresionDefecto, usuario, tipoDocumento.ToString(), "Defecto") as PreferenciaDocumentoImpresionDefecto; var defectoName = doc != null ? doc.Name : string.Empty; return _db.DocumentosUsuario.Where (f => ((f.fkusuario == usuario && f.tipo == (int)tipoDocumento) || (f.tipoprivacidad == 0 && f.tipo == (int)tipoDocumento))) .ToList().Select(f=>new DocumentosModel() { Defecto= defectoName == f.nombre, Tipo = tipoDocumento,CustomId = CreateCustomId(tipoDocumento,f.fkusuario,f.nombre),Nombre=f.nombre,Usuario=f.fkusuario == Guid.Empty ? "Admin": _db.Usuarios.Single(j=>j.id==f.fkusuario).usuario,Tipoprivacidad = (TipoPrivacidadDocumento)f.tipoprivacidad,Tiporeport = (TipoReport)f.tiporeport}).ToList().OrderByDescending(f=>f.Defecto); }
public static DocumentosBotonImprimirModel GetListFormatos(TipoDocumentoImpresion tipo, string referencia) { var user = HttpContext.Current.User as ICustomPrincipal; using (var db = MarfilEntities.ConnectToSqlServer(user.BaseDatos)) { var servicePreferencias = new PreferenciasUsuarioService(db); var doc = servicePreferencias.GePreferencia(TiposPreferencias.DocumentoImpresionDefecto, user.Id, tipo.ToString(), "Defecto") as PreferenciaDocumentoImpresionDefecto; var service = new DocumentosUsuarioService(db); { var lst = service.GetDocumentos(tipo, user.Id) .Where(f => f.Tiporeport == TipoReport.Report); return(new DocumentosBotonImprimirModel() { Tipo = tipo, Lineas = lst.Select(f => f.Nombre), Primarykey = referencia, Defecto = doc?.Name }); } } }