Esempio n. 1
0
        public IActionResult Post(OSCadastroModel model)
        {
            //verificando se os campos da model passaram nas ões
            if (ModelState.IsValid)
            {
                try
                {
                    var os = mapper.Map <OS>(model);
                    osRepository.Inserir(os);

                    var result = new
                    {
                        message = "OS cadastrada com sucesso",
                        os
                    };

                    return(Ok(result)); //HTTP 200 (SUCESSO!)
                }
                catch (Exception e)
                {
                    return(StatusCode(500, "Erro: " + e.Message));
                }
            }
            else
            {
                //Erro HTTP 400 (BAD REQUEST)
                return(BadRequest("Ocorreram erros de validação."));
            }
        }
Esempio n. 2
0
        public IActionResult Post(OSCadastroModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    if (model.Clientes != null)
                    {
                        foreach (var cliente in model.Clientes)
                        {
                            var contratoAtivo = contratoRepository.Consultar()
                                                .FirstOrDefault(co => co.CodCliente.Equals(cliente.Cod_Cliente) && co.FlagTermino.Equals(false));

                            if (contratoAtivo != null)
                            {
                                var os = new OS();
                                os.Endereco_Cliente = cliente.Endereco;
                                os.NomeCompleto_RazaoSocial_Cliente = cliente.NomeCompleto_RazaoSocial;
                                os.Email_Cliente     = cliente.Email;
                                os.Cod_Contrato      = contratoAtivo.Cod_Contrato;
                                os.Valor_Limite      = contratoAtivo.ValorLimite;
                                os.Coleta_Contratada = contratoAtivo.ColetaContratada;
                                os.Valor_Unidade     = contratoAtivo.ValorUnidade;
                                os.Cod_Cliente       = cliente.Cod_Cliente;

                                System.Globalization.CultureInfo brasil = new System.Globalization.CultureInfo("pt-BR");
                                String dataBr = DateTime.Now.ToString(brasil);
                                var    dt     = DateTime.Parse(dataBr);

                                os.Data_Geracao = dt;

                                var MesRef = mesRepository.Consultar().FirstOrDefault(m => m.DataTermino == null && m.Ativo.Equals(false));

                                if (MesRef is null)
                                {
                                    return(StatusCode(403, $"Não existe Mês referência aberto para cadastro da OS, favor cadastrar o Mês Referência"));
                                }

                                string nomeMotorista   = "thiago";
                                string recebido        = "thiago";
                                string material        = "thiago";
                                int    quatidadeColeta = 2;
                                string email           = "*****@*****.**";
                                os.Cod_MesReferencia = MesRef.Cod_MesReferencia;
                                osRepository.Inserir(os);
                                EnviarEmailOs(os.NomeCompleto_RazaoSocial_Cliente,
                                              os.Endereco_Cliente,
                                              os.Data_Geracao,
                                              os.Hora_Entrada,
                                              os.Hora_Saida,
                                              nomeMotorista,
                                              recebido,
                                              material,
                                              quatidadeColeta, os.Placa, email);

                                //var configuracao = configuracaoRepository.Consultar().FirstOrDefault(c => c.Flag_Ativo.Equals(true));

                                //if (configuracao is null)
                                //{
                                //    return StatusCode(403, $"Não existe confuguração padrão ativa para geração da OS.");
                                //}

                                //os.Empresa_Config = configuracao.Empresa;
                                //var enderecoCompleto = string.Format("{0} - {1} - {2}. ", configuracao.Endereco, configuracao.Bairro, configuracao.Cidade);
                                //os.Endereco_Completo_Config = enderecoCompleto;
                                //var telefones = ($"Telefone : {configuracao.Telefones}");
                                //os.Telefones_Config = telefones;
                                //var CNPJ = ($"CNPJ : {configuracao.CNPJ}");
                                //os.CNPJ_Config = CNPJ;
                                //os.Inscr_Municipal_Config = configuracao.Inscr_Municipal;
                                //os.Numero_Inea_Config = configuracao.Numero_Inea;
                                //os.Cod_Configuracao = configuracao.Cod_Configuracao;
                            }
                            else
                            {
                                return(StatusCode(403, $"Não existe contrato Ativo para o {cliente.Cod_Cliente}."));
                            }
                        }
                    }

                    else
                    {
                        return(StatusCode(403, $"Favor selecionar o cliente para geração das OSs. "));
                    }


                    return(Ok("OS cadastrada com sucesso"));
                }
                catch (Exception e)
                {
                    return(StatusCode(500, "Erro: " + e.Message));
                }
            }
            else
            {
                //Erro HTTP 400 (BAD REQUEST)
                return(BadRequest("Ocorreram erros de validação."));
            }
        }