Example #1
0
        internal static AtivoModel ConvertToModel(AtivoModelApi modelApi)
        {
            var model = new AtivoModel();

            model.Id   = modelApi.Id;
            model.Nome = modelApi.Nome;
            model.Tipo = modelApi.Tipo;
            model.QtdDiasPeriodoManutencao = modelApi.QtdDiasManutencao;
            model.UltimaManutencao         = modelApi.DataUltimaManutencao;
            model.Responsavel = modelApi.Responsavel;

            //Verificar se ativo baixado...
            model.HasBaixado = (modelApi.BaixaAtivo != null);
            if (model.HasBaixado)
            {
                model.Baixa = BaixaAtivoModel.ConvertToModel(modelApi.BaixaAtivo);
            }

            //Verificar se ativo possui manutenções...
            model.HasManutencoes = (modelApi.ManutencoesAtivo != null && modelApi.ManutencoesAtivo.Any());
            if (model.HasManutencoes)
            {
                model.Manutencoes = ManutencaoAtivoModel.ConvertToModels(modelApi.ManutencoesAtivo);
            }

            return(model);
        }
Example #2
0
        /// <summary>
        /// Gravar as informações do Ativo.
        /// </summary>
        /// <param name="ativoModel">Dados do ativo a ser gravado.</param>
        public void GravarAtivo(AtivoModelApi ativoModel)
        {
            try
            {
                string baseURL = _configuration.GetSection("SGA_AtivoAPI:BaseURL").Value;
                string key     = _configuration.GetSection("SGA_AtivoAPI:Key").Value;
                if (!string.IsNullOrEmpty(key))
                {
                    baseURL += $"?api_key={key}";
                }

                ativoModel.DataRegistro = DateTime.Now;
                StringContent content = new StringContent(JsonConvert.SerializeObject(ativoModel), System.Text.Encoding.UTF8, "application/json");

                HttpResponseMessage response;
                if (string.IsNullOrEmpty(ativoModel.Id))
                {
                    response = _client.PostAsync(baseURL, content).Result;
                }
                else
                {
                    response = _client.PutAsync(baseURL, content).Result;
                }

                response.EnsureSuccessStatusCode();
            }
            catch (Exception erro)
            {
                throw new HttpRequestException("Erro ao gravar ativo.", erro);
            }
        }
Example #3
0
        public IActionResult Gravar(AtivoModel model)
        {
            if (!ModelState.IsValid)
            {
                return(JsonResultErro(ModelState));
            }

            AtivoModelApi modelApi = new AtivoModelApi();

            if (!string.IsNullOrEmpty(model.Id))
            {
                modelApi.Id = model.Id;
            }
            modelApi.Nome = model.Nome;
            modelApi.Tipo = model.Tipo;
            modelApi.QtdDiasManutencao = model.QtdDiasPeriodoManutencao;
            modelApi.Responsavel       = User.Identity.Name;
            try
            {
                _sgaAtivoApiClient.GravarAtivo(modelApi);
                return(JsonResultSucesso("Ativo registrado com sucesso."));
            }
            catch (Exception erro)
            {
                return(JsonResultErro(erro));
            }
        }
Example #4
0
        public IActionResult Registrar(BaixaAtivoModel model)
        {
            if (!ModelState.IsValid)
            {
                return(JsonResultErro(ModelState));
            }

            try
            {
                //Recuperar o ativo para registrar a baixa;
                AtivoModelApi modelAtivoApi = _sgaAtivoApiClient.ObterAtivo(model.IdAtivo);
                if (modelAtivoApi.BaixaAtivo != null)
                {
                    string dataBaixa = modelAtivoApi.BaixaAtivo.Data.ToString("dd/MM/yyyy");
                    return(JsonResultErro($"Ativo já baixado em [{dataBaixa}]"));
                }

                BaixaAtivoModelApi baixaModelApi = new BaixaAtivoModelApi();
                baixaModelApi.Data        = model.Data;
                baixaModelApi.Motivo      = model.Motivo;
                baixaModelApi.Responsavel = User.Identity.Name;

                modelAtivoApi.BaixaAtivo = baixaModelApi;

                _sgaAtivoApiClient.GravarAtivo(modelAtivoApi);

                return(JsonResultSucesso("Baixa do ativo registrado com sucesso."));
            }
            catch (Exception erro)
            {
                return(JsonResultErro(erro));
            }
        }
Example #5
0
        public IActionResult Registrar(ManutencaoAtivoModel model)
        {
            if (!ModelState.IsValid)
            {
                return(JsonResultErro(ModelState));
            }

            try
            {
                //Recuperar o ativo para registrar a manutenção;
                AtivoModelApi modelAtivoApi = _sgaAtivoApiClient.ObterAtivo(model.IdAtivo);
                if (modelAtivoApi.ManutencoesAtivo == null)
                {
                    modelAtivoApi.ManutencoesAtivo = new List <ManutencaoAtivoModelApi>();
                }

                ManutencaoAtivoModelApi manutencaoModelApi = new ManutencaoAtivoModelApi();
                manutencaoModelApi.Data          = model.Data;
                manutencaoModelApi.Descricao     = model.Descricao;
                manutencaoModelApi.HasPreventiva = model.HasPreventiva;
                manutencaoModelApi.Responsavel   = User.Identity.Name;

                modelAtivoApi.ManutencoesAtivo.Add(manutencaoModelApi);
                modelAtivoApi.DataUltimaManutencao = model.Data;

                _sgaAtivoApiClient.GravarAtivo(modelAtivoApi);

                return(JsonResultSucesso("Manutenção em ativo registrado com sucesso."));
            }
            catch (Exception erro)
            {
                return(JsonResultErro(erro));
            }
        }