public async Task <PedidoItemModel> BuscaItemPorIdItem(int id_item) { if (id_item == 0) { return(null); } else { string url = Uri.EscapeUriString(string.Format("http://mrsistemas.net/grupo_mr_api/api/PedidoItem/RetornaItemPorIdItem?id_item={0}", id_item)); _client = new HttpClient(); var response = await _client.GetAsync(url); if (response.StatusCode == HttpStatusCode.NotFound) { _pedidoItem = new PedidoItemModel(); } else { var content = await response.Content.ReadAsStringAsync(); var pedidoitem = JsonConvert.DeserializeObject <PedidoItemModel>(content); _pedidoItem = new PedidoItemModel(); _pedidoItem = (PedidoItemModel)pedidoitem; } return(_pedidoItem); } }
public async Task <int> Incluir(PedidoViewModel pedidoView) { try { PedidoModel pedidox = new PedidoModel(); pedidox.ClienteId = pedidoView.ClienteId; foreach (var item in pedidoView.PedidoItem) { PedidoItemModel pedidoItem = new PedidoItemModel(); pedidoItem.ProdutoId = item.ProdutoId; pedidoItem.Quantidade = item.Quantidade; pedidoItem.Referencia = item.Referencia; pedidoItem.ValorUnitario = item.ValorUnitario; pedidox.PedidoItem.Add(pedidoItem); } if (!pedidox.PedidoValido()) { throw new Exception("Pedido não contempla quantidade necessária ou máximo permitido"); } if (pedidox.ClienteId.HasValue) { ClienteModel clienteExiste = await _clienteRepositorio.GetById(pedidox.ClienteId.Value); pedidox.ClienteId = clienteExiste.ClienteId; pedidox.EnderecoId = clienteExiste.EnderecoId; } else { pedidox.Endereco = new EnderecoModel(); pedidox.Endereco.Logradouro = pedidoView.Logradouro; pedidox.Endereco.Cep = pedidoView.Cep; pedidox.Endereco.Numero = pedidoView.Numero; pedidox.Endereco.Complemento = pedidoView.Complemento; pedidox.Endereco.Bairro = pedidoView.Bairro; pedidox.Endereco.Cidade = pedidoView.Cidade; pedidox.Endereco.Estado = pedidoView.Estado; } await _pedidoRepositorio.Add(pedidox); return(pedidox.PedidoId); } catch (Exception ex) { throw ex; } }
public ActionResult PedidoDetalhe(int idPedido) { var pedidoService = new PedidoService(new ContextMercadOn()); var model = new PedidoItemModel(); model.Itens = pedidoService.BuscarPedidoDetalhe(idPedido); return(View(model)); }
public async void DeletarItem(object sender, EventArgs e) { try { if (!CrossConnectivity.Current.IsConnected) { await DisplayAlert("Alerta!", "Sem conexão com à Internet.", "OK"); return; } var answer = await DisplayAlert("Alerta!", "Deseja excluir o item selecionado?", "Sim", "Não"); if (answer) { var item = (Xamarin.Forms.Button)sender; PedidoItemModel lst = (from itm in pItem.Items where itm.IdItem.ToString() == item.CommandParameter.ToString() select itm).FirstOrDefault <PedidoItemModel>(); //pItem.Items.Remove(lst); Item = new PedidoItemService(); var deletou = await Item.DeletaPedidoItem(Convert.ToInt32(item.CommandParameter)); List <PedidoItemModel> items = new List <PedidoItemModel>(); Item = new PedidoItemService(); items = await Item.BuscaItemPorIdPedido(GlobalVariables.GlobalPedido.IdPedido); if (items.Count > 0) { ped_items.Clear(); foreach (PedidoItemModel itm in items) { ped_items.Add(itm); } CarregaItensPedido(items); CalculaQtdItemPedido(); CalculaVlrPedido(); CalculaDescPedido(); CalculaTotalPedido(); } if (deletou > 0) { await DisplayAlert("Alerta!", "Item deletado com sucesso.", "OK"); } else { await DisplayAlert("Alerta!", "Falha ao excluir item. Tente novamente.", "OK"); } } } catch (Exception) { } }
public int InserirPedidoItem(PedidoItemModel pedidoItem) { var metodo = "api/pedidoItem/"; var objeto = ObjetoToJson(pedidoItem); var retornoApi = ChamadaPost(metodo, objeto); if (retornoApi.Status == HttpStatusCode.OK) { pedidoItem = JsonConvert.DeserializeObject <PedidoItemModel>(retornoApi.Objeto); } return(pedidoItem.Id); }
private void CalculaTotalPedido() { try { pItem = new ItemList(ped_items); var i = new PedidoItemModel { ValorTotal = pItem.Items.Sum(it => (it.ValorProduto - it.ValorDesconto) * it.Quantidade), }; lblTotal.Text = i.ValorTotal.ToString(); } catch (Exception) { } }
private void CalculaDescPedido() { try { pItem = new ItemList(ped_items); var i = new PedidoItemModel { ValorDesconto = pItem.Items.Sum(it => it.ValorDesconto), }; lblDesconto.Text = i.ValorDesconto.ToString(); } catch (Exception) { } }
private void CalculaVlrPedido() { try { pItem = new ItemList(ped_items); var i = new PedidoItemModel { ValorProduto = pItem.Items.Sum(it => it.ValorProduto * it.Quantidade), }; lblValor.Text = i.ValorProduto.ToString(); } catch (Exception) { } }
private void CalculaQtdItemPedido() { try { pItem = new ItemList(ped_items); var i = new PedidoItemModel { Quantidade = pItem.Items.Sum(it => it.Quantidade), }; lblQuantidade.Text = i.Quantidade.ToString(); } catch (Exception) { } }
public async Task <Boolean> AtualizaPedidoItem(PedidoItemModel item) { if (item == null) { return(false); } else { string url = string.Concat("http://mrsistemas.net/grupo_mr_api/api/PedidoItem/AtualizaPedidoItem", "?IdItem=" + item.IdItem.ToString(), "&IdPedido=" + item.IdPedido.ToString(), "&IdFornecedor=" + item.IdFornecedor.ToString(), "&IdProduto=" + item.IdProduto.ToString(), "&NomeProduto=" + item.NomeProduto.ToString(), "&CodigoProduto=" + item.CodigoProduto.ToString(), "&Quantidade=" + item.Quantidade.ToString(), "&ValorProduto=" + item.ValorProduto.ToString(), "&PercentualDesconto=" + item.PercentualDesconto.ToString(), "&ValorDesconto=" + item.ValorDesconto.ToString(), "&PercentualDescontoDist=" + item.PercentualDescontoDist.ToString(), "&ValorDescontoDist=" + item.ValorDescontoDist.ToString(), "&IdCampanha=" + item.IdCampanha.ToString(), "&Obs=" + item.Obs); _client = new HttpClient(); var serializedProduto = JsonConvert.SerializeObject(item); var content = new StringContent(serializedProduto, Encoding.UTF8, "application/json"); var response = await _client.PostAsync(url, content); if (response.StatusCode == HttpStatusCode.OK) { return(true); } else { return(false); } } }
public async Task <Int32> ExisteItemNoPedido(int id_pedido, int id_produto) { if (id_pedido == 0) { return(0); } else { string url = Uri.EscapeUriString(string.Format("http://mrsistemas.net/grupo_mr_api/api/PedidoItem/RetornaItemPorPedido?id_pedido={0}&id_produto={1}", id_pedido, id_produto)); _client = new HttpClient(); var response = await _client.GetAsync(url); if (response.StatusCode == HttpStatusCode.NotFound) { return(0); } else { string content = await response.Content.ReadAsStringAsync(); JObject output = JObject.Parse(content); _pedidoItem = new PedidoItemModel(); _pedidoItem.IdItem = (int)output.SelectToken("IdItem"); if (_pedidoItem.IdItem > 0) { return(_pedidoItem.IdItem); } else { return(0); } } } }
public ActionResult Index(CheckoutModel model) { if (ModelState.IsValid) { var apiServico = new ApiServico(); // gravar Pedido var pedido = new PedidoModel { IdCliente = model.IdCliente, IdFormaPagamento = model.IdFormaPagamento, UsuarioAtualizacao = "LEONARDO", DataAtualizacao = DateTime.Now, Valor = 3000 }; var idPedido = apiServico.InserirPedido(pedido); // gravar PedidoProduto (para cada produto) foreach (var item in Carrinho.Itens) { for (int i = 0; i < item.Quantidade; i++) { var pedidoItem = new PedidoItemModel { IdPedido = idPedido, IdProdutoFornecedor = item.IdProduto, IdFornecedor = item.IdFornecedor, NomeProduto = item.Nome, Imagem = string.Empty, ValorFornecedor = item.ValorFornecedor, ValorVenda = item.ValorVenda, UsuarioAtualizacao = "LEONARDO" }; var idPedidoProduto = apiServico.InserirPedidoItem(pedidoItem); } } // gravar Status do Pedido var statusPedido = new StatusPedidoModel { IdPedido = idPedido, IdStatusPedido = 1, DescStatus = "Pedido Recebido", DataInclusao = DateTime.Now }; var idStatusPedido = apiServico.InserirStatusPedido(statusPedido); // Zerar Carrinho Session["SessionCarrinho"] = null; var sucesso = new PedidoFinalizadoModel(); return(View("Sucesso", sucesso)); } else { model.IdCliente = Login.Id; model.Carrinho = Carrinho; return(View(model)); } }
private async void InserirItem(object sender, EventArgs e) { try { if (!CrossConnectivity.Current.IsConnected) { await DisplayAlert("Alerta!", "Sem conexão com à Internet.", "OK"); return; } if (quantidade == 0) { quantidade = 1; } ProdutosService prodService = new ProdutosService(); List <ProdutosModel> prod = new List <ProdutosModel>(); if (quantidade == 0) { PedidoItemService novoItem = new PedidoItemService(); var answer = await DisplayAlert("Alerta!", "Deseja excluir o item" + codigo + "? ", "Sim", "Não"); if (answer) { var deletou = await novoItem.DeletaPedidoItem(GlobalVariables.GlobalPedido.IdPedido, codigo); if (deletou > 0) { await DisplayAlert("Alerta!", "Item deletado com sucesso.", "OK"); } else { await DisplayAlert("Alerta!", "Falha ao excluir item. Tente novamente.", "OK"); } } ECcodigo.Text = ""; ECqtde.Text = ""; lblItemDigitado.Text = ""; ECcodigo.Focus(); return; } prod = await prodService.BuscaProdutosPorCodigo(codigo, GlobalVariables.campanha); if (prod != null && prod.Count > 0) { PedidoItemService novoItem = new PedidoItemService(); PedidoItemModel item = new PedidoItemModel(); Int32 existente = 0; Boolean novo = false; item.IdPedido = GlobalVariables.GlobalPedido.IdPedido; item.IdFornecedor = prod[0].IdFornecedor; item.IdProduto = prod[0].IdProduto; item.NomeProduto = prod[0].NomeProduto; item.CodigoProduto = prod[0].Codigo; item.Quantidade = quantidade; item.ValorProduto = prod[0].Preco; item.PercentualDesconto = (decimal)GlobalVariables.percDesconto; item.PercentualDescontoDist = prod[0].DescDist; item.ValorDesconto = item.ValorProduto * (item.PercentualDesconto / 100); item.ValorDescontoDist = item.ValorProduto * (item.PercentualDescontoDist / 100); item.Obs = ""; item.IdCampanha = GlobalVariables.campanha; existente = await novoItem.ExisteItemNoPedido(item.IdPedido, item.IdProduto); if (existente > 0) { this.IsBusy = true; item.IdItem = existente; await novoItem.AtualizaPedidoItem(item); ped_items.Add(item); this.IsBusy = false; } else { this.IsBusy = true; novo = await novoItem.InserePedidoItem(item); ped_items.Add(item); this.IsBusy = false; } if (existente > 0 || novo == true) { CalculaQtdItemPedido(); CalculaVlrPedido(); CalculaDescPedido(); CalculaTotalPedido(); ECcodigo.Text = ""; ECqtde.Text = ""; lblItemDigitado.Text = ""; ECcodigo.Focus(); List <PedidoItemModel> items = await Item.BuscaItemPorIdPedido(GlobalVariables.GlobalPedido.IdPedido); { if (items.Count > 0) { CarregaItensPedido(items); CalculaQtdItemPedido(); CalculaVlrPedido(); CalculaDescPedido(); CalculaTotalPedido(); } } } } else { ECcodigo.Text = ""; ECqtde.Text = ""; lblItemDigitado.Text = ""; ECcodigo.Focus(); } } catch (Exception) { } }