Exemplo n.º 1
0
        public void VinculacionUsuarioDistribuidora(Entidad.UsuarioDistribuidora usuarioDistribuidora)
        {
            Negocio.Administracion.Usuario              boUsuario       = new Negocio.Administracion.Usuario();
            Negocio.Administracion.Distribuidora        boDistribuidora = new Negocio.Administracion.Distribuidora();
            Negocio.Administracion.UsuarioDistribuidora boUD            = new Negocio.Administracion.UsuarioDistribuidora();

            if (usuarioDistribuidora.Usuario?.Id == 0)
            {
                List <Entidad.Usuario> usuarios;
                boUsuario.ObtenerUsuario(new Entidad.FiltroUsuario()
                {
                    Cedula = usuarioDistribuidora.Usuario.Cedula
                }, out usuarios);
                usuarioDistribuidora.IdUsuario = usuarios.FirstOrDefault().Id;
            }

            if (usuarioDistribuidora.Distribuidora?.Id == 0)
            {
                List <Entidad.Distribuidora> distribuidoras;
                boDistribuidora.ObtenerDistribuidora(new Entidad.FiltroDistribuidora()
                {
                    Identificador = usuarioDistribuidora.Distribuidora.Identificador
                }, out distribuidoras);
                usuarioDistribuidora.IdDistribuidora = distribuidoras.FirstOrDefault().Id;
            }

            usuarioDistribuidora.FechaCreacion = DateTime.Now;
            usuarioDistribuidora.EsNuevo       = true;

            if (usuarioDistribuidora.AceptaUsuario && usuarioDistribuidora.AceptaDistribuidora)
            {
                usuarioDistribuidora.FechaAceptacion = DateTime.Now;
            }

            boUD.GuardarUsuarioDistribuidora(new List <Entidad.UsuarioDistribuidora> {
                usuarioDistribuidora
            });
        }
Exemplo n.º 2
0
        public void ProcesoPush(Entidad.UsuarioDistribuidora entidad)
        {
            Message message;
            List <Entidad.UsuarioDistribuidora> duenioDistribuidora;
            List <Entidad.Usuario> trabajador;

            Negocio.Administracion.UsuarioDistribuidora boUsuarioDistribuidora = new Negocio.Administracion.UsuarioDistribuidora();
            Negocio.Administracion.Usuario boUsuario = new Negocio.Administracion.Usuario();
            string para, titulo, mensaje = string.Empty;

            switch (entidad.Proceso)
            {
            case Entidad.Enums.ProcesoUsuarioDistribuidora.TrabajadorLeeQR:
                //-Admin de la distribuidora(Notificacion: Title: Configurar Privilegios, Body: Debe asignar privilegios a "el trabajador")
                //                          (CargaUtil * *Pendiente * * { Nombre Pagina, IdUsuarioDistribuidora})

                //**Busco al dueño de la distribuidora
                duenioDistribuidora = new List <Entidad.UsuarioDistribuidora>();
                boUsuarioDistribuidora.ObtenerUsuarioDistribuidora(new Entidad.FiltroUsuarioDistribuidora()
                {
                    EsAdmin = true, IdDistribuidora = entidad.IdDistribuidora, Includes = new string[] { "Usuario" }
                }, out duenioDistribuidora);

                //**Busco al trabajador
                trabajador = new List <Entidad.Usuario>();
                boUsuario.ObtenerUsuario(new Entidad.FiltroUsuario()
                {
                    Id = entidad.IdUsuario
                }, out trabajador);

                titulo  = "Configurar Privilegios";
                mensaje = $"Debe asignar privilegios a {trabajador.FirstOrDefault().Nombre} {trabajador.FirstOrDefault().Apellido}";

                message = new Message()
                {
                    Token        = duenioDistribuidora.FirstOrDefault().Usuario.PushToken,
                    Notification = new Notification()
                    {
                        Title = titulo,
                        Body  = mensaje
                    }
                };

                System.Threading.Tasks.Task.Run(() => SendPushAsync(message));

                break;

            case Entidad.Enums.ProcesoUsuarioDistribuidora.TrabajadorEnviaSolicitud:
                //-Admin de la distribuidora(Notificacion: Title: Solicitud de Vinculación, Body: tiene una nueva solicitud)
                //                               (CargaUtil * *Pendiente * * { Nombre Pagina, IdUsuarioDistribuidora})
                //**Busco al dueño de la distribuidora
                duenioDistribuidora = new List <Entidad.UsuarioDistribuidora>();
                boUsuarioDistribuidora.ObtenerUsuarioDistribuidora(new Entidad.FiltroUsuarioDistribuidora()
                {
                    EsAdmin = true, IdDistribuidora = entidad.IdDistribuidora, Includes = new string[] { "Usuario" }
                }, out duenioDistribuidora);

                titulo  = "Solicitud de Vinculación";
                mensaje = "tiene una nueva solicitud";

                message = new Message()
                {
                    Token        = duenioDistribuidora.FirstOrDefault().Usuario.PushToken,
                    Notification = new Notification()
                    {
                        Title = titulo,
                        Body  = mensaje
                    }
                };

                System.Threading.Tasks.Task.Run(() => SendPushAsync(message));

                break;

            case Entidad.Enums.ProcesoUsuarioDistribuidora.DistribuidoraLeeQR:
                //-Trabajador(Notificacion: Title: Vinculación relizada, Body: Se realizo una vinculacion a "Nombre  distribuidora", toca acá para actualizar la información.)
                //                (CargaUtil { Nombre Pagina})

                //**Busco al trabajador
                trabajador = new List <Entidad.Usuario>();
                boUsuario.ObtenerUsuario(new Entidad.FiltroUsuario()
                {
                    Id = entidad.IdUsuario
                }, out trabajador);

                titulo  = "Vinculación relizada";
                mensaje = $"Se realizo una vinculacion a {entidad.Distribuidora.RazonSocial}, toca acá para actualizar la información";

                message = new Message()
                {
                    Token        = trabajador.FirstOrDefault().PushToken,
                    Notification = new Notification()
                    {
                        Title = titulo,
                        Body  = mensaje
                    }
                };

                System.Threading.Tasks.Task.Run(() => SendPushAsync(message));
                break;

            case Entidad.Enums.ProcesoUsuarioDistribuidora.DistribuidoraEnviaSolicitud:
                //-Trabajador(Notificacion: Title: Solicitud de Vinculación Body: La "Nombre  distribuidora" solicito tu vinculación.)
                //                (CargaUtil { Nombre Pagina, IdUsuarioDistribuidora})

                //**Busco al trabajador
                trabajador = new List <Entidad.Usuario>();
                boUsuario.ObtenerUsuario(new Entidad.FiltroUsuario()
                {
                    Id = entidad.IdUsuario
                }, out trabajador);

                titulo  = "Solicitud de Vinculación";
                mensaje = $"La {entidad.Distribuidora.RazonSocial} solicito tu vinculación";

                message = new Message()
                {
                    Token        = trabajador.FirstOrDefault().PushToken,
                    Notification = new Notification()
                    {
                        Title = titulo,
                        Body  = mensaje
                    }
                };

                System.Threading.Tasks.Task.Run(() => SendPushAsync(message));
                break;
            }
        }