Exemple #1
0
        public void Excluir(Orgao orgao)
        {
            var strQuery = string.Format("DELETE FROM tblorgao WHERE idorgao={0}", orgao.OrgaoId);

            using (cnx = new ConexaoBD())
                cnx.CommNom(strQuery);
        }
Exemple #2
0
        /// <summary>
        /// Metodo responsavel por salvar o orgao
        /// </summary>
        /// <param name="Orgao"></param>
        /// <returns></returns>
        public Orgao SalvaOrgao(Orgao orgao)
        {
            db.Orgaos.Add(orgao);
            db.SaveChanges();

            return(orgao);
        }
Exemple #3
0
 private Orgao One(DataTable dt, int pos)
 {
     if (dt.Rows.Count > 0)
     {
         var registro = new Orgao()
         {
             OrgaoId     = int.Parse(dt.Rows[pos]["idorgao"].ToString()),
             Tipo        = dt.Rows[pos]["tipo"].ToString(),
             Sigla       = dt.Rows[pos]["sigla"].ToString(),
             Descricao   = dt.Rows[pos]["descricao"].ToString(),
             CNPJ        = dt.Rows[pos]["cnpj"].ToString(),
             Endereco    = dt.Rows[pos]["endereco"].ToString(),
             Complemento = dt.Rows[pos]["complemento"].ToString(),
             CEP         = dt.Rows[pos]["cep"].ToString(),
             Cidade      = dt.Rows[pos]["cidade"].ToString(),
             UF          = dt.Rows[pos]["uf"].ToString(),
             Telefone1   = dt.Rows[pos]["telefone1"].ToString(),
             Telefone2   = dt.Rows[pos]["telefone2"].ToString(),
             Estado      = dt.Rows[pos]["estado"].ToString(),
             Municipio   = dt.Rows[pos]["municipio"].ToString(),
         };
         return(registro);
     }
     else
     {
         return(new Orgao());
     }
 }
        public override IList <object> Consultar(object entidade)
        {
            Orgao  orgao = entidade as Orgao;
            string sql   = "select cod_orgao, " +                     // 0
                           "sig_orgao  " +                            // 1
                           "from   orgao " +
                           "where  upper(cod_orgao) = upper(?) Or " + //cod_orgao
                           "upper(sig_orgao) = upper(?)";             //sig_orgao

            comando = new SqlCommand(sql, conexao, transacao);
            comando.Parameters.Add(new SqlParameter("cod_orgao", orgao.Codigo.Trim()));
            comando.Parameters.Add(new SqlParameter("sig_orgao", orgao.Sigla.Trim()));

            dataReader = comando.ExecuteReader(); //executar read

            if (dataReader.Read())
            {
                Orgao novo = new Orgao();
                novo.Codigo = dataReader.GetString(0);
                novo.Sigla  = dataReader.GetString(1);
                dataReader.Close();

                IList <object> retorno = new List <object>();
                retorno.Add(novo);

                dataReader.Close(); // para poder usar novamente mais tarde
                return(retorno);
            }
            dataReader.Close(); // para poder usar novamente mais tarde
            return(null);
        }
        public override string Executar(object entidade)
        {
            if (entidade is CopiaDeAutorizacao)
            {
                CopiaDeAutorizacao copia = entidade as CopiaDeAutorizacao;
                string             msg   = this.Executar(copia.AutorizacaoOrigem);
                if (msg == null)
                {
                    msg = this.Executar(copia.AutorizacaoDestino);
                }
                return(msg);
            }
            Autorizacao             auth    = entidade as Autorizacao;
            IFachada <Profissional> fachada = new FachadaAdmWeb <Profissional>();

            fachada.SalvaConexaoAtiva(this.conexao);     // Manter conexão anterior
            fachada.SalvaTransacaoAtiva(this.transacao); // Manter transação anterior
            fachada.DefineTemQueFecharConexao(false);    // Não fechar ao finalizar

            Orgao aux = auth.Usuario.OrgaoAtual;

            auth.Usuario.OrgaoAtual = null;
            IList <Profissional> retorno = fachada.Consultar(auth.Usuario);

            auth.Usuario.OrgaoAtual = aux;

            if (retorno == null)
            {
                return("O Usuário informado não existe!");
            }

            return(null);
        }
        private static void HandleCidade(Licitacao licitacao, string orgao)
        {
            Dictionary <string, int?> ufToCidade = UfToNomeCidadeToIdCidade.ContainsKey(licitacao.EstadoFonte) ? UfToNomeCidadeToIdCidade[licitacao.EstadoFonte] : null;
            List <Cidade>             cities     = new CidadeRepository().FindByUf(licitacao.EstadoFonte);

            string cidadeEstado = CityUtil.FindCity(licitacao);
            string cityMatch    = GetCityMatch(ufToCidade, orgao);

            if (orgao.Contains("MUNICIPIO"))
            {
                licitacao.Cidade      = orgao.Replace("MUNICIPIO DE ", "").Replace("MUNICIPIO DA ", "");
                licitacao.CidadeFonte = ufToCidade.ContainsKey(StringHandle.RemoveAccent(licitacao.Cidade.ToUpper())) ? ufToCidade[StringHandle.RemoveAccent(licitacao.Cidade.ToUpper())] : CityUtil.GetCidadeFonte(licitacao.Cidade, ufToCidade);
                return;
            }

            if (orgao.Contains("PREFEITURA MUNICIPAL"))
            {
                licitacao.Cidade      = orgao.Replace("PREFEITURA MUNICIPAL DE ", "").Replace("PREFEITURA MUNICIPAL DA ", "");
                licitacao.CidadeFonte = ufToCidade.ContainsKey(StringHandle.RemoveAccent(licitacao.Cidade.ToUpper())) ? ufToCidade[StringHandle.RemoveAccent(licitacao.Cidade.ToUpper())] : CityUtil.GetCidadeFonte(licitacao.Cidade, ufToCidade);
                return;
            }

            if (!string.IsNullOrEmpty(cidadeEstado))
            {
                licitacao.Cidade      = cidadeEstado.Split('/')[0];
                licitacao.CidadeFonte = Convert.ToInt16(cidadeEstado.Split('/')[2]);
                return;
            }

            if (!string.IsNullOrEmpty(cityMatch))
            {
                licitacao.Cidade      = cityMatch.ToUpper();
                licitacao.CidadeFonte = ufToCidade.ContainsKey(StringHandle.RemoveAccent(cityMatch.ToUpper())) ? ufToCidade[StringHandle.RemoveAccent(cityMatch.ToUpper())] : CityUtil.GetCidadeFonte(licitacao.Cidade, ufToCidade);
                return;
            }

            if (licitacao.Cidade == null || licitacao.CidadeFonte == null)
            {
                if (UfToCapital.ContainsKey(licitacao.EstadoFonte))
                {
                    licitacao.Cidade      = UfToCapital[licitacao.EstadoFonte];
                    licitacao.CidadeFonte = ufToCidade != null?ufToCidade.ContainsKey(StringHandle.RemoveAccent(licitacao.Cidade.ToUpper())) ? ufToCidade[StringHandle.RemoveAccent(licitacao.Cidade.ToUpper())] : null : null;
                }
                else
                {
                    Orgao orgaoDb = OrgaoRepository.FindOrgao(licitacao.Departamento);

                    if (orgaoDb != null)
                    {
                        licitacao.Cidade      = UfToCapital.ContainsKey(orgaoDb.Estado) ? UfToCapital[orgaoDb.Estado] : null;
                        licitacao.CidadeFonte = ufToCidade != null?
                                                ufToCidade.ContainsKey(StringHandle.RemoveAccent(licitacao.Cidade.ToUpper())) ?
                                                ufToCidade[StringHandle.RemoveAccent(licitacao.Cidade.ToUpper())]
                                                                : null
                                                : null;
                    }
                }
            }
        }
