public IHttpActionResult PutFrete(int id, Frete frete)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != frete.IdFrete)
            {
                return(BadRequest());
            }

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

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!FreteExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#2
0
        public JsonResult Save(string param)
        {
            // The long way...
            var distance = Distance.GetDistance("12237828", "12230490");

            if (distance != 0)
            {
                Console.WriteLine(distance + " miles");
            }


            var _service = new FreteBussiness();

            Session["UpdateLogged"] = true;
            var result = new ResultJson();

            try
            {
                var   dto   = JsonConvert.DeserializeObject <Frete>(param);
                Frete frete = new Frete();
                frete = _service.Add(dto);

                result.status  = 200;
                result.message = "Ok";
                result.element = frete;
            }
            catch (Exception ex)
            {
                result.status  = 500;
                result.message = ex.Message;
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
示例#3
0
        public void Cadastrar(Frete item)
        {
            List <Frete> Lista;

            if (this._cookie.Existe(Key))
            {
                //Ler - Adicionar o item no carrinho Existente
                Lista = Consultar();
                var ItemLocalizado = Lista.SingleOrDefault(X => X.CEP == item.CEP);

                if (ItemLocalizado == null)
                {
                    Lista.Add(item);
                    //Salvar lista
                }
                else
                {
                    ItemLocalizado.CodCarrinho  = item.CodCarrinho;
                    ItemLocalizado.ListaValores = item.ListaValores;
                    //Adicionar mais um na qtd do item
                }
            }
            else
            {
                Lista = new List <Frete>();
                Lista.Add(item);
                //Criar o cookie com o item no Carrinho
            }
            //Salvar
            Salvar(Lista);
        }
示例#4
0
        private Frete PreencherCamposOrigatoriosFrete()
        {
            Frete frete = new Frete();

            frete.idFrete           = 0;
            frete.idFornecedor      = 99;
            frete.nomeFornecedor    = "aaa";
            frete.Trajeto           = "bbb";
            frete.previsaoPagamento = DateTime.Today;
            frete.valorTotal        = 10;
            frete.UnitTest          = 1;
            frete.lstPagamentos     = new List <FretePagamento>();
            frete.lstPagamentos.Add(new FretePagamento()
            {
                idFrete  = 7,
                idOP     = 10,
                UnitTest = 1
            });
            frete.lstObras = new List <FreteObra>();
            frete.lstObras.Add(new FreteObra()
            {
                idObraEtapa = 14,
                idObraEtapaGastoRealizado = 9,
                Data                 = DateTime.Today,
                idUEN                = 9,
                descricaoUEN         = "cccc",
                idCentroCusto        = 8,
                descricaoCentroCusto = "dddd",
                idDespesa            = 15,
                Valor                = 10,
            });

            return(frete);
        }
示例#5
0
        public Retorno EmitirNfe(Pedido pedido, Frete frete, List <Produto> produtos, bool ambienteProducao)
        {
            if (pedido == null)
            {
                pedido = new Pedido();
            }
            try
            {
                var retorno = new BusinessPedido().Consultar(new Pedido {
                    Codigo = pedido.Codigo
                }, (int)EnumTipoFase.FINALIZADO);

                if (retorno.IsValido)
                {
                    pedido = retorno.Entity as Pedido;

                    if (!pedido.DataPagamento.HasValue)
                    {
                        pedido.DataPagamento = DateTime.Now.AddDays(pedido.TipoFormaPagamento.Dias ?? 0);
                    }

                    return(new Retorno(new Tuple <EmitirNfe, Pedido>(ConverterPedidoParaEmitirNfe(pedido, frete, produtos, ambienteProducao), pedido)));
                }
                return(retorno);
            }
            catch (Exception ex)
            {
                return(Retorno.CriarRetornoExcecao(ex));
            }
        }
示例#6
0
        public ActionResult ui006cadastrarfrete(Frete frete)
        {
            var idusuario = Request.Cookies["userId"].Value;
            var permissao = Request.Cookies["permissao"].Value;

            if (string.IsNullOrEmpty(idusuario))
            {
                Response.Redirect("http://www.projetodigimon.com.br/ui002login.jsp");
            }

            if (!String.IsNullOrEmpty(permissao))
            {
                if ((permissao != "3") && (permissao != "5") && (permissao != "6"))
                {
                    Response.Redirect("http://www.projetodigimon.com.br/pagina-de-redirecionamento.jsp");
                }
            }


            if (ModelState.IsValid)
            {
                var appFrete = new FreteAplicacao();
                appFrete.Inserir(frete);
                return(RedirectToAction("Index"));
            }
            return(View(frete));
        }
示例#7
0
        public void ExcluirFrete(Frete frete)
        {
            DataAccess dao = new DataAccess();
            Dictionary <string, string> lstParametros = new Dictionary <string, string>();

            try
            {
                lstParametros.Add("@idFrete", frete.idFrete.ToString());
                dao.Executar("SP_FRETES_EXCLUIR", lstParametros);
            }
            catch (Exception ex)
            {
                string parametrosSQL = string.Empty;
                parametrosSQL = helper.ConcatenarParametrosSQL(lstParametros);

                LogErro log = new LogErro()
                {
                    procedureSQL  = "SP_FRETES_EXCLUIR",
                    parametrosSQL = parametrosSQL,
                    mensagemErro  = ex.ToString()
                };

                bizLogErro.IncluirLogErro(log);

                throw ex;
            }
        }
示例#8
0
        private string ValidarCamposObrigatorios(Frete frete)
        {
            string Msg = string.Empty;

            if (frete.idFornecedor == 0)
            {
                Msg += Environment.NewLine + "Favor selecionar o Fornecedor";
            }

            if (string.IsNullOrEmpty(frete.Trajeto))
            {
                Msg += Environment.NewLine + "Favor informar o Trajeto";
            }

            if (frete.valorTotal == decimal.Zero)
            {
                Msg += Environment.NewLine + "Favor informar o Valor Total";
            }

            if (frete.lstObras != null && frete.lstObras.Count > 0 && frete.valorTotal != frete.lstObras.Sum(x => x.Valor))
            {
                Msg += Environment.NewLine + "O Valor Total do Frete deve ser igual a soma dos valores rateados";
            }

            return(Msg);
        }
示例#9
0
 public Retorno VerificarExistencia(Frete Entity)
 {
     try
     {
         CommandSQL = new StringBuilder();
         CommandSQL.AppendLine("SELECT 1 FROM TB_FRETE ");
         CommandSQL.AppendLine("WHERE TB_FRETE.TRANSPORTADORA = @TRANSPORTADORA ");
         CommandSQL.AppendLine("AND TB_FRETE.CODIGO <> @CODIGO ");
         Command = CriaComandoSQL(CommandSQL.ToString());
         Abrir();
         Command.Parameters.AddWithValue("@TRANSPORTADORA", Entity.Transportadora);
         Command.Parameters.AddWithValue("@CODIGO", Entity.Codigo);
         Reader = Command.ExecuteReader();
         while (Reader.Read())
         {
             return(new Retorno(false, String.Format(Mensagens.MSG_04, "Frete", "Transportadora")));
         }
         return(new Retorno(true));
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally { Fechar(); }
 }
示例#10
0
        public async Task <Frete> CalcularFrete(string cepDestino, List <Pacote> lista, string servico)
        {
            var cepOrigem        = _configuration.GetValue <string>("Frete:CepOrigem");
            var maoPropria       = _configuration.GetValue <string>("Frete:MaoPropria");
            var avisoRecebimento = _configuration.GetValue <string>("Frete:AvisoRecebimento");

            var prazo = await _servico.CalcPrazoAsync(servico, cepOrigem, cepDestino);

            var frete = new Frete();

            if (prazo.Servicos[0].Erro == "")
            {
                frete.DiasEntrega = Convert.ToByte(prazo.Servicos[0].PrazoEntrega);
            }

            foreach (var pacote in lista)
            {
                var dimensao = pacote.Altura + pacote.Comprimento + pacote.Largura;

                var valor = await _servico.CalcPrecoAsync("", "", servico, cepOrigem, cepDestino, pacote.Peso.ToString(),
                                                          1, pacote.Comprimento, pacote.Altura, pacote.Largura, dimensao, maoPropria, 0, avisoRecebimento);

                if (valor.Servicos[0].Erro == "")
                {
                    frete.Valor += float.Parse(valor.Servicos[0].Valor);
                }
            }

            return(frete);
        }
示例#11
0
 public Retorno Incluir(Frete Entity)
 {
     try
     {
         CommandSQL = new StringBuilder();
         CommandSQL.AppendLine("INSERT INTO TB_FRETE( ");
         CommandSQL.AppendLine("TRANSPORTADORA, ");
         CommandSQL.AppendLine("VOLUME, ");
         CommandSQL.AppendLine("CODIGO_TIPO_FRETE) ");
         CommandSQL.AppendLine("VALUES (");
         CommandSQL.AppendLine("@TRANSPORTADORA, ");
         CommandSQL.AppendLine("@VOLUME, ");
         CommandSQL.AppendLine("@CODIGO_TIPO_FRETE) ");
         Command = CriaComandoSQL(CommandSQL.ToString());
         Command.Parameters.AddWithValue("@TRANSPORTADORA", Entity.Transportadora);
         Command.Parameters.AddWithValue("@VOLUME", Entity.Volume);
         Command.Parameters.AddWithValue("@CODIGO_TIPO_FRETE", Entity.TipoFrete.Codigo);
         Abrir();
         Command.ExecuteNonQuery();
         return(new Retorno(true, String.Format(Mensagens.MSG_02, "Salvo")));
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally { Fechar(); }
 }
示例#12
0
        public void Inserir(Frete frete)
        {   //Inserir Contato
            var strQuery = "";

            strQuery += string.Format("DECLARE @IdMotorista int SET @IdMotorista = (SELECT IDMOTORISTA FROM MOTORISTA WHERE CNH = '{0}') ", frete.Cnh);
            strQuery += string.Format("DECLARE @IdTransportador int SET @IdTransportador = (SELECT IDTRANSPORTADOR FROM TRANSPORTADOR WHERE RNTRC = '{0}') ",
                                      frete.Rtnrc);
            strQuery += string.Format("DECLARE @IdVeiculo int SET @IdVeiculo = (SELECT IDVEICULO FROM VEICULO WHERE PLACA = '{0}') ",
                                      frete.Placa);
            strQuery += "INSERT INTO FRETE (IDMOTORISTA, IDTRANSPORTADOR, IDVEICULO,  TIPO, DATASAIDA, DATAENTREGA) ";
            strQuery += string.Format("VALUES (@IdMotorista, @IdTransportador, @IdVeiculo, '{0}', '{1}', '{2}') ",
                                      frete.Tipo, frete.DataSaida, frete.DataEntrega);
            strQuery += "DECLARE @IdFrete int SET @IdFrete = (SELECT IDENT_CURRENT('FRETE')) ";
            strQuery += "INSERT INTO ENDERECO (LOGRADOURO, NUMERO, COMPLEMENTO, CEP, BAIRRO, CIDADE, UF) ";
            strQuery += string.Format("VALUES('{0}','{1}','{2}', '{3}', '{4}', '{5}', '{6}') ", frete.RLogradouro,
                                      frete.RNumero, frete.RComplemento, frete.RCep, frete.RBairro, frete.RCidade, frete.RUf);
            strQuery += "DECLARE @Origem int SET @Origem = (SELECT IDENT_CURRENT('ENDERECO')) ";
            strQuery += "INSERT INTO ENDERECO (LOGRADOURO, NUMERO, COMPLEMENTO, CEP, BAIRRO, CIDADE, UF) ";
            strQuery += string.Format("VALUES ('{0}','{1}','{2}', '{3}', '{4}', '{5}', '{6}') ", frete.DLogradouro,
                                      frete.DNumero, frete.DComplemento, frete.DCep, frete.DBairro, frete.DCidade, frete.DUf);
            strQuery += "DECLARE @Destino int SET @Destino = (SELECT IDENT_CURRENT('ENDERECO')) ";
            strQuery += "INSERT INTO CARGA (TIPO, REMETENTE, DESTINATARIO, ORIGEM, DESTINO, IDFRETE) ";
            strQuery += string.Format("VALUES ('{0}', '{1}', '{2}', @Origem, @Destino, @IdFrete) ", frete.TipoCarga, frete.Remetente, frete.Destinatario);

            using (contexto = new Contexto())
            {
                contexto.ExecutaGravacao(strQuery);
            }
        }
示例#13
0
        public ActionResult Create([Bind(Include = "ID,Descricao,Quantidade,EnderecoDeEntrega,ValorTotal,Situacao,Pagamento,ProdutoID,DataVenda,TransportadoraID")] Venda venda)
        {
            if (ModelState.IsValid)
            {
                Produto produto = db.Produtoes.Find(venda.ProdutoID);
                venda.ValorTotal        = produto.PrecoBase * venda.Quantidade;
                produto.EstoqueInicial  = produto.EstoqueInicial - venda.Quantidade;
                db.Entry(produto).State = EntityState.Modified;
                var frete = new Frete
                {
                    Descricao        = "FreteProduto",
                    EnderecoEntrega  = venda.EnderecoDeEntrega,
                    Status           = enzo_estoqueV1.Models.StatusFrete.PendenteProcessamento,
                    VendaID          = venda.ID,
                    TransportadoraID = venda.TransportadoraID
                };
                db.Fretes.Add(frete);
                db.Vendas.Add(venda);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.ProdutoID        = new SelectList(db.Produtoes, "ID", "Descricao", venda.ProdutoID);
            ViewBag.TransportadoraID = new SelectList(db.Transportadoras, "ID", "Descricao", venda.TransportadoraID);
            return(View(venda));
        }
示例#14
0
        private void gravarButtonOo_Click(object sender, EventArgs e)
        {
            if (!Formulario.ValidarCamposObrigatorios(this, fretesErrorProvider) ||
                !Formulario.ValidarTipoDosDados(this, fretesErrorProvider))
            {
                return;
            }

            var frete = new Frete();

            //frete.Cliente = clienteComboBox.SelectedItem as Cliente;
            frete.Valor = Convert.ToDecimal(valorTextBox.Text);
            frete.Uf    = ufComboBox.Text;

            frete.Calcular(ufComboBox.Text, Convert.ToDecimal(valorTextBox.Text));
            freteLabel.Text = frete.Percentual.ToString("P2");
            totalLabel.Text = frete.Total.ToString("c");

            //var repositorio = new FreteRepositorio();
            //repositorio.Inserir(frete);
            new FreteRepositorio().Inserir(frete);
            MessageBox.Show("Frete gravado com sucesso!");

            Formulario.Limpar(this);
            freteLabel.Text = "0,0%";
            totalLabel.Text = "0,00";
            //clienteComboBox.Focus();
        }
示例#15
0
        public async Task <JsonResult> Calcular([FromBody] ConsultaFreteVM viewModel)
        {
            Frete frete = await correiosService.CalcularFrete(viewModel.Cep, carrinhoSession.Itens);

            carrinhoSession.AdicionarFrete(frete);
            return(Json(new { frete, subtotal = carrinhoSession.Subtotal }));
        }
示例#16
0
        public PedidoPayAcrescimo()
        {
            InitializeComponent();
            Eventos();

            Frete.Focus();
        }
示例#17
0
    public static void Main(string[] args)
    {
        Console.WriteLine("\nCalculando Frete ...");
        Console.WriteLine("Informe a Distancia (Km)");
        double d = double.Parse(Console.ReadLine());

        Console.WriteLine("Informe o Peso (Kg)");
        double p = double.Parse(Console.ReadLine());

        Frete f = new Frete(d, p);

        Console.WriteLine("---------------------------\n");
        Console.WriteLine($"Distancia: {f.GetDistancia():0.00}");
        Console.WriteLine($"Peso: {f.GetPeso():0.00}");
        Console.WriteLine($"Valor do Frete: R$ {f.CalcFrete():0.00}");

        Console.WriteLine("---------------------------\n");
        f.SetDistancia(d * 10);
        f.SetPeso(p * 3);
        Console.WriteLine($"Valores modificados para:\n{f}");

        Console.WriteLine($"Valor do Frete: {f.CalcFrete():0.00}");

        Console.WriteLine("---------------------------\n");

        return;
    }
        /*
         * CRUD - Cadastrar, Read, Update, Delete
         * Adicionar Item, Remover Item, Alterar Quantidade
         */
        public void Cadastrar(Frete item)
        {
            List <Frete> Lista;

            if (_cookie.Existe(Key))
            {
                Lista = Consultar();
                var ItemLocalizado = Lista.SingleOrDefault(a => a.CEP == item.CEP);

                if (ItemLocalizado == null)
                {
                    Lista.Add(item);
                }
                else
                {
                    ItemLocalizado.CodCarrinho  = item.CodCarrinho;
                    ItemLocalizado.ListaValores = item.ListaValores;
                }
            }
            else
            {
                Lista = new List <Frete>();
                Lista.Add(item);
            }

            Salvar(Lista);
        }
示例#19
0
        public async Task <ActionResult <Frete> > SimulaFreteAsync()
        {
            Produto produto = new Produto
            {
                nCdEmpresa          = String.Empty,
                nCdFormato          = 1,
                nCdServico          = "1",
                Descricao           = "teste",
                nVlAltura           = new decimal(1.60),
                nVlComprimento      = new decimal(2.00),
                nVlDiametro         = new decimal(3.00),
                nVlPeso             = "20",
                nVlLargura          = new decimal(0.50),
                nVlValorDeclarado   = new decimal(2.000),
                sCdAvisoRecebimento = "N",
                sCdMaoPropria       = "N",
                sCepDestino         = "20261050",
                sCepOrigem          = "04180112",
                sDsSenha            = String.Empty
            };

            IFreteService service = new FreteService();

            Frete frete = await service.GetFreteAsyncc(produto);



            return(frete);
        }
示例#20
0
        public ActionResult DeleteConfirmed(int id)
        {
            Frete frete = db.Fretes.Find(id);

            db.Fretes.Remove(frete);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#21
0
    public static void Main(string[] args)
    {
        Frete x = new Frete(10, 20);

        //x.SetPeso(10);
        //x.SetDistancia(20);
        Console.WriteLine(x.ToString());
    }
示例#22
0
    public static void Main(string[] args)
    {
        Frete x = new Frete {
            Distancia = 10, Peso = 5
        };

        Console.WriteLine(x.ToString());
    }
示例#23
0
        private decimal CarcularSaldoFrete(Frete frete)
        {
            decimal saldo = decimal.Zero;

            saldo = frete.valorTotal - frete.lstPagamentos.Where(x => x.statusOP == "PAGA").Sum(y => y.valorOP);

            return(saldo);
        }
示例#24
0
    public static void Main(string[] args)
    {
        Frete         a = new Frete(100, 5);
        FreteExpresso b = new FreteExpresso(100, 2, 5);

        Console.WriteLine(a);
        Console.WriteLine(b);
    }
示例#25
0
 public static Frete BuscarFrete(Frete frete)
 {
     using (var ctx = new Context())
     {
         return(ctx.Fretes.AsNoTracking().FirstOrDefault
                    (x => x.FreteId.Equals(frete.FreteId)));
     }
 }
示例#26
0
 public static CalculoFreteViewModel ToViewModel(this Frete frete, decimal valor)
 {
     return(new CalculoFreteViewModel()
     {
         Modalidade = frete.Modalidade,
         Descricao = frete.Descricao,
         Valor = valor
     });
 }
示例#27
0
        public ActionResult DeleteConfirmed(int id)
        {
            Frete frete = new Frete();

            frete.FreteId = id;
            frete         = FreteDAO.BuscarFrete(frete);
            FreteDAO.Remover(frete);
            return(RedirectToAction("Index"));
        }
示例#28
0
 public ActionResult Edit([Bind(Include = "FreteId,Valor,UnidadeFederativa")] Frete frete)
 {
     if (ModelState.IsValid)
     {
         FreteDAO.AtualizarFrete(frete);
         return(RedirectToAction("Index"));
     }
     return(View(frete));
 }
示例#29
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            Frete frete = await db.Frete.FindAsync(id);

            db.Frete.Remove(frete);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
示例#30
0
    public static void Main(string[] args)
    {
        Frete a = new Frete();

        Console.WriteLine(a.ValorFrete);
        Frete b = new FreteExpresso();

        Console.WriteLine(b.ValorFrete);
    }