コード例 #1
0
        public ActionResult Cadastrar(Embalagem embalagem)
        {
            App.Salvar(embalagem);

            return(RedirectToAction("ListarEmbalagens", new { nmEmbalagem = embalagem.NmEmbalagem }));
            //return View();
        }
コード例 #2
0
        public ActionResult Editar(int idEmbalagem)
        {
            Embalagem embalagem = new Embalagem();

            embalagem = App.ListarPorId(idEmbalagem);
            return(View(embalagem));
        }
コード例 #3
0
        public async Task <ActionResult <List <Embalagem> > > Put(int id, [FromBody] Embalagem model, [FromServices] Contexto context)
        {
            if (id != model.Id)
            {
                return(BadRequest(new { messagem = "requisição com conflito entre valores!" }));
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(new { mesage = ModelState }));
            }
            try
            {
                context.Entry <Embalagem>(model).State = EntityState.Modified;
                await context.SaveChangesAsync();

                return(Ok(model));
            }
            catch (DbUpdateConcurrencyException db)
            {
                return(BadRequest(new { message = "O Registo Já Está Atualizado " + db.Message }));
            }
            catch (Exception ex)
            {
                return(BadRequest(new { message = "Não Foi Possivel atualizar o Tamanho " + ex.Message }));
            }
        }
コード例 #4
0
        private void Inserir(Embalagem embalagem)
        {
            var strQuery = "pi_embalagem ";

            strQuery += string.Format("'{0}', '{1}'", embalagem.NmEmbalagem, embalagem.QtdUnidade);

            conexaoBD.ExecutaComandoText(strQuery);
        }
コード例 #5
0
        private void Alterar(Embalagem embalagem)
        {
            var strQuery = "pu_embalagem ";

            strQuery += string.Format("{0}, '{1}', '{2}'", embalagem.IdEmbalagem, embalagem.NmEmbalagem, embalagem.QtdUnidade);

            conexaoBD.ExecutaComandoText(strQuery);
        }
コード例 #6
0
        public Task <IEnumerable <Frete> > CalcularFrete(Embalagem embalagem, GeoCoordinate posicao, string token)
        {
            var httpClient = new HttpClient(new HttpLoggingHandler(_logger))
            {
                BaseAddress = new Uri("https://localhost:5007")
            };
            var freteApi = RestService.For <IFreteApi>(httpClient);

            return(freteApi.Calcular(posicao.Latitude, posicao.Longitude, embalagem, $"Bearer {token}"));
        }
コード例 #7
0
        public IEnumerable <Frete> CalcularFrete(Embalagem embalagem, GeoCoordinate posicao)
        {
            var opcoesFrete = new List <Frete>();

            opcoesFrete.Add(CalcularStandard(embalagem, posicao));
            opcoesFrete.Add(CalcularFast(embalagem, posicao));
            opcoesFrete.Add(CalcularUltra(embalagem, posicao));

            return(opcoesFrete);
        }
コード例 #8
0
 public void Salvar(Embalagem embalagem)
 {
     if (embalagem.IdEmbalagem > 0)
     {
         Alterar(embalagem);
     }
     else
     {
         Inserir(embalagem);
     }
 }
コード例 #9
0
        private Frete CalcularStandard(Embalagem embalagem, GeoCoordinate posicao)
        {
            var pesoCubico = (embalagem.Altura * embalagem.Comprimento * embalagem.Largura) / 6000;

            pesoCubico = pesoCubico > embalagem.Peso ? pesoCubico : embalagem.Peso;
            var distancia = posicao.GetDistanceTo(DadosGerais.CentroDistribuicao, DistanceType.Km);
            var valor     = (decimal)(distancia * pesoCubico) / 100;

            valor = valor < 9m ? 9 : valor;

            return(new Frete("Standard", "Entrega em até 15 dias uteis", valor));
        }
コード例 #10
0
        public async Task <ActionResult <List <Embalagem> > > Post([FromBody] Embalagem model, [FromServices] Contexto context)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                context.Embalagems.Add(model);
                await context.SaveChangesAsync();

                return(Ok(model));
            }
            catch (Exception ex)
            {
                return(BadRequest(new { messagem = "não Funcionou " + ex.Message }));
            }
        }
コード例 #11
0
        public Embalagem ListarPorId(int idEmbalagem)
        {
            Embalagem embalagem = new Embalagem();

            var strQuery = "ps_embalagemPorId ";

            strQuery += string.Format("{0}", idEmbalagem);
            SqlDataReader lista = conexaoBD.ExecutaComandoComRetorno(strQuery);

            while (lista.Read())
            {
                embalagem.IdEmbalagem = int.Parse(lista["id_embalagem"].ToString());
                embalagem.NmEmbalagem = lista["nm_embalagem"].ToString();
                embalagem.QtdUnidade  = int.Parse(lista["qtd_unidade"].ToString());

                break;
            }

            return(embalagem);
        }
コード例 #12
0
        public List <Embalagem> ListarTodos()
        {
            List <Embalagem> embalagens = new List <Embalagem>();

            var           strQuery = "ps_embalagem ";
            SqlDataReader lista    = conexaoBD.ExecutaComandoComRetorno(strQuery);

            while (lista.Read())
            {
                Embalagem embalagem = new Embalagem();

                embalagem.IdEmbalagem = int.Parse(lista["id_embalagem"].ToString());
                embalagem.NmEmbalagem = lista["nm_embalagem"].ToString();
                embalagem.DsEmbalagem = lista["ds_embalagem"].ToString();
                embalagem.QtdUnidade  = int.Parse(lista["qtd_unidade"].ToString());

                embalagens.Add(embalagem);
            }

            return(embalagens);
        }
コード例 #13
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,nome,tamanho,qtde")] Embalagem embalagem, IFormCollection collection)
        {
            if (id != embalagem.ID)
            {
                return(NotFound());
            }
            int idProduto    = Convert.ToInt16(collection["Produto"]);
            int idFornecedor = Convert.ToInt16(collection["Fornecedor"]);

            if (ModelState.IsValid)
            {
                try
                {
                    var prod = await _context.Produto.FindAsync(idProduto);

                    embalagem.produto = prod;
                    var forn = await _context.Fornecedor.FindAsync(idFornecedor);

                    embalagem.fornecedor = forn;

                    _context.Update(embalagem);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!EmbalagemExists(embalagem.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(embalagem));
        }
コード例 #14
0
        public async Task <IActionResult> Create([Bind("ID,nome,tamanho,qtde")] Embalagem embalagem, IFormCollection collection)
        {
            int idProduto    = Convert.ToInt16(collection["Produto"]);
            int idFornecedor = Convert.ToInt16(collection["Fornecedor"]);

            if (ModelState.IsValid)
            {
                var prod = await _context.Produto.FindAsync(idProduto);

                embalagem.produto = prod;

                var forn = await _context.Fornecedor.FindAsync(idFornecedor);

                embalagem.fornecedor = forn;


                _context.Add(embalagem);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(embalagem));
        }
コード例 #15
0
 public void Salvar(Embalagem embalagem)
 {
     embalagemADO.Salvar(embalagem);
 }
コード例 #16
0
        public async Task <ActionResult <List <Embalagem> > > GetById(int id, [FromBody] Embalagem model, [FromServices] Contexto context)
        {
            var itens = await context.Embalagems.AsNoTracking().FirstOrDefaultAsync(x => x.Id == id);

            return(Ok(itens));
        }
コード例 #17
0
        private Frete CalcularFast(Embalagem embalagem, GeoCoordinate posicao)
        {
            var standard = CalcularStandard(embalagem, posicao);

            return(new Frete("Fast", "Entrega em até 7 dias uteis", standard.Valor * 1.3m));
        }
コード例 #18
0
        private Frete CalcularUltra(Embalagem embalagem, GeoCoordinate posicao)
        {
            var standard = CalcularStandard(embalagem, posicao);

            return(new Frete("Ultra", "Entrega em até 2 dias uteis", standard.Valor * 2m));
        }
コード例 #19
0
ファイル: HomeController.cs プロジェクト: BrunoSSts/Crud.net
 public ActionResult AddEmbalagem(ProdutoViewModel produtoViewModel, Embalagem embalagem)
 {
     produtoViewModel.Produto.Embalagens.ToList().Add(embalagem);
     return(View("Edit", produtoViewModel));
 }