Exemple #7
0
 public ActionResult <Orgao> Post(Orgao orgao)
 {
     _orgaoRepository.Cadastrar(orgao);
     _orgaoRepository.Salvar();
     //Rretorna o status 201 Created, Link para acessar o produto registrado
     //e o produto registrado
     return(CreatedAtAction("Get", new { id = orgao.OrgaoId }, orgao));
 }
Exemple #8
0
        public IActionResult AdicionarOrgao(Orgao orgao)
        {
            _orgaoRepository.Cadastrar(orgao);
            _orgaoRepository.Salvar();
            TempData["msg"] = "Orgao cadastrado";

            return(RedirectToAction("AdicionarOrgao"));
        }
        /*Inica o processamento do robot*/
        public static void Init()
        {
            RService.Log("(Init) " + Name + ": Começando o processamento... " + "at {0}", Path.GetTempPath() + Name + ".txt");

            try
            {
                AllLinks    = new List <string>();
                Orgao       = OrgaoController.FindById(27);
                Modalidades = new List <Modalidade>();
                Lote        = LoteController.CreateLote(43, 506);
                Repo        = new LicitacaoRepository();

                Modalidades.Add(ModalidadeController.FindById(24));
                Modalidades.Add(ModalidadeController.FindById(22));

                CurrentPage = 1;
                /*Pega o html da primeira página*/
                HtmlDocument pagehtml = WebHandle.GetHtmlHandleCaptcha(Constants.CMG_SITE + Constants.CMG_LINK_PAGINATION, Encoding.GetEncoding("ISO-8859-1"), "textoConfirmacao", Constants.CMG_CAPTCHA, GetParametersPagination(string.Format(Constants.CMG_PARAMETERS_PAGINATION, CurrentPage, DateTime.Now.Year)));

                /*Numero de paginas encontradas*/
                int numberPages = pagehtml.DocumentNode.Descendants("a").Where(x => x.Attributes.Contains("id") && x.Attributes["id"].Value.Contains("tabConsultaPregoes_pagina")).ToList().Count;
                /*Caso existam poucas licitações, ao ponto de só haver uma página, o robô estava retornando numberPages = 0. Com a limitação abaixo, ele sempre vai pegar as licitações independente do pouco número de licitações*/
                if (numberPages == 0)
                {
                    numberPages = 1;
                }

                /*Percorre todas as paginas*/
                while (pagehtml != null && CurrentPage <= numberPages)
                {
                    /*Pega todas os pregões de cada página*/
                    GetPregoes(pagehtml);
                    /*Numero da próxima pagina*/
                    CurrentPage++;
                    /*Pega o html da próxima página*/
                    pagehtml = WebHandle.GetHtmlHandleCaptcha(Constants.CMG_SITE + Constants.CMG_LINK_PAGINATION, Encoding.GetEncoding("ISO-8859-1"), "textoConfirmacao", Constants.CMG_CAPTCHA, GetParametersPagination(string.Format(Constants.CMG_PARAMETERS_PAGINATION, CurrentPage, DateTime.Now.ToString("yyyy"))));
                    NumCaptcha++;
                }

                if (Directory.Exists(PathEditais))
                {
                    Directory.Delete(PathEditais, true);
                }
            }
            catch (Exception e)
            {
                RService.Log("Exception (Init)" + Name + ":" + e.Message + " / " + e.StackTrace + " / " + e.InnerException + " at {0}", Path.GetTempPath() + Name + ".txt");
            }
            finally
            {
                if (NumLicitacoes <= 0)
                {
                    LoteController.Delete(Lote);
                }
            }
        }
Exemple #10
0
 public void Salvar(Orgao orgao)
 {
     if (orgao.OrgaoId > 0)
     {
         Alterar(orgao);
     }
     else
     {
         Inserir(orgao);
     }
 }
Exemple #11
0
        public ActionResult <Orgao> Put(int id, Orgao orgao)
        {
            var p = _orgaoRepository.Pesquisar(id);

            if (p == null)
            {
                return(NotFound());
            }

            orgao.OrgaoId = id;
            _orgaoRepository.Atualizar(orgao);
            _orgaoRepository.Salvar();

            return(Ok(orgao));  //Status 200 ok
        }
Exemple #12
0
        private void Alterar(Orgao orgao)
        {
            var strQuery = "";

            strQuery += "UPDATE tblorgao SET ";
            strQuery += string.Format("tipo='{0}', sigla='{1}', descricao='{2}', cnpj='{3}', " +
                                      "endereco='{4}', complemento='{5}', cep='{6}', cidade='{7}', uf='{8}', " +
                                      "telefone1='{9}', telefone2='{10}', estado='{11}', " +
                                      "municipio='{12}' ", orgao.Tipo, orgao.Sigla, orgao.Descricao, orgao.CNPJ,
                                      orgao.Endereco, orgao.Complemento, orgao.CEP, orgao.Cidade, orgao.UF,
                                      orgao.Telefone1, orgao.Telefone2, orgao.Estado, orgao.Municipio);
            strQuery += "WHERE idorgao=" + orgao.OrgaoId.ToString();

            using (cnx = new ConexaoBD())
                cnx.CommNom(strQuery);
        }
Exemple #13
0
        private void Inserir(Orgao orgao)
        {
            var strQuery = "";
            int id;
            var lid = new List <Orgao>();

            lid       = ListAll();
            id        = lid[lid.Count - 1].OrgaoId + 1;
            strQuery += string.Format("INSERT INTO tblorgao(idorgao, tipo, sigla, descricao, cnpj, " +
                                      "endereco, complemento, cep, cidade, uf, telefone1, telefone2, estado, municipio) " +
                                      "VALUES ({0}, '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', " +
                                      "'{11}', '{12}', '{13}')", id, orgao.Tipo, orgao.Sigla, orgao.Descricao, orgao.CNPJ,
                                      orgao.Endereco, orgao.Complemento, orgao.CEP, orgao.Cidade, orgao.UF, orgao.Telefone1,
                                      orgao.Telefone2, orgao.Estado, orgao.Municipio);

            using (cnx = new ConexaoBD())
                cnx.CommNom(strQuery);
        }
        public ActionResult RegistroOLD(int?id)
        {
            RegistroUsuarioViewModel model = new RegistroUsuarioViewModel();

            if (id.HasValue)
            {
                Usuario usuario = _dbContext.Usuario.FirstOrDefault(x => x.ID_USUARIO == id);

                model.usuarioID    = usuario.ID_USUARIO;
                model.usuarioNome  = usuario.NOME_COMPLETO;
                model.usuarioLogin = usuario.LOGIN;
                model.usuarioCPF   = usuario.CPF;
                model.usuarioEmail = usuario.EMAIL;
                model.usuarioRG    = usuario.RG;
                model.usuarioRG_UF = usuario.RG_UF;

                model.GrupoId = usuario.ID_GRUPO;
                model.OrgaoId = usuario.ID_ORGAO;

                if (model.OrgaoId > 0)
                {
                    int orgaoid = Convert.ToInt16(model.OrgaoId);

                    Orgao orgao = _dbContext.Orgao.FirstOrDefault(c => c.ID_ORGAO == orgaoid);

                    SubtipoOrgao subtipoOrgao = _dbContext.SubtipoOrgao.FirstOrDefault(c => c.ID_SUBTIPO_ORGAO == orgao.ID_SUBTIPO_ORGAO);

                    model.OrgaoIdSubTipo = subtipoOrgao.ID_SUBTIPO_ORGAO;

                    TipoOrgao tipoOrgao = _dbContext.TipoOrgao.FirstOrDefault(c => c.ID_TIPO_ORGAO == subtipoOrgao.ID_TIPO_ORGAO);

                    model.OrgaoIdTipo = tipoOrgao.ID_TIPO_ORGAO;
                }

                if (usuario.CPF == "")
                {
                    model.TipoUsuario = true;
                }
            }

            return(View(model));
        }
        public static Orgao GetOrgaoByNameAndUf(string nomeUf, Dictionary <string, Orgao> nameToOrgao)
        {
            OrgaoRepository repo = new OrgaoRepository();

            if (!nameToOrgao.ContainsKey(StringHandle.RemoveAccent(nomeUf)))
            {
                Orgao org = new Orgao();
                org.Estado = nomeUf.Split(':')[1];
                org.Nome   = nomeUf.Split(':')[0];

                if (repo == null)
                {
                    repo = new OrgaoRepository();
                }
                repo.Insert(org);
                return(org);
            }
            else
            {
                return(nameToOrgao[StringHandle.RemoveAccent(nomeUf)]);
            }
        }
        /*Inicia o processamento do robot*/
        private static void Init()
        {
            RService.Log("(Init) " + Name + ": Começando o processamento.. " + "at {0}", Path.GetTempPath() + Name + ".txt");
            try
            {
                ModalidadeCount = 0;

                Modalidades = new List <Modalidade>();
                Modalidades.Add(ModalidadeController.FindById(1));
                Modalidades.Add(ModalidadeController.FindById(14));
                Orgao = OrgaoController.FindById(388);
                Lote  = LoteController.CreateLote(43, 507);

                /*Lista das licitacoes que já existem para bec.sp.gov*/
                //AlreadyInserted = LicitacaoController.GetAlreadyInserted(Constants.BEC_SITE);

                /*Lista das cidades para o estado*/
                Cidades = CidadeController.GetNameToCidade(Constants.BEC_UF);

                //Define os pontos de partida
                List <string> urls = new List <string>();

                urls.Add(Constants.BEC_LINK_MODALIDADE_2);
                urls.Add(Constants.BEC_LINK_MODALIDADE_5);

                /*Percorre cada modalidade. Como o portal BEC usa javascript para gerar as licitações, foi preciso
                 * criar dois caminhos, uma para cada modalidade: para Carta Convite, usa-se o HtmlAgilityPack e
                 * para Dispensa de Licitação, usa-se o Selenium (PhantomJS), que consegue lidar com javascript*/
                foreach (string uri in urls)
                {
                    if (!uri.Contains("Dispensa"))
                    {
                        GetConvites(uri);
                    }
                    else
                    {
                        GetDispensas(uri);
                    }
                }

                if (Directory.Exists(PathEdital))
                {
                    Directory.Delete(PathEdital, true);
                }
            }
            catch (Exception e)
            {
                RService.Log("Exception (Init)" + Name + ":" + e.Message + " / " + e.StackTrace + " / " + e.InnerException + " at {0}", Path.GetTempPath() + Name + ".txt");
            }
            finally
            {
                if (NumLicitacoes <= 0)
                {
                    LoteController.Delete(Lote);
                }

                if (web != null)
                {
                    web.Close();
                }
            }
        }
        /*Inicia o processamento do robot*/
        private static void Init()
        {
            RService.Log("(Init) " + Name + ": Começando o processamento.. " + "at {0}", Path.GetTempPath() + Name + ".txt");
            try
            {
                AlreadyColected = new HashSet <long>();

                /*Lista das licitacoes que já existem para bec.sp.gov*/
                //AlreadyInserted = LicitacaoController.GetAlreadyInserted(Constants.BEC_SITE);

                /*Lista das cidades para o estado*/
                Cidades = CidadeController.GetNameToCidade(Constants.BEC_UF);

                Modalidade = ModalidadeController.FindById(24);
                Orgao      = OrgaoController.FindById(388);
                Lote       = LoteController.CreateLote(43, 507);
                Repo       = new LicitacaoRepository();

                //Define os pontos de partida, uri e argumentos do post
                List <string> urls = new List <string>();

                urls.Add(Constants.BEC_LINK_MODALIDADE_71);
                urls.Add(Constants.BEC_LINK_MODALIDADE_72);

                /*Percorre cada modalidade*/
                foreach (string uri in urls)
                {
                    /*Lista dos parametros do post*/
                    NameValueCollection post = new NameValueCollection();

                    /*Percorre as naturezas de cada modalidade*/
                    foreach (var attr in WebHandle.GetHtmlDocOfPage(uri, post).DocumentNode.Descendants("span").Where(x => x.Attributes.Contains("id") &&
                                                                                                                      x.Attributes["id"].Value.ToString().Contains(Constants.BEC_ID_NATUREZA)))
                    {
                        string urin = attr.SelectSingleNode("a").Attributes["href"].Value.ToString();

                        int page = 2, count = 20;

                        /*Percorre as páginas para cada uma das naturezas (ex: 1;2;3)*/
                        HtmlDocument pagehtml = WebHandle.GetHtmlDocOfPage(urin, post);
                        while (pagehtml != null && count == 20)
                        {
                            RService.Log("(GetOC) " + Name + ": Percorrendo os links da página.. " + (page - 1) + " at {0}", Path.GetTempPath() + Name + ".txt");

                            //Pega as licitações de cada página (OC's)
                            count = GetOC(pagehtml);
                            //Pega o html da próxima página
                            pagehtml = WebHandle.GetHtmlDocOfPage(urin, GetFormParameters(pagehtml, page));
                            //Numero da proxima página
                            page++;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                RService.Log("Exception (Init) " + Name + ": " + e.Message + " / " + e.StackTrace + " / " + e.InnerException + " at {0}", Path.GetTempPath() + Name + ".txt");
            }
            finally
            {
                if (NumLicitacoes <= 0)
                {
                    LoteController.Delete(Lote);
                }
            }
        }
        private static Licitacao CreateQuote(HtmlDocument htmlQuote, string quoteLink, out string situacao)
        {
            Licitacao l     = new Licitacao();
            int       count = 0;

            situacao = null;

            try
            {
                l.IdFonte    = 508;
                l.LinkEdital = string.Format(Constants.CN_COTACAO_LINK, quoteLink);
                l.LinkSite   = Constants.CN_HOST;
                l.Excluido   = 0;
                l.SegmentoAguardandoEdital = 0;
                l.DigitacaoUsuario         = 43; //Robo
                l.Lote           = lote;
                l.Modalidade     = nameToModalidade.ContainsKey("COTACAO ELETRONICA") ? nameToModalidade["COTACAO ELETRONICA"] : null;
                l.ItensLicitacao = l.ItensLicitacao ?? new List <ItemLicitacao>();

                foreach (var row in htmlQuote.DocumentNode.Descendants("tr").Where(x => x.Attributes.Contains("height")))
                {
                    switch (count)
                    {
                    case 0:
                        string uasg         = row.InnerText.Split('-')[0].TrimEnd().Replace("UASG: ", "");
                        string departamento = string.Empty;
                        if (row.InnerText.Split('-').Count() > 2)
                        {
                            for (int i = 1; i < row.InnerText.Split('-').Count(); i++)
                            {
                                if (i != 1)
                                {
                                    departamento = departamento + "-" + row.InnerText.Split('-')[i].TrimStart();
                                }
                                else
                                {
                                    departamento = row.InnerText.Split('-')[i].TrimStart();
                                }
                            }
                        }
                        else
                        {
                            departamento = row.InnerText.Split('-')[1].TrimStart();
                        }
                        l.Uasg         = uasg;
                        l.Departamento = departamento;
                        break;

                    case 1:
                        string numero = row.InnerText.Split(':')[1].TrimStart();
                        l.Num = numero;
                        break;

                    case 2:
                        string objeto = row.InnerText.Replace("Objeto: ", string.Empty);
                        l.Objeto = objeto;
                        break;

                    case 3:
                        string dataEntrega = row.InnerText.Split(':')[1].TrimStart();
                        l.EntregaData = Convert.ToDateTime(dataEntrega);
                        break;

                    case 4:
                        string       obsLink = row.ChildNodes[0].ChildNodes[1].Attributes["href"].Value.ToString().Remove(0, 8);
                        HtmlDocument htmlObs = WebHandle.GetHtmlDocOfPage(string.Format(Constants.CN_COTACAO_LINK, obsLink), Encoding.GetEncoding("ISO-8859-1"));
                        string       obs     = Regex.Replace(htmlObs.DocumentNode.InnerHtml.ToString(), "<.*?>", string.Empty)
                                               .Replace("\n\n\n\n  \tCOMPRASNET - O Portal de Compras do Governo Federal :: Observações Gerais da Cotação Eletrônica.\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\n\n    function erroLogin(){\n        window.opener.erroLogin();\n        window.close();\n    }\n\n\n\n    function popup(ev, elA, features) {\n        var url, target;\n        url = elA.getAttribute(\"href\");\n        target = elA.getAttribute(\"target\");\n        window.open(url, target, features);\n\n        if (ev.cancelBubble != undefined) { //IE\n            ev.cancelBubble = true; \n            ev.returnValue = false;\n        }\n        if (ev.preventDefault) ev.preventDefault(); //Outros\n    }\n\n\n\n\n\n\nAguarde!\n\n\nObservações Gerais da Cotação Eletrônica\n\r\n              ", string.Empty)
                                               .Replace("  ", string.Empty);
                        if (icms)
                        {
                            l.Observacoes = "ICMS: Sim\n\n" + obs;
                        }
                        else
                        {
                            l.Observacoes = "ICMS: Não\n\n" + obs;
                        }
                        break;

                    case 5:
                        situacao   = Regex.Replace(StringHandle.GetMatches(row.InnerHtml, @"Situação:( *)</b><span(.*?)>(.*?)</span")[0].ToString(), @"Situação:|</b><span(.*?)>|</span", "").Trim();
                        l.Situacao = situacao;
                        break;

                    case 6:
                        string dataAbertura = row.InnerText.Split(':')[1].TrimStart().Split('(')[0].Replace('h', ':');
                        l.AberturaData = DateHandle.Parse(dataAbertura, "dd/MM/yyyy hh:mm");
                        break;

                    case 7:
                        string valor = row.InnerText.Split(':')[1].TrimStart();
                        l.ValorMax = valor;
                        break;
                    }
                    count++;
                }

                l.IdLicitacaoFonte = Convert.ToInt64(l.Uasg + l.Num.ToString());

                Licitacao oldLic = LicitacaoRepository.FindByUASG(l.Uasg);

                if (oldLic != null)
                {
                    l.Orgao       = oldLic.Orgao;
                    l.EstadoFonte = oldLic.EstadoFonte;
                    l.CidadeFonte = oldLic.CidadeFonte;
                    l.Endereco    = oldLic.Endereco;
                    l.Cidade      = oldLic.Cidade;
                    l.Estado      = oldLic.Estado;
                }
                else
                {
                    l.Orgao = OrgaoRepository.FindOrgao(l.Departamento);
                    if (l.Orgao == null)
                    {
                        Orgao           org  = OrgaoRepository.CreateOrgao(l.Departamento, l.Observacoes);
                        OrgaoRepository repo = new OrgaoRepository();
                        repo.Insert(org);
                        l.Orgao = org;
                    }
                    l.Estado      = l.Orgao.Estado;
                    l.EstadoFonte = l.Orgao.Estado;
                    l.Cidade      = ufToCapital.ContainsKey(l.EstadoFonte) ? ufToCapital[l.EstadoFonte] : null;
                    Dictionary <string, int?> ufToCidade = ufToNomeCidadeToIdCidade.ContainsKey(l.EstadoFonte) ? ufToNomeCidadeToIdCidade[l.EstadoFonte] : null;
                    l.CidadeFonte = ufToCidade != null?ufToCidade.ContainsKey(StringHandle.RemoveAccent(l.Cidade.ToUpper())) ? ufToCidade[StringHandle.RemoveAccent(l.Cidade.ToUpper())] : CityUtil.GetCidadeFonte(l.Cidade, ufToCidade) : CityUtil.GetCidadeFonte(l.Cidade, ufToCidade);

                    l.Endereco = null;
                }

                GetItens(htmlQuote, l);

                return(LicitacaoController.IsValid(l, out mensagemErro) ? l : null);
            }
            catch (Exception e)
            {
                if (l.Orgao == null)
                {
                    RService.Log("Exception (CreateQuote) " + Name + ": Órgão não foi localizado - ver log do serviço RService" + " at {0}", Path.GetTempPath() + Name + ".txt");
                }
                else
                {
                    RService.Log("Exception (CreateQuote) " + Name + ": " + e.Message + " / " + e.StackTrace + " / " + e.InnerException + " at {0}", Path.GetTempPath() + Name + ".txt");
                }

                return(null);
            }
        }
Exemple #19
0
 public void Atualizar(Orgao orgao)
 {
     _context.Orgaos.Update(orgao);
 }
Exemple #20
0
 public void Cadastrar(Orgao orgao)
 {
     _context.Orgaos.Add(orgao);
 }
        public IList <Usuario> Get(GrupoSanguineo grupoSanguineo, string cidade, Orgao orgao, Tipo tipoUsuario)
        {
            var compativeis = _repository.BuscarCompativeis(grupoSanguineo, cidade, orgao, tipoUsuario);

            return(compativeis);
        }
Exemple #22
0
 public Dictionary <string, object> Selecionar(int id)
 {
     oOrgao = new Orgao(id, oDao);
     return(ClassFunctions.GetProperties(oOrgao));
 }
Exemple #23
0
 public void PrepararInclusao()
 {
     oOrgao = new Orgao(oDao);
 }
Exemple #24
0
 public IList <Usuario> BuscarCompativeis(GrupoSanguineo grupoSanguineo, string cidade, Orgao orgao, Tipo tipoUsuario)
 {
     return(_context.Usuarios
            .Where(u => u.GrupoSanguineo == grupoSanguineo && u.Cidade == cidade && u.Orgao == orgao && u.TipoUsuario != tipoUsuario)
            .ToList());
 }
Exemple #25
0
 /// <summary>
 /// Metodo responsavel por alterar o orgao
 /// </summary>
 /// <param name="orgao"></param>
 public Orgao AlteraOrgao(Orgao orgao)
 {
     db.Entry <Orgao>(orgao).State = EntityState.Modified;
     db.SaveChanges();
     return(orgao);
 }
Exemple #26
0
        public string LocalizarTipoByIdOrgao(string idOrgao)
        {
            Orgao oOrgao = new Orgao(Convert.ToInt32(idOrgao), oDao);

            return(oOrgao.TipoEntidade.ID.ToString());
        }
 public void Update(int id, Orgao entity)
 {
     _orgaoRepository.Update(id, entity);
 }
 public void Add(Orgao entity)
 {
     _orgaoRepository.Add(entity);
 }