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 ActionResult Index()
        {
            //Rai- errores permisos niveles
            if (TempData["errors"] != null)
            {
                ModelState.AddModelError("", TempData["errors"].ToString());
            }

            var model = new PanelcontrolModel();

            try
            {
                using (var db = MarfilEntities.ConnectToSqlServer(_context.BaseDatos))
                {
                    using (var service = new PreferenciasUsuarioService(db))
                    {
                        var serviceGraficas = new ConfiguraciongraficasService(_context, db);
                        var preferencias    = service.GePreferencia(TiposPreferencias.PanelControlDefecto, _context.Id, "1", "Defecto") as PreferenciaPanelControlDefecto;

                        model.Paneles = preferencias != null?preferencias.GetPanelesControl(_context.Empresa).Select(f => serviceGraficas.get(f) as ConfiguraciongraficasModel).ToList() : Enumerable.Empty <ConfiguraciongraficasModel>().ToList();
                    }
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
            }
            return(View(model));
        }
        public virtual ActionResult Result()
        {
            if (Session["datalistados"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            var service = new ListadosService();
            var model   = Session["datalistados"] as ListadosModel;

            model.Context = _context;
            var listadomodel = service.Listar(model);

            Session[listadomodel.IdListado + "_resultado"] = listadomodel;


            using (var db = MarfilEntities.ConnectToSqlServer(_context.BaseDatos))
            {
                using (var servicePreferencias = new PreferenciasUsuarioService(db))
                {
                    var result = servicePreferencias.GePreferencia(TiposPreferencias.ConfiguracionListado, _context.Id, listadomodel.IdListado, "Defecto") as PreferenciaConfiguracionListado;
                    if (result != null)
                    {
                        Session[listadomodel.IdListado + "UserSettings"] = result.SettingsDevexpress;
                    }
                }
            }

            return(View(Session[listadomodel.IdListado + "_resultado"] as ListadoResultado));
        }
 public IEnumerable<DocumentosModel> GetDocumentosParaImprimir(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.fkusuario==Guid.Empty) && 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);
 }
示例#5
0
        public string GetEjercicioDefecto(Guid tusuario, MarfilEntities db, string tempresa)
        {
            using (var preferencias = new PreferenciasUsuarioService(db))
            {
                var preferenciaItem = preferencias.GePreferencia(TiposPreferencias.EjercicioDefecto,
                                                                 tusuario,
                                                                 PreferenciaEjercicioDefecto.Id,
                                                                 PreferenciaEjercicioDefecto.Nombre)
                                      as PreferenciaEjercicioDefecto;

                if (preferenciaItem != null)
                {
                    var ejercicios = preferenciaItem.ListEjercicios;
                    if (ejercicios.Any())
                    {
                        if (ejercicios.ContainsKey(tempresa))
                        {
                            return(ejercicios[tempresa]);
                        }
                    }
                }
            }

            return(GetEjercicioActual(tempresa, db));
        }
        //Rai
        public ActionResult CambioEmpresa(string id)
        {
            var model = new PanelcontrolModel();

            try
            {
                using (var db = MarfilEntities.ConnectToSqlServer(_context.BaseDatos))
                {
                    using (var service = new PreferenciasUsuarioService(db))
                    {
                        LoginService _serviceLogin = new LoginService();
                        var          dominio       = System.Web.HttpContext.Current.Request.Url.DnsSafeHost;

                        if (_serviceLogin.puedeCambiarEmpresa(_context.BaseDatos, _context.Usuario, id, dominio))
                        {
                            return(RedirectToAction("Index", "CambioEmpresa", new { id = id }));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                TempData["errors"] = ex.Message;
            }
            return(RedirectToAction("Index"));
        }
示例#7
0
 private string GetEmpresaDefecto(Guid tusuario, MarfilEntities db)
 {
     using (var preferencias = new PreferenciasUsuarioService(db))
     {
         var preferenciaItem = preferencias.GePreferencia(TiposPreferencias.EmpresaDefecto, tusuario, PreferenciaEmpresaDefecto.Id, PreferenciaEmpresaDefecto.Nombre) as PreferenciaEmpresaDefecto;
         return(preferenciaItem?.Empresa ?? db.Empresas.First().id);
     }
 }
        public void ActualizarOrdenPanelControl(IEnumerable <StOrdenPanelControl> modelo)
        {
            var service     = new PreferenciasUsuarioService(_db);
            var user        = _context;
            var preferencia = service.GePreferencia(TiposPreferencias.PanelControlDefecto, user.Id, "1", "Defecto") as PreferenciaPanelControlDefecto ?? new PreferenciaPanelControlDefecto();

            preferencia.SetPanelControl(Empresa, modelo);
            service.SetPreferencia(TiposPreferencias.PanelControlDefecto, user.Id, "1", "Defecto", preferencia);
        }
        private void EliminarPreferencias(ConfiguraciongraficasModel configuraciongraficasModel)
        {
            var service     = new PreferenciasUsuarioService(_db);
            var user        = _context;
            var preferencia = service.GePreferencia(TiposPreferencias.PanelControlDefecto, user.Id, "1", "Defecto") as PreferenciaPanelControlDefecto;

            if (preferencia != null)
            {
                preferencia.DeletePanelControl(Empresa, configuraciongraficasModel.Codigo.ToString());
                service.SetPreferencia(TiposPreferencias.PanelControlDefecto, user.Id, "1", "Defecto", preferencia);
            }
        }
示例#10
0
        public string GetAlmacenDefecto(Guid tusuario, MarfilEntities db, string tempresa)
        {
            using (var preferencias = new PreferenciasUsuarioService(db))
            {
                var preferenciaItem = preferencias.GePreferencia(TiposPreferencias.AlmacenDefecto, tusuario, PreferenciaAlmacenDefecto.Id, PreferenciaAlmacenDefecto.Nombre) as PreferenciaAlmacenDefecto;
                if (preferenciaItem != null)
                {
                    var Almacens = preferenciaItem.ListAlmacenes;
                    if (Almacens?.Any() ?? false)
                    {
                        if (Almacens.ContainsKey(tempresa))
                        {
                            return(Almacens[tempresa]);
                        }
                    }
                }
            }

            return(GetAlmacenActual(tempresa, db));
        }
        private void ActualizarPreferencias(ConfiguraciongraficasModel configuraciongraficasModel)
        {
            var service     = new PreferenciasUsuarioService(_db);
            var user        = _context;
            var preferencia = service.GePreferencia(TiposPreferencias.PanelControlDefecto, user.Id, "1", "Defecto") as PreferenciaPanelControlDefecto ?? new PreferenciaPanelControlDefecto();

            if (configuraciongraficasModel.Apareceinicioview)
            {
                preferencia.SetPanelControl(Empresa, new StOrdenPanelControl()
                {
                    Grafica = configuraciongraficasModel.Codigo.ToString(), Indice = -1
                });
            }
            else
            {
                preferencia.DeletePanelControl(Empresa, configuraciongraficasModel.Codigo.ToString());
            }

            service.SetPreferencia(TiposPreferencias.PanelControlDefecto, user.Id, "1", "Defecto", preferencia);
        }
 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 ActionResult SaveSettings(string id)
        {
            if (Session[id + "UserSettings"] != null)
            {
                var nombre   = HttpContext.Request.Params["nombre"];
                var settings = Session[id + "UserSettings"];

                using (var db = MarfilEntities.ConnectToSqlServer(_context.BaseDatos))
                {
                    using (var service = new PreferenciasUsuarioService(db))
                    {
                        service.SetPreferencia(TiposPreferencias.ConfiguracionListado, _context.Id, id, nombre, new PreferenciaConfiguracionListado()
                        {
                            SettingsDevexpress = settings.ToString()
                        });
                    }
                }
                return(new EmptyResult());
            }

            throw new ValidationException("Ups! no se pudieron guardar los settings");
        }
示例#14
0
        //public DocumentosBotonImprimirModel GetListFormatos()
        //{
        //    var user = Context;
        //    using (var db = MarfilEntities.ConnectToSqlServer(user.BaseDatos))
        //    {
        //        var servicePreferencias = new PreferenciasUsuarioService(db);
        //        var doc = servicePreferencias.GetDocumentosImpresionMantenimiento
        //            (user.Id,
        //                TipoAsientoImpresion.Normal.ToString(), "Defecto") as PreferenciaDocumentoImpresionDefecto;

        //        var service = new DocumentosUsuarioService(db);
        //        {
        //            var lst =
        //                service.GetDocumentos(TipoDocumentoImpresion.FacturasVentas, user.Id)
        //                    .Where(f => f.Tiporeport == TipoReport.Report);
        //            return new DocumentosBotonImprimirModel()
        //            {
        //                Tipo = TipoDocumentoImpresion.FacturasVentas,
        //                Lineas = lst.Select(f => f.Nombre),
        //                Primarykey = Referencia,
        //                Defecto = doc?.Name
        //            };
        //        }
        //    }

        //}



        public DocumentosBotonImprimirModel GetListFormatos()
        {
            var user = Context;

            using (var db = MarfilEntities.ConnectToSqlServer(user.BaseDatos))
            {
                var servicePreferencias = new PreferenciasUsuarioService(db);
                var doc     = servicePreferencias.GetDocumentosImpresionMantenimiento(user.Id, TipoDocumentoImpresion.Asientos.ToString(), "Defecto") as PreferenciaDocumentoImpresionDefecto;
                var service = new DocumentosUsuarioService(db);
                {
                    var lst =
                        service.GetDocumentos(TipoDocumentoImpresion.Asientos, user.Id)
                        .Where(f => f.Tiporeport == TipoReport.Report);
                    return(new DocumentosBotonImprimirModel()
                    {
                        Tipo = TipoDocumentoImpresion.Asientos,
                        Lineas = lst.Select(f => f.Nombre),
                        Primarykey = Referencia,
                        Defecto = doc?.Name
                    });
                }
            }
        }
示例#15
0
        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
                    });
                }
            }
        }
        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();
                }
            }
            
        }
示例#17
0
        private bool LoginInternal(string dominio, string usuario, string contraseña, out SecurityTicket model, string empresa, string ejercicio, string almacen)
        {
            var result = true;

            model = null;
            try
            {
                var tusuario   = usuario;
                var tid        = Guid.Empty;
                var troleid    = Guid.Empty;
                var tbasedatos = "";
                var tempresa   = string.Empty;

                var tazureblob = "";


                var licenciaModel = new LicenciasaplicacionService(dominio);
                tbasedatos = licenciaModel.Basedatos;
                tazureblob = licenciaModel.Azureblob;

                using (var db = MarfilEntities.ConnectToSqlServer(licenciaModel.Basedatos))
                {
                    if (usuario.Equals(ApplicationHelper.UsuariosAdministrador))
                    {
                        var admin = db.Administrador.FirstOrDefault(u => u.password == contraseña);
                        if (admin == null)
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        var objUser = db.Usuarios.FirstOrDefault(u => u.usuario == usuario && u.password == contraseña);
                        if (objUser != null)
                        {
                            var objRole = db.Roles.First(f => f.Usuarios.Any(j => j.id == objUser.id));
                            tid     = objUser.id;
                            troleid = objRole.id;
                        }
                        else
                        {
                            return(false);
                        }
                    }

                    //Rai
                    tempresa = string.IsNullOrEmpty(empresa) ? GetEmpresaDefecto(tid, db) : empresa;
                    var descripcionempresa = db.Empresas.Where(f => f.id == tempresa).Select(f => f.nombre).SingleOrDefault();

                    if (puedeEntrarEmpresa(tbasedatos, tusuario, tempresa, dominio))
                    {
                        Validarlicencia(tid, usuario, licenciaModel, db);

                        var context          = new LoginContextService(tempresa, licenciaModel.Basedatos);
                        var ejercicioService = FService.Instance.GetService(typeof(EjerciciosModel), context, db) as EjerciciosService;
                        var almacenService   = FService.Instance.GetService(typeof(AlmacenesModel), context, db) as AlmacenesService;
                        var talmacen         = string.IsNullOrEmpty(almacen) ? almacenService.GetAlmacenDefecto(tid, db, tempresa) : almacen;
                        var tejercicio       = string.IsNullOrEmpty(ejercicio) ? ejercicioService.GetEjercicioDefecto(tid, db, tempresa) : ejercicio;

                        model = new SecurityTicket
                        {
                            Usuario      = tusuario,
                            Id           = tid,
                            RoleId       = troleid,
                            BaseDatos    = tbasedatos,
                            Empresa      = tempresa,
                            Ejercicio    = tejercicio,
                            Fkalmacen    = talmacen,
                            Tipolicencia = licenciaModel.TipoLicencia,
                            Azureblob    = tazureblob
                                           //serializeModel.Roles = db.USUARIOROLE.Where(i => i.IDUSUARIO == u.ID).Select(i => i.ROLE.NOMBRE).ToList();
                        };
                        CreateUsuarioActivo(model, db);
                        // esto es la validación
                        //var u = db.Usuarios.FirstOrDefault(i => i.Usuario == usu.Email && i.PWD == usu.Password && i.IFACTIVO);

                        var preferencias = new PreferenciasUsuarioService(db);
                        preferencias.SetPreferencia(TiposPreferencias.EmpresaDefecto, tid, PreferenciaEmpresaDefecto.Id, PreferenciaEmpresaDefecto.Nombre, new PreferenciaEmpresaDefecto()
                        {
                            Empresa = tempresa
                        });

                        if (tempresa != ApplicationHelper.EmpresaMock)
                        {
                            var ejercicioPreferencia = new PreferenciaEjercicioDefecto();
                            ejercicioPreferencia.SetEjercicio(tempresa, tejercicio);

                            var almacenPreferencia = new PreferenciaAlmacenDefecto();
                            almacenPreferencia.SetAlmacen(tempresa, talmacen);

                            preferencias.SetPreferencia(TiposPreferencias.EjercicioDefecto, tid, PreferenciaEjercicioDefecto.Id, PreferenciaEjercicioDefecto.Nombre, ejercicioPreferencia);
                            preferencias.SetPreferencia(TiposPreferencias.AlmacenDefecto, tid, PreferenciaAlmacenDefecto.Id, PreferenciaAlmacenDefecto.Nombre, almacenPreferencia);
                        }
                    }

                    else
                    {
                        throw new CambiarEmpresaException("No tiene permisos sobre la empresa " + descripcionempresa + " Consulte con su administrador");
                    }
                }
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
                if (ex is LicenciaException)
                {
                    throw;
                }
                if (ex is UsuarioactivoException)
                {
                    throw;
                }
                if (ex is UsuarioensuoException)
                {
                    throw;
                }
                if (ex is CambiarEmpresaException)
                {
                    throw;
                }
                result = false;
            }

            return(result);
        }