Exemplo n.º 1
0
        public void AlterarController(Motorista obj)
        {
            try
            {
                if (obj.Codigo == 0)
                {
                    throw new Exception("Necessário informar o código para alterar registro.");
                }
                if (obj.Nome == "")
                {
                    throw new Exception("O campo nome deve estar preenchido, para salvar motorista.");
                }
                if (obj.DataNasc.Value.ToShortDateString() != System.DateTime.Now.ToShortDateString())
                {
                    int idade;

                    idade = System.DateTime.Now.Year - obj.DataNasc.Value.Year;


                    if (idade < 18)
                    {
                        throw new Exception("só é possível cadastrar motorista maiores de 18 anos.");
                    }
                    else if (idade > 60)
                    {
                        throw new Exception("Não é possível cadastrar motorista com mais de 60 anos.");
                    }
                    else
                    {
                        DateTime.TryParse(obj.DataNasc.ToString(), out dataNasc);
                    }
                }
                else
                {
                    throw new Exception("Informe uma data de nascimento válida");
                }

                if (obj.CnhVencimento != System.DateTime.Now && obj.CnhVencimento.Value != null)
                {
                    DateTime.TryParse(obj.DataNasc.ToString(), out cnhVencimento);
                }
                else
                {
                    throw new Exception("Preencha a data de validade para CNH.");
                }
                if (obj.Telefone == "")
                {
                    throw new Exception("O campo Telefone deve estar preenchido.");
                }
                if (obj.Status == null)
                {
                    throw new Exception("Selecione o status.");
                }

                int.TryParse(obj.Endereco.Numero.ToString(), out numero);
                int.TryParse(obj.Endereco.CodCidade.ToString(), out codCidade);
                int.TryParse(obj.Endereco.CodEstado.ToString(), out codEstado);

                dao.AlterarMotoristaDAO(obj.Codigo, obj.Nome, dataNasc, (EnumCnhCategoriaMotorista)obj.CnhCat, obj.CnhNumero, cnhVencimento, obj.Telefone,
                                        obj.Email, (int)obj.Status, obj.Endereco.Cep, obj.Endereco.Logradouro, numero,
                                        obj.Endereco.Bairro, codCidade, codEstado);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }