예제 #1
0
        private void ValidarMetaInstitucional(int pUsuario, int pSolucaoEducacional,
                                              List <int> pListaIdMetaInstitucionalAssociada,
                                              AuthenticationRequest autenticacao)
        {
            try
            {
                MetaInstitucional mi = null;
                if (pListaIdMetaInstitucionalAssociada != null && pListaIdMetaInstitucionalAssociada.Count > 0)
                {
                    foreach (int IdMetaIndividualAssociada in pListaIdMetaInstitucionalAssociada)
                    {
                        mi = new BMMetaInstitucional().ObterPorID(IdMetaIndividualAssociada);


                        if (!mi.ListaItensMetaInstitucional.Any(x => x.Usuario.ID == pUsuario && x.SolucaoEducacional.ID == pSolucaoEducacional))
                        {
                            mi.ListaItensMetaInstitucional.Add(new ItemMetaInstitucional()
                            {
                                Auditoria          = new Auditoria(autenticacao.Login),
                                MetaInstitucional  = new BMMetaInstitucional().ObterPorID(mi.ID),
                                SolucaoEducacional = new BMSolucaoEducacional().ObterPorId(pSolucaoEducacional),
                                Usuario            = new BMUsuario().ObterPorId(mi.ID),
                            });

                            using (BMMetaInstitucional miBM = new BMMetaInstitucional())
                                miBM.Salvar(mi);
                        }
                    }

                    SolucaoEducacional se = null;
                    using (BMSolucaoEducacional seBM = new BMSolucaoEducacional())
                        se = seBM.ObterPorId(pSolucaoEducacional);

                    Usuario user = null;
                    using (BMUsuario userBM = new BMUsuario())
                        user = userBM.ObterPorId(pUsuario);

                    foreach (var tagSe in se.ListaTags)
                    {
                        UsuarioTag ut = user.ListaTag.FirstOrDefault(x => x.Tag.ID == tagSe.ID);
                        if (ut == null)
                        {
                            user.ListaTag.Add(new UsuarioTag()
                            {
                                Usuario    = new BMUsuario().ObterPorId(pUsuario),
                                Auditoria  = new Auditoria(autenticacao.Login),
                                Tag        = new BMTag().ObterPorID(tagSe.Tag.ID),
                                Adicionado = false
                            });
                        }

                        using (BMUsuario userBM = new BMUsuario())
                            userBM.Salvar(user);
                    }
                }
            }
            catch
            {
            }
        }
예제 #2
0
 public void Salvar(MetaInstitucional mi)
 {
     base.PreencherInformacoesDeAuditoria(mi);
     bmMetaInstitucional.Salvar(mi);
 }