Exemple #1
0
 public ContatosViewModel()
 {
     PesquisarCommand = new Command(PesquisarUsuario);
     servicoConta     = new ContaService();
     servicoGrupo     = new GrupoService();
     Contatos         = new ObservableCollection <Usuario>(servicoGrupo.ObterMembrosDoGrupoContatos());
 }
Exemple #2
0
        public async Task AddUserConnectionId(Usuario user)
        {
            try
            {
                Usuario userDB = await UsersService.GetInstance().GetUser(Constants.IdQuery, user.Id);

                if (userDB == null)
                {
                    await Clients.Caller.SendAsync("ReceiveAddUserConnectionId", false, "Usuário não localizado no banco de dados.");
                }
                else
                {
                    var           currentConnectionId = Context.ConnectionId;
                    List <string> connectionsId;

                    if (string.IsNullOrEmpty(userDB.ConnectionID))
                    {
                        connectionsId = new List <string>
                        {
                            currentConnectionId
                        };
                    }
                    else
                    {
                        connectionsId = JsonConvert.DeserializeObject <List <string> >(userDB.ConnectionID);

                        if (!connectionsId.Contains(currentConnectionId))
                        {
                            connectionsId.Add(currentConnectionId);
                        }
                    }

                    userDB.IsOnline     = true;
                    userDB.ConnectionID = JsonConvert.SerializeObject(connectionsId);

                    await UsersService.GetInstance().UpdateUser(userDB);

                    //Adicionar ConnectionsIds aos grupos de conversa do SignalR
                    string groupName = userDB.IdComunidadeUsu;
                    var    groups    = await GrupoService.GetInstance().GetGroupList(Constants.NameQuery, groupName);

                    foreach (var connectionId in connectionsId)
                    {
                        foreach (var group in groups)
                        {
                            await Groups.AddToGroupAsync(connectionId, group.Nome);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                StringBuilder msgSb = new();
                msgSb.Append("O documento não pode ser salvo!");
                msgSb.Append(Environment.NewLine);
                msgSb.Append("Código do Erro: ");
                msgSb.Append(e.ToString());
                await Clients.Caller.SendAsync("ReceiveAddUserConnectionId", false, msgSb.ToString());
            }
        }
        // PUT api/<controller>/5
        //public void Put(int id, [FromBody]string value)
        // {
        //}

        // DELETE api/<controller>/5
        public HttpResponseMessage Delete(long id)
        {
            HttpResponseMessage response;

            try
            {
                GrupoService  service = (GrupoService) new GrupoService().setDatabase(db);
                GrupoProducto gp      = service.find(id);
                service.delete(id);

                if (gp.Estado == "D")
                {
                    response = this.getSuccessResponse(gp);
                }
                else
                {
                    response = this.getSuccessResponse("No se puede eliminar porque existe una compra o hay stock disponible");
                }
            }
            catch (Exception e)
            {
                response = this.getErrorResponse(e);
            }
            return(response);
        }
Exemple #4
0
        // Futuramente
        //private void CriarCopiaDoGrupo()
        //{

        //}

        public ObservableCollection <Model.Usuario> ListarUsuariosDoGrupo()
        {
            if (servicoGrupo == null)
            {
                servicoGrupo = new GrupoService();
            }
            return(new ObservableCollection <Model.Usuario>(servicoGrupo.ObterUsuariosDoGrupoSelecionado()));
        }
        //DataInclusaoDataExpiracaoCategoria
        public ActionResult Listagem(int? page)
        {
            page = page ?? 1;
            var Conteudo = new GrupoService().GetByPage(page.Value);

            var list = new MvcList<Grupo>(Conteudo.Item1, page.Value, Conteudo.Item2, Settings.QuantityRegistersPerPage);
            return PartialView(list);
        }
 public ActionResult Novo()
 {
     var c = new GrupoService();
     var m = new ModuloService();
     ViewBag.Modulos = m.GetModuloSelectListItem();
     ViewBag.Permissao = c.GetPermissionId(null);
     return View();
 }
        public ActionResult Novo(List<ModuloPermissao> permissoes, string nome, string descricao)
        {
            var service = new GrupoService();

            service.InsertGroupPermissions(permissoes, nome, descricao);

            return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Success, Message = Constants._msgCreateSuccess, ReturnUrl = Url.Content("~/Admin/Grupo/") });
        }
        public JsonResult Editar(List<ModuloPermissao> permissoes, string nome, string descricao, int id)
        {
            var c = new GrupoService();

            c.UpdatePermission(id, permissoes, nome, descricao);

            return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Success, Message = Constants._msgUpdateSuccess, ReturnUrl = Url.Content("~/Admin/Grupo/") });
        }
Exemple #9
0
 public ObservableCollection <Model.Grupo> ListarGrupos()
 {
     if (servicoGrupo == null)
     {
         servicoGrupo = new GrupoService();
     }
     return(new ObservableCollection <Model.Grupo>(servicoGrupo.ObterGruposDoUsuarioLogado()));
 }
Exemple #10
0
        public IActionResult Insert(
            [FromBody] GrupoInsertCommand command,
            [FromServices] GrupoService service
            )
        {
            GenericResult result = service.Exec(command);

            return(StatusCode(result.Status, result));
        }
Exemple #11
0
 public CriarGrupoViewModel()
 {
     servicoGrupo                = new GrupoService();
     CriarGrupoCommand           = new Command(CriarGrupo);
     ConvidarContatoGrupoCommand = new Command(ConvidarContatoGrupo);
     //AdicionarContatoCommand = new Command(AdicionarUsuario);
     Contatos       = new ObservableCollection <Usuario>(servicoGrupo.ObterMembrosDoGrupoContatos());
     Convidados     = new ObservableCollection <ConviteGrupo>();
     IncluirCriador = false;
 }
        public ActionResult Editar(int id)
        {
            var cat = new GrupoService().GetById(id);
            var c = new GrupoService();
            var m = new ModuloService();
            ViewBag.Permissao = c.GetPermissionId(id);
            ViewBag.Modulos = m.GetModuloSelectListItem();

            return View(cat);
        }
Exemple #13
0
 public ConvitesViewModel()
 {
     servicoGrupo    = new GrupoService();
     servicoProjeto  = new ProjetoService();
     ConvitesGrupo   = new ObservableCollection <ConviteGrupo>(servicoGrupo.ObterConvitesDoUsuarioLogado().ConvitesParaGrupos);
     ConvitesProjeto = new ObservableCollection <ConviteProjeto>(servicoProjeto.ObterConvitesDoUsuarioLogado().ConvitesParaProjetos);
     servicoConta    = new ContaService();
     TemConviteGrupo();
     TemConviteProjeto();
 }
        public void Cadastrar()
        {
            servicoConta = new ContaService(NomeView, EmailView, SenhaView, ConfirmSenhaView);

            if (servicoConta.CriarContaUsuario())
            {
                servicoGrupo = new GrupoService();
                servicoGrupo.CriarNovoGrupo(true, false);
            }
        }
 private void DadosAutomaticos()
 {
     servicoConta        = new ContaService();
     servicoProjeto      = new ProjetoService();
     servicoGrupo        = new GrupoService();
     DataPrevInicioView  = DateTime.Now;
     DataPrevTerminoView = DateTime.Now;
     GerenteView         = servicoConta.ObterUsuarioPorIdLogado().NomeUsuario;
     Contatos            = new ObservableCollection <Usuario>(servicoGrupo.ObterMembrosDoGrupoContatos());
     Convidados          = new ObservableCollection <ConviteProjeto>();
 }
Exemple #16
0
 public void DadosAutomaticos()
 {
     servicoGrupo = new GrupoService();
     servicoGrupo.SalvarIdGrupoSelecionado();
     NomeView      = servicoGrupo.ObterGrupoSelecionado()?.NomeGrupo;
     ObjetivoView  = servicoGrupo.ObterGrupoSelecionado()?.ObjetivoGrupo;
     Contatos      = new ObservableCollection <Usuario>(servicoGrupo.ObterMembrosDoGrupoContatos());
     Convidados    = new ObservableCollection <ConviteGrupo>(servicoGrupo.ObterConvitesEnviadosDoGrupo());
     Membros       = new ObservableCollection <Usuario>(servicoGrupo.ObterMembrosDoGrupo());
     novosConvites = new List <ConviteGrupo>();
 }
 public TarefaDetalhesViewModel()
 {
     EditarTarefaCommand        = new Command(HabilitarCampos);
     SalvarTarefaCommand        = new Command(SalvarTarefa);
     AtribuirResponsavelCommand = new Command(AtribuirAoResponsavel);
     servicoGrupo   = new GrupoService();
     servicoProjeto = new ProjetoService();
     Contatos       = new ObservableCollection <Usuario>(servicoGrupo.ObterMembrosDoGrupoContatos());
     Projetos       = new ObservableCollection <Model.Projeto>(servicoProjeto.ObterProjetosDoUsuarioLogado(false));
     DadosAutomaticos();
 }
 public CriarTarefaViewModel()
 {
     SalvarTarefaCommand        = new Command(CriarTarefa);
     AtribuirResponsavelCommand = new Command(AtribuirAoResponsavel);
     DadosAutomaticos();
     servicoConta   = new ContaService();
     servicoGrupo2  = new GrupoService();
     servicoProjeto = new ProjetoService();
     Contatos       = new ObservableCollection <Usuario>(servicoGrupo2.ObterMembrosDoGrupoContatos());
     Projetos       = new ObservableCollection <Model.Projeto>(servicoProjeto.ObterProjetosDoUsuarioLogado(false));
     servicoTarefa  = new TarefaService();
 }
 public ActionResult Remover(int id)
 {
     bool existeUsuario = new GrupoService().VerificaUsuarioGrupo(id);
     if (existeUsuario)
     {
         return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Alert, Message = "Não é possível excluir um grupo onde existam usuários vinculados" }, JsonRequestBehavior.AllowGet);
     }
     else
     {
         new GrupoService().DeleteObject(id);
         return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Success, Message = Constants._msgDeleteSuccess }, JsonRequestBehavior.AllowGet);
     }
 }
Exemple #20
0
        private void CriarGrupo()
        {
            servicoGrupo = new GrupoService(NomeView, ObjetivoView);

            if (servicoGrupo.CriarNovoGrupo(false, IncluirCriador)) // alterar o segundo false para a propriedade IncluirCriador
            {
                if (Convidados.Count > 0)
                {
                    servicoGrupo.EnviarConvitesGrupo(Convidados.ToList(), servicoGrupo.ObterUltimoGrupoInserido());
                }
                Application.Current.MainPage.Navigation.PopAsync();
            }
        }
Exemple #21
0
        public IActionResult Update(
            [FromBody] GrupoUpdateCommand command,
            [FromServices] GrupoService service,
            [FromServices] IMemoryCache cache
            )
        {
            GenericResult result = service.Exec(command);

            if (result.Status == 200)
            {
                cache.Remove(command.Id);
            }

            return(StatusCode(result.Status, result));
        }
Exemple #22
0
        public IActionResult Delete(
            int id,
            [FromServices] GrupoService service,
            [FromServices] IMemoryCache cache
            )
        {
            GrupoDeleteCommand command = new GrupoDeleteCommand(id);

            GenericResult result = service.Exec(command);

            if (result.Status == 204)
            {
                cache.Remove(id);
            }

            return(StatusCode(result.Status, result));
        }
Exemple #23
0
        public GenericPesquisa GetAll(
            short pagina,
            short qtd,
            string campo,
            short ordem,
            [FromServices] GrupoService service,
            string filtro = ""
            )
        {
            Pesquisa pesquisa = new Pesquisa(pagina, qtd, campo, ordem, filtro);

            GenericPesquisa result = new GenericPesquisa(
                service.GetAll(pesquisa),
                service.GetTotalDeRegistros(pesquisa)
                );

            return(result);
        }
Exemple #24
0
        public async Task DelUserConnectionId(Usuario user)
        {
            Usuario userDB = await UsersService.GetInstance().GetUser(Constants.IdQuery, user.Id);

            if (userDB == null)
            {
                //await Clients.Caller.SendAsync("DelUserConnectionId", false, null, "Usuário não localizado no Banco de Dados!");
            }
            else
            {
                List <string> connectionsId = null;
                if (!string.IsNullOrEmpty(userDB.ConnectionID))
                {
                    var currentConnectionId = Context.ConnectionId;

                    connectionsId = JsonConvert.DeserializeObject <List <string> >(userDB.ConnectionID);
                    if (connectionsId.Contains(currentConnectionId))
                    {
                        connectionsId.Remove(currentConnectionId);
                    }
                    userDB.ConnectionID = JsonConvert.SerializeObject(connectionsId);
                }

                if (connectionsId.Count <= 0)
                {
                    userDB.IsOnline = false;
                }

                await UsersService.GetInstance().UpdateUser(userDB);

                //Remover ConnectrionsIds dos grupos de conversa do SignalR
                string groupName = userDB.IdComunidadeUsu;
                var    groups    = await GrupoService.GetInstance().GetGroupList(Constants.NameQuery, groupName);

                foreach (var connectionId in connectionsId)
                {
                    foreach (var group in groups)
                    {
                        await Groups.RemoveFromGroupAsync(connectionId, group.Nome);
                    }
                }
            }
        }
        public HttpResponseMessage GetDetalle()
        {
            HttpResponseMessage response;

            try
            {
                GrupoService           service         = (GrupoService) new GrupoService().setDatabase(db);
                List <GrupoXProducto1> gruposproductos = service.getDetalle();



                response = this.getSuccessResponse(gruposproductos);
            }
            catch (Exception e)
            {
                response = this.getErrorResponse(e);
            }
            return(response);
        }
        // GET api/Grupo/5
        public HttpResponseMessage GetGrupos(long id)
        {
            HttpResponseMessage response;

            try
            {
                GrupoService  service = (GrupoService) new GrupoService().setDatabase(db);
                GrupoProducto gp      = service.find(id);



                response = this.getSuccessResponse(gp);
            }
            catch (Exception e)
            {
                response = this.getErrorResponse(e);
            }
            return(response);
        }
Exemple #27
0
        public async Task SendMessage(Usuario user, string msgType, string msg, string groupName)
        {
            try
            {
                Grupo group = await GrupoService.GetInstance().GetGroup(groupName);

                if (!group.Usuarios.Contains(user.Id))
                {
                    StringBuilder sbMsg = new();
                    sbMsg.Append("O usuário ");
                    sbMsg.Append(user.NomeUsuario);
                    sbMsg.Append(" não pertence ao grupo ");
                    sbMsg.Append(group.Nome);
                    await Clients.Caller.SendAsync("ReceiveMessage", null, group, sbMsg.ToString());
                }

                Notificacao message = new()
                {
                    Id          = Guid.NewGuid().ToString(),
                    GroupName   = groupName,
                    UserId      = user.Id,
                    UserJason   = JsonConvert.SerializeObject(user),
                    User        = user,
                    MsgType     = msgType,
                    Text        = msg,
                    Completed   = false,
                    CreatedDate = DateTime.Now
                };

                var success = NotifMsgService.GetInstance().AddNotifMsg(message);
                await Clients.Group(groupName).SendAsync("ReceiveMessage", message, group, user.Id);

                await Clients.Caller.SendAsync("ReceiveMessage", message, group, user.Id);
            }
            catch (Exception e)
            {
                StringBuilder sbError = new();
                sbError.Append("Erro: ");
                sbError.Append(e.ToString());
                await Clients.Caller.SendAsync("ReceiveMessage", null, null, sbError.ToString());
            }
        }
        // POST api/grupo
        public HttpResponseMessage Post([FromBody] GrupoProducto gp)
        {
            HttpResponseMessage response;

            try
            {
                GrupoService service = (GrupoService) new GrupoService().setDatabase(db);
                gp.FechaAlta   = DateTime.Today;
                gp.UsuarioAlta = 1;
                gp.Estado      = "A";
                gp             = service.saveOrUpdate(gp);

                response = this.getSuccessResponse(gp);
            }
            catch (Exception e)
            {
                response = this.getErrorResponse(e);
            }
            return(response);
        }
        private void DadosAutomaticos()
        {
            servicoProjeto = new ProjetoService();
            servicoGrupo   = new GrupoService();
            servicoProjeto.SalvarIdProjetoSelecionado();
            projeto = servicoProjeto.ObterProjetoSelecionado();

            NomeView        = projeto.NomeProjeto;
            ObjetivoView    = projeto.ObjetivoProjeto;
            DescricaoView   = projeto.DescricaoProjeto;
            ContratanteView = projeto.Contratante;
            ContratadaView  = projeto.Contratada;
            DataPrevInicio  = projeto.DataPrevInicio;
            DataPrevTermino = projeto.DataPrevTermino;

            GerenteView = servicoProjeto.ObterNomeGerenteProjeto();

            Contatos        = new ObservableCollection <Usuario>(servicoGrupo.ObterMembrosDoGrupoContatos());
            Convidados      = new ObservableCollection <ConviteProjeto>(servicoProjeto.ObterConvitesEnviadosDoProjeto());
            UsuariosProjeto = new ObservableCollection <Usuario>(servicoProjeto.ObterUsuariosDoProjeto());
            novosConvites   = new List <ConviteProjeto>();
        }
Exemple #30
0
        public async Task MonitoringNotification(Notificacao msg)
        {
            try
            {
                List <Monitoring> monitoringList = new();
                Grupo             group          = await GrupoService.GetInstance().GetGroup(msg.GroupName);

                List <String> msgRecipients = JsonConvert.DeserializeObject <List <string> >(group.Usuarios);
                foreach (string userId in msgRecipients)
                {
                    Usuario user = await UsersService.GetInstance().GetUser(Constants.IdQuery, userId);

                    Monitoring monitoring;
                    if (Context.ConnectionId != user.ConnectionID)
                    {
                        monitoring = new Monitoring
                        {
                            Id       = user.Id,
                            Nome     = user.NomeUsuario,
                            IsOnline = user.IsOnline,
                            Resposta = user.RespostaNotifUsu,
                            TemPessoasComProbMobilidade = user.TemPessoasComProbMobilidade,
                        };
                        monitoringList.Add(monitoring);
                    }
                }

                await Clients.Caller.SendAsync("ReceiveMonitoringNotification", monitoringList, null);
            }
            catch (Exception e)
            {
                StringBuilder sbError = new();
                sbError.Append("Erro: ");
                sbError.Append(e.ToString());
                await Clients.Caller.SendAsync("ReceiveMonitoringNotification", null, sbError.ToString());
            }
        }
Exemple #31
0
        public GrupoModel GetByIdExterno(
            int id,
            [FromServices] GrupoService service,
            [FromServices] IMemoryCache cache
            )
        {
            GrupoModel grupoModel;

            if (!cache.TryGetValue(id, out grupoModel))
            {
                grupoModel = service.GetById(id, "");

                if (grupoModel != null)
                {
                    var opcoesDoCache = new MemoryCacheEntryOptions()
                    {
                        AbsoluteExpiration = DateTime.Now.AddMinutes(CACHEEMMINUTOS)
                    };
                    cache.Set(id, grupoModel, opcoesDoCache);
                }
            }

            return(grupoModel);
        }
 public ActionResult Index()
 {
     var c = new GrupoService();
     return Listar();
 }
 public GrupoConvidadosViewModel()
 {
     servicoGrupo = new GrupoService();
     Convidados   = new ObservableCollection <ConviteGrupo>(servicoGrupo.ObterConvitesEnviadosDoGrupo());
 }
Exemple #34
0
        public async Task CreateOrOpenGroup(Usuario currentUser)
        {
            try
            {
                bool isNewGrp;
                var  group = await GrupoService.GetInstance().GetGroup(currentUser.IdComunidadeUsu);

                if (group == null)
                {
                    isNewGrp = true;

                    //Se não encontrou o grupo no banco de dados, cria um.
                    group = new Grupo
                    {
                        Id   = Guid.NewGuid().ToString(),
                        Nome = currentUser.IdComunidadeUsu,
                    };
                }
                else
                {
                    isNewGrp       = false;
                    group.Usuarios = null;
                }

                IList <Usuario> listUsers = null;
                listUsers = await UsersService.GetInstance().GetUsersList(Constants.IdComunidadeQuery, group.Nome);

                List <string> listUserId = new();
                foreach (Usuario user in listUsers)
                {
                    listUserId.Add(user.Id);
                    //Adicionando os Connections Id's dos usuários no grupo do SignalR
                    if (!string.IsNullOrEmpty(user.ConnectionID))
                    {
                        var connectionsId = JsonConvert.DeserializeObject <List <string> >(user.ConnectionID);
                        foreach (var connectionId in connectionsId)
                        {
                            await Groups.AddToGroupAsync(connectionId, group.Nome);
                        }
                    }
                }

                if (!listUserId.Contains(currentUser.Id))
                {
                    listUserId.Add(currentUser.Id);
                }

                //Salvando os Id's dos usuários no grupo do Banco de dados.
                group.Usuarios = JsonConvert.SerializeObject(listUserId);
                if (isNewGrp)
                {
                    var success = await GrupoService.GetInstance().AddGroup(group);
                }
                else
                {
                    await GrupoService.GetInstance().UpdateGroup(group);
                }

                await Clients.Caller.SendAsync("OpenGroup", group.Nome);
            }
            catch (Exception e)
            {
                StringBuilder sbError = new();
                sbError.Append("Erro: ");
                sbError.Append(e.ToString());
                await Clients.Caller.SendAsync("OpenGroup", "", sbError);
            }
        }
Exemple #35
0
 public GrupoController(GrupoService servico)
 {
     _servico = servico;
 }