Exemplo n.º 1
0
        //JsonResult -> Receber chamadas Ajax (JavaScript)
        public JsonResult CadastrarMotorista(MotoristaCadastroViewModel model)
        {
            // verificar se os dados model passaram nas validacoes..
            if (ModelState.IsValid)
            {
                try
                {
                    // entidade..
                    Motorista m = new Motorista();
                    m.Nome     = model.Nome;
                    m.Cpf      = model.Cpf;
                    m.Telefone = model.Telefone;

                    //gravar no banco..
                    MotoristaRepository rep = new MotoristaRepository();
                    rep.Insert(m);

                    return(Json($"Motorista {m.Nome}, cadastrado com sucesso."));
                }
                catch (Exception e)
                {
                    //retornar mensagem de erro..
                    return(Json(e.Message));
                }
            }
            else
            {
                //criar uma rotina para retornar as mensagens de erro de
                //validacao para cada campo da classe viewmodel..
                Hashtable erros = new Hashtable();

                //varrer o objeto ModelState..
                foreach (var state in ModelState)
                {
                    //verificar se o elemento contem erro..
                    if (state.Value.Errors.Count > 0)
                    {
                        //adicionar o erro dentro do Hashtable..
                        erros[state.Key] = state.Value.Errors.Select(e => e.ErrorMessage).First();
                    }
                }


                // retornar erros de Validação.. Status 400
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(Json(erros));
            }
        }
Exemplo n.º 2
0
        public void Importar(string path)
        {
            try
            {
                string       cabecalho = "Nome,Telefones,E-mail,cpf-cpnf,cep";
                StreamReader reader    = new StreamReader(File.OpenRead(path));

                ConcurrentBag <Motorista> motoristas = new ConcurrentBag <Motorista>();


                Stopwatch timerParallelForeach = new Stopwatch();
                timerParallelForeach.Start();

                Parallel.ForEach(LerLinha(reader), linhaAtual =>
                {
                    var valores = linhaAtual.Split(',');

                    if (linhaAtual != cabecalho)
                    {
                        motoristas.Add(new Motorista
                        {
                            Nome     = valores[0],
                            Telefone = valores[1],
                            Email    = valores[2],
                            CPFCNPJ  = valores[3],
                            CEP      = valores[4]
                        });
                    }
                });

                MotoristaRepository motoristaRepository = new MotoristaRepository();

                motoristaRepository.Insert(motoristas.ToList());

                timerParallelForeach.Stop();
                MessageBox.Show(string.Concat("Importado ", motoristas.Count(), " em: ", timerParallelForeach.Elapsed), "Importação realizada com sucesso");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ocorreu um erro ao realizar a importação dos registros: " + ex.ToString());
                return;
            }
        }