Esempio n. 1
0
        public IActionResult Solicitar(SolicitacaoCompraModel model)
        {
            if (!ModelState.IsValid)
            {
                return(JsonResultErro(ModelState));
            }

            try
            {
                //Recuperar o ativo para registrar a baixa;
                SolicitacaoCompraModelApi modelApi = new SolicitacaoCompraModelApi();
                modelApi.DataSolicitacao           = model.DataSolicitacao;
                modelApi.DescricaoSolicitacao      = model.DescricaoSolicitacao;
                modelApi.CodigoSituacaoSolicitacao = model.CodigoSituacaoSolicitacao;
                modelApi.SituacaoSolicitacao       = model.SituacaoSolicitacao;
                modelApi.Responsavel = User.Identity.Name;

                string numeroProtocolo = _sgaAtivoApiClient.SolicitarCompraAtivo(modelApi);

                return(JsonResultSucesso(numeroProtocolo, "Solicitação de compra de ativo registrada com sucesso."));
            }
            catch (Exception erro)
            {
                return(JsonResultErro(erro));
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Registra uma solicitação de compra no sistema de compras e guarda na gestão de ativos para acompanhamento.
        /// </summary>
        /// <param name="modelApi"></param>
        /// <returns></returns>
        public string SolicitarCompraAtivo(SolicitacaoCompraModelApi modelApi)
        {
            //Encaminhar solicitação para o sistema de compras. aguarda protocolo.
            string numeroProtocolo = Guid.NewGuid().ToString().Substring(0, 13);

            //Manter a solicitação de ativo dentro do módulo para acompanhamento.
            try
            {
                string baseURL = _configuration.GetSection("SGA_ComprarAtivoAPI:BaseURL").Value;
                string key     = _configuration.GetSection("SGA_ComprarAtivoAPI:Key").Value;
                if (!string.IsNullOrEmpty(key))
                {
                    baseURL += $"?api_key={key}";
                }

                modelApi.NumeroProtocolo = numeroProtocolo;
                StringContent content = new StringContent(JsonConvert.SerializeObject(modelApi), System.Text.Encoding.UTF8, "application/json");

                HttpResponseMessage response = _client.PostAsync(baseURL, content).Result;
                response.EnsureSuccessStatusCode();

                return(numeroProtocolo);
            }
            catch (Exception erro)
            {
                throw new HttpRequestException("Erro ao registrar solicitação de compra de novo ativo.", erro);
            }
        }
Esempio n. 3
0
        internal static SolicitacaoCompraModel ConvertToModel(SolicitacaoCompraModelApi modelApi)
        {
            SolicitacaoCompraModel model = new SolicitacaoCompraModel();

            model.Id = modelApi.Id;
            model.NumeroProtocolo           = modelApi.NumeroProtocolo;
            model.DataSolicitacao           = modelApi.DataSolicitacao;
            model.DescricaoSolicitacao      = modelApi.DescricaoSolicitacao;
            model.CodigoSituacaoSolicitacao = modelApi.CodigoSituacaoSolicitacao;
            model.SituacaoSolicitacao       = modelApi.SituacaoSolicitacao;
            return(model);
        }