public ActionResult Cadastrar(CarroModel model)
        {
            if (!_carroRepository.ValidarPlaca(model.Placa))
            {
                ModelState.AddModelError("Placa", new Exception("Placa já existente"));
            }

            if (!_carroRepository.ValidarRenavam(model.Renavam))
            {
                ModelState.AddModelError("Renavam", new Exception("Renavam já existente"));
            }

            if (!ModelState.IsValid)
            {
                return(Cadastrar());
            }

            //CONVERTE CARROMODEL PARA CARROMOD
            var mod = CarroModel_To_CarroMOD(model);

            //CADASTRA O CARROMOD NO BANCO DE DADOS
            _carroRepository.Cadastrar(mod);

            //REDIRECIONA PARA UMA URL
            //CRIA UMA REQUEST PARA A PAGINA DE RESPOSTA
            //F5 NA VERDADE REFAZ A ULTIMA REQUEST
            //É COMO SE TIVESSE CLICADO NO URL E APERTADO ENTER
            TempData["msg"] = "Carro cadastrado com sucesso";
            return(RedirectToAction("Listar"));
            //DEVE-SE SEMPRE FAZER UM REDIRECT APOS UM POST
        }
예제 #2
0
        public async Task <IActionResult> PutCarroModel([FromRoute] int id, [FromBody] CarroModel carroModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != carroModel.Id)
            {
                return(BadRequest());
            }

            _context.Entry(carroModel).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CarroModelExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
예제 #3
0
        public List <CarroModel> Listar2()
        {
            List <CarroModel> listaDeMarcas = new List <CarroModel> ();

            string[]   linhas = File.ReadAllLines("marcas.csv");
            CarroModel usuario;

            foreach (var item in linhas)
            {
                if (string.IsNullOrEmpty(item))
                {
                    //sair do foreach
                    continue;
                }
                string[] linha = item.Split(";");

                usuario = new CarroModel(

                    marca: linha[1]

                    );
                listaDeMarcas.Add(usuario);
            }
            return(listaDeMarcas);
        }
예제 #4
0
        public ActionResult SalvaGrupoCarro(CarroModel gpm)
        {
            var resultado = "OK";
            var mensagens = new List <string>();
            var idSalvo   = string.Empty;


            if (!ModelState.IsValid)
            {
                resultado = "Aviso";
                mensagens = ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage).ToList();
            }
            else
            {
                try
                {
                    var id = gpm.AdicionarCarro();

                    if (id > 0)
                    {
                        idSalvo = id.ToString();
                    }
                    else
                    {
                        resultado = "ERRO";
                    }
                }
                catch (Exception ex)
                {
                    resultado = "ERRO";
                }
            }
            return(Json(new { Resultado = resultado, Mensagens = mensagens, IdSalvo = idSalvo }));
        }
        private CarroMOD CarroModel_To_CarroMOD(CarroModel model)
        {
            model.Renavam = model.Documento.Renavam;

            var documentoMOD = new DocumentoMOD()
            {
                Renavam        = model.Documento.Renavam,
                Categoria      = model.Documento.Categoria,
                DataFabricacao = model.Documento.DataFabricacao
            };

            var mod = new CarroMOD()
            {
                Id          = model.Id,
                Marca       = model.Marca,
                MarcaId     = model.MarcaId,
                Modelo      = model.Modelo,
                ModeloId    = model.ModeloId,
                Placa       = model.Placa,
                Ano         = model.Ano,
                Esportivo   = model.Esportivo,
                Combustivel = model.Combustivel,
                Descricao   = model.Descricao,
                Renavam     = model.Renavam,
                Documento   = documentoMOD
            };

            return(mod);
        }
예제 #6
0
        public static List <AtividadeModel> ListarAtividades()
        {
            ListaDeAtividades.Clear();
            var listaDeAtividades = File.ReadAllLines(Atividades_Path);

            foreach (var item in listaDeAtividades)
            {
                var dados      = item.Split(";");
                var carroModel = new CarroModel(
                    marca: dados[2],
                    modelo: dados[3],
                    placa: dados[4]
                    );
                var condutorModel = new CondutorModel(
                    nomeCondutor: dados[1],
                    carro: carroModel
                    );
                var atividadeModel = new AtividadeModel(
                    id: int.Parse(dados[0]),
                    condutor: condutorModel,
                    carro: carroModel
                    );
                ListaDeAtividades.Add(atividadeModel);
            }
            return(ListaDeAtividades);
        }
예제 #7
0
        public List <CarroModel> Listar()
        {
            List <CarroModel> listaDeUsuarios = new List <CarroModel> ();

            string[]   linhas = File.ReadAllLines("registros.csv");
            CarroModel usuario;

            foreach (var item in linhas)
            {
                if (string.IsNullOrEmpty(item))
                {
                    //sair do foreach
                    continue;
                }
                string[] linha = item.Split(";");

                usuario = new CarroModel(
                    id: int.Parse(linha[0]),
                    nome: linha[1],
                    modelo: linha[2],
                    marca: linha[3],
                    placa: linha[4],
                    data: DateTime.Parse(linha[5])
                    );
                listaDeUsuarios.Add(usuario);
            }
            return(listaDeUsuarios);
        }
예제 #8
0
        public ActionResult Editar(CarroModel carro)
        {
            //transformar o model para mod
            var mod = new CarroMOD()
            {
                Combustivel = carro.Combustivel,
                Ano         = carro.Ano,
                Placa       = carro.Placa,
                Descricao   = carro.Descricao,
                MarcaId     = carro.MarcaId,
                Renavam     = carro.Renavam,
                Esportivo   = carro.Esportivo,
                Documento   = new DocumentoMOD()
                {
                    Categoria      = carro.Documento.Categoria,
                    Renavam        = carro.Documento.Renavam,
                    DataFabricacao = carro.Documento.DataFabricacao
                }
            };

            //chamar o metodo de repository para editar
            _carroRepository.Editar(mod);


            TempData["msg"] = "Marca editada com sucesso";
            return(RedirectToAction("Listar"));
            //using (IDbConnection db = ConnectionFactory.GetConnection())
            //{
            //    using (var txtScope = new TransactionScope())
            //    {
            //        var sqlDoc = @"UPDATE Documento
            //                        SET
            //                      Renavam = @Renavam,
            //                      DataFabricacao = @DataFabricacao,
            //                      Categoria = @Categoria
            //                        WHERE
            //                      Renavam = @Renavam";

            //        db.Execute(sqlDoc, carro.Documento);

            //        string sql = @"UPDATE Carro
            //                        SET
            //                    MarcaId = @MarcaId,
            //                    Ano = @Ano,
            //                    Esportivo = @Esportivo,
            //                    Placa = @Placa,
            //                    Combustivel = @Combustivel,
            //                    Descricao = @Descricao
            //                        WHERE
            //                    Id = @Id";

            //        db.Execute(sql, carro);
            //        TempData["msg"] = "Carro editado com sucesso";

            //        txtScope.Complete();
            //        return RedirectToAction("Listar");

            //    }
            //}
        }
예제 #9
0
        public async Task <IHttpActionResult> PutCarroModel(int id, CarroModel carroModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != carroModel.Id)
            {
                return(BadRequest());
            }

            db.Entry(carroModel).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CarroModelExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public ActionResult Edit(CarroModel carro)
        {
            _carros.Remove(_carros.Single(m => m.Id == carro.Id));

            _carros.Add(carro);

            return(RedirectToAction("Index"));
        }
        public ActionResult Editar(int id)
        {
            var carroMOD   = _carroRepository.Buscar(id);
            var carroModel = new CarroModel(carroMOD);

            CarregarMarcas();
            //MANDAR O CARRO PARA A VIEW
            return(View(carroModel));
        }
예제 #12
0
 public static void ImprimeInformacoes(CarroModel carro)
 {
     Console.WriteLine(
         string.Format("Id {0,3} Carro {1,-35} Valor {2,-10} Quantidade {3,3} Data {4,12}"
                       , carro.Id
                       , carro.Nome
                       , carro.Valor.ToString("C")
                       , carro.Quantidade
                       , carro.Ano.ToShortDateString()));
 }
예제 #13
0
        #pragma warning disable 1998
        public async override global::System.Threading.Tasks.Task ExecuteAsync()
        {
#line 1 "C:\Users\47425337800\Documents\cshtml\estacionamento\Views\Home\cadastrovaga1.cshtml"

            ViewBag.Title = "cadastrar Usuário";
            CarroModel usuario = ViewBag.usuario;

#line default
#line hidden
        }
예제 #14
0
        public async Task <IHttpActionResult> GetCarroModel(int id)
        {
            CarroModel carroModel = await db.Carros.FindAsync(id);

            if (carroModel == null)
            {
                return(NotFound());
            }

            return(Ok(carroModel));
        }
예제 #15
0
        public async Task <IHttpActionResult> PostCarroModel(CarroModel carroModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Carros.Add(carroModel);
            await db.SaveChangesAsync();

            return(Ok(carroModel));
        }
예제 #16
0
        public ActionResult Editar(int id)
        {
            //Pesquisa no banco de dados pelo ID
            var mod = _carroRepository.Buscar(id);
            //Transforma o MOD em MOdel
            var model = new CarroModel(mod);

            //Carregar as marcas para o select
            CarregarMarcas();
            //Retorna para a página com o model
            return(View(model));
        }
예제 #17
0
        public ActionResult Cadastrar(CarroModel carro)
        {
            var mod = new CarroMOD()
            {
                Combustivel = carro.Combustivel,
                Ano         = carro.Ano,
                Placa       = carro.Placa,
                Descricao   = carro.Descricao,
                MarcaId     = carro.MarcaId,
                Renavam     = carro.Renavam,
                Esportivo   = carro.Esportivo,
                Documento   = new DocumentoMOD()
                {
                    Categoria      = carro.Documento.Categoria,
                    Renavam        = carro.Documento.Renavam,
                    DataFabricacao = carro.Documento.DataFabricacao
                }
            };

            _carroRepository.Cadastrar(mod);
            TempData["msg"] = "Cadastrado com Sucesso";
            return(RedirectToAction("Listar"));
            //using (IDbConnection db = ConnectionFactory.GetConnection())
            //{
            //    using (var txScope = new TransactionScope())
            //    {
            //        //Cadastra o Documento
            //        var sqlDoc = @"INSERT INTO Documento (Renavam, Categoria, DataFabricacao)
            //        VALUES(@Renavam, @Categoria, @DataFabricacao);";

            //        db.Execute(sqlDoc, carro.Documento);

            //        //Cadastra o Carro
            //        var sqlCar = @"INSERT INTO Carro (MarcaId, Ano, Esportivo, Placa, Combustivel, Descricao, Renavam)
            //           VALUES (@MarcaId, @Ano, @Esportivo, @Placa, @Combustivel, @Descricao, @Renavam);
            //           SELECT CAST(SCOPE_IDENTITY() as int);";

            //        carro.Renavam = carro.Documento.Renavam;
            //        int codigo = db.Query<int>(sqlCar, carro).Single();

            //        TempData["msg"] = "Cadastrado com Sucesso! ID: " + codigo;

            //        txScope.Complete();
            //    }


            //}
            //_carros.Add(carro); //add o carro na lista
            //redirecionando para uma url, cria uma segunda request
            //para abrir a página de resposta
            //f5 n cadastra novamente
        }
예제 #18
0
 public ActionResult Editar(CarroModel model)
 {
     using (IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings["DBCarros"].ConnectionString))
     {
         var sql = @"UPDATE Carro SET Marca = @Marca, 
             Ano = @Ano, Esportivo = @Esportivo, Placa = @Placa, 
             Combustivel = @Combustivel, Descricao = @Descricao 
             WHERE Id = @Id";
         db.Execute(sql, model);
         TempData["msg"] = "Atualizado com sucesso!";
         return(RedirectToAction("Listar"));
     }
 }
예제 #19
0
        public ActionResult Editar(CarroModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Editar(model.Id));
            }
            //transforma o model em mod
            CarroMOD mod = ConverterModelParaMOD(model);

            //chama o repository para editar
            _carroRepository.Editar(mod);
            TempData["msg"] = "Atualizado com sucesso!";
            return(RedirectToAction("Listar"));
        }
예제 #20
0
        public async Task <IHttpActionResult> DeleteCarroModel(int id)
        {
            CarroModel carroModel = await db.Carros.FindAsync(id);

            if (carroModel == null)
            {
                return(NotFound());
            }

            db.Carros.Remove(carroModel);
            await db.SaveChangesAsync();

            return(Ok(carroModel));
        }
예제 #21
0
        public IActionResult Cadastrar(IFormCollection Form)
        {
            CarroModel usuario = new CarroModel(
                nome: Form["nome"],
                modelo: Form["modelo"],
                marca: Form["marca"],
                placa: Form["placa"],
                data: DateTime.Parse(Form["data"])
                );
            UsuarioRepositorio usuarioRepositorio = new UsuarioRepositorio();

            usuarioRepositorio.CadastrarUsuario(usuario);

            return(RedirectToAction("Index", "Usuario"));
        }
예제 #22
0
        // GET: Carro

        public ActionResult EstaparCarro()
        {
            ViewBag.ListaTamPag       = new SelectList(new int[] { _quantMaxLinhasPorPagina, 10, 15, 20 }, _quantMaxLinhasPorPagina);
            ViewBag.QtdLinhaPorPagina = _quantMaxLinhasPorPagina;
            ViewBag.PaginaAtual       = 1;

            var lista = CarroModel.RecuperarLista(ViewBag.PaginaAtual, _quantMaxLinhasPorPagina);
            var quant = CarroModel.RecuperarQuantidade();

            var difQtdPaginas = (quant % ViewBag.QtdLinhaPorPagina) > 0 ? 1 : 0;

            ViewBag.QtdPaginas = (quant / ViewBag.QtdLinhaPorPagina) + difQtdPaginas;

            return(View(lista));
        }
예제 #23
0
        //COMEÇA MARCA

        public CarroModel CadastrarMarcas(CarroModel usuario)
        {
            if (File.Exists("marcas.csv"))
            {
                usuario.Id = File.ReadAllLines("marcas.csv").Length + 1;
            }
            else
            {
                usuario.Id = 1;
            }

            StreamWriter sw = new StreamWriter("marcas.csv", true);

            sw.WriteLine($"{usuario.Id};{usuario.MarcaCarro};");
            sw.Close();

            return(usuario);
        }
예제 #24
0
        public CarroModel CadastrarUsuario(CarroModel usuario)
        {
            if (File.Exists("registros.csv"))
            {
                usuario.Id = File.ReadAllLines("registros.csv").Length + 1;
            }
            else
            {
                usuario.Id = 1;
            }

            StreamWriter sw = new StreamWriter("registros.csv", true);

            sw.WriteLine($"{usuario.Id}; {usuario.NomeCondutor}; {usuario.ModeloCarro};{usuario.MarcaCarro};{usuario.Placa};{usuario.Data}; ");
            sw.Close();

            return(usuario);
        }
예제 #25
0
        public ActionResult Cadastrar(CarroModel carro)
        {
            if (!_carroRepository.ValidarPlaca(carro.Placa))
            {
                ModelState.AddModelError("Placa", new Exception("Placa já existente"));
            }
            if (!ModelState.IsValid)
            {
                return(Cadastrar());
            }
            var mod = ConverterModelParaMOD(carro);

            _carroRepository.Cadastrar(mod);
            TempData["mensagem"] = "Carro registrado!";
            //Redireciona para uma URL, cria uma segunda request
            //para abrir a página de resposta
            //F5 não cadastra novamente
            return(RedirectToAction("Cadastrar"));
        }
예제 #26
0
 private static CarroMOD ConverterModelParaMOD(CarroModel model)
 {
     return(new CarroMOD()
     {
         Id = model.Id,
         Ano = model.Ano,
         Combustivel = model.Combustivel,
         Descricao = model.Descricao,
         Esportivo = model.Esportivo,
         MarcaId = model.MarcaId,
         Placa = model.Placa,
         Renavam = model.Renavam,
         Documento = new DocumentoMOD()
         {
             Categoria = model.Documento.Categoria,
             Renavam = model.Documento.Renavam,
             DataFabricacao = model.Documento.DataFabricacao
         }
     });
 }
예제 #27
0
        public IActionResult RegistrarAtividade(IFormCollection form)
        {
            var carroModel = new CarroModel(
                placa: form["placaCarro"],
                marca: form["marcaCarro"],
                modelo: form["modeloCarro"]
                );
            var condutorModel = new CondutorModel(
                carro: carroModel,
                nomeCondutor: form["nomeCondutor"]
                );
            var atividade = new AtividadeModel(
                condutor: condutorModel,
                carro: carroModel
                );

            AtividadeRepository.InserirAtividade(atividade);
            ViewData["ViewName"] = "Nova Entrada";
            return(RedirectToAction("NovaEntrada"));
        }
예제 #28
0
        public ActionResult Cadastrar(CarroModel carro)
        {
            using (IDbConnection db = new SqlConnection(
                       ConfigurationManager.ConnectionStrings["DBCarros"].ConnectionString))
            {
                var sql = @"INSERT INTO Carro (Marca, Ano, 
                    Esportivo, Placa, Combustivel, Descricao) 
                    VALUES (@Marca, @Ano, @Esportivo, @Placa, @Combustivel,
                    @Descricao); SELECT CAST(SCOPE_IDENTITY() as int);";

                int codigo = db.Query <int>(sql, carro).Single();
            }

            // _carros.Add(carro); //adiciona o carro na lista
            TempData["mensagem"] = "Carro registrado!";
            //Redireciona para uma URL, cria uma segunda request
            //para abrir a página de resposta
            //F5 não cadastra novamente
            return(RedirectToAction("Cadastrar"));
        }
        public ActionResult Editar(CarroModel model)
        {
            if (!_carroRepository.ValidarPlaca(model.Placa))
            {
                ModelState.AddModelError("Placa", new Exception("Placa já existente"));
            }

            if (!_carroRepository.ValidarRenavam(model.Renavam))
            {
                ModelState.AddModelError("Renavam", new Exception("Renavam já existente"));
            }

            if (!ModelState.IsValid)
            {
                return(Editar(model.Id));
            }

            var mod = CarroModel_To_CarroMOD(model);

            _carroRepository.Editar(mod);
            TempData["msg"] = "Carro atualizado com sucesso";
            return(RedirectToAction("Listar"));
        }
예제 #30
0
        public ActionResult Editar(int id)
        {
            //buscar a marca mod no bando de dados pelo id
            var mod = _carroRepository.Buscar(id);

            CarregarMarcas();
            //tranasformar o mod em model
            var model = new CarroModel(mod);

            //retornar a view
            return(View(model));

            //using (IDbConnection db = ConnectionFactory.GetConnection())
            //{
            //    var sql = @"SELECT * FROM Carro AS C INNER JOIN Documento AS D ON C.Renavam = D.Renavam
            //                WHERE C.Id = @Id";

            //    var carro = db.Query<CarroModel, DocumentoModel, CarroModel>(sql, (c, doc) => { c.Documento = doc; return c; },
            //         new { Id = id },
            //         splitOn: "Renavam, Renavam").FirstOrDefault();
            //    CarregarMarcas();
            //    return View(carro);
            //}
        }