public void VerificaMesaSemItem() { var db = Conexao.BancoDados; var Pedido = BuscarView().Where(p => p.ST_PEDIDO == "O"); for (int i = 0; i < Pedido.Count(); i++) { var item = (from a in db.TB_COM_PEDIDO_ITEMs where a.ID_PEDIDO == Pedido.ToList()[i].ID_PEDIDO && (a.ST_ATIVO ?? false) == true select a).ToList(); if (item.Count == 0 || (Pedido.ToList()[i].ID_MESA == "0" && Pedido.ToList()[i].ID_CARTAO == "0")) { int posicao_transacao = 0; Pedido.ToList()[i].ST_ATIVO = false; Pedido.ToList()[i].ST_PEDIDO = "F"; MPedido vPedido = Pedido.ToList()[i]; vPedido.ST_PEDIDO = "F"; vPedido.ST_ATIVO = false; Gravar(vPedido, ref posicao_transacao); } } }
public void AtualizaPedidoItem(MPedido pedido, MPedidoItem item, int _pedidoOrigem, ref int posicaoTransacao)//muda o pedido original do item { Conexao.Iniciar(ref posicaoTransacao); var _item = Conexao.BancoDados.TB_COM_PEDIDO_ITEMs.FirstOrDefault(a => a.ID_PEDIDO == _pedidoOrigem && a.ID_ITEM == item.ID_ITEM); var novoItem = new MPedidoItem(); novoItem.ID_PRODUTO = _item.ID_PRODUTO ?? 0; novoItem.QUANTIDADE = _item.QT ?? 0m; novoItem.VL_UNITARIO = _item.VL_UNITARIO ?? 0m; novoItem.VL_ACRESCIMO = _item.VL_ACRESCIMO ?? 0m; novoItem.VL_DESCONTO = _item.VL_DESCONTO ?? 0m; novoItem.VL_SUBTOTAL = _item.VL_SUBTOTAL ?? 0m; novoItem.ST_ATIVO = _item.ST_ATIVO; novoItem.ST_IMPRESSO = _item.TB_GOU_PEDIDO_ITEM.ST_IMPRESSO; novoItem.OBS = _item.DS_OBSERVACAO; var _adicionais = Conexao.BancoDados.TB_GOU_PEDIDO_ITEM_ADICIONALs.Where(p => p.ID_ITEM == _item.ID_ITEM && p.ID_PEDIDO == _item.ID_PEDIDO && p.ID_EMPRESA == _item.ID_EMPRESA).ToList(); for (int i = 0; i < _adicionais.Count; i++) { var novoAdicionais = new MAdicionais(); novoAdicionais.ID_GRUPO = _adicionais[i].ID_GRUPO; novoAdicionais.ID_ITEMPEDIDO = _adicionais[i].ID_ITEM; novoAdicionais.ID_ADICIONAL = _adicionais[i].ID_ADICIONAL; novoItem.Adicionais.Add(novoAdicionais); } var _complementos = Conexao.BancoDados.TB_GOU_PEDIDO_ITEM_COMPLEMENTOs.Where(p => p.ID_ITEM == _item.ID_ITEM && p.ID_PEDIDO == _item.ID_PEDIDO && p.ID_EMPRESA == _item.ID_EMPRESA).ToList(); for (int i = 0; i < _complementos.Count; i++) { var novoComplementos = new MComplemento(); novoComplementos.ID_ITEMPEDIDO = _complementos[i].ID_ITEM; novoComplementos.ID_PRODUTO = _complementos[i].ID_PRODUTO; novoComplementos.QUANTIDADE = _complementos[i].QT ?? 0m; novoComplementos.VALOR = _complementos[i].VL ?? 0m; novoItem.COMPLEMENTOS.Add(novoComplementos); } new Comercial.QPedido().GravaPedidoItem(pedido, novoItem); GravaItemPedido(pedido, novoItem); var delItem = new MPedidoItem(); delItem.ID_ITEM = _item.ID_ITEM; delItem.ID_PEDIDO = _item.ID_PEDIDO; new Comercial.QPedido().DeletarItemParaTransferir(delItem, ref posicaoTransacao); Conexao.Finalizar(ref posicaoTransacao); }
public void Deletar(MPedido pedido, ref int posicaoTransacao) { try { Conexao.Iniciar(ref posicaoTransacao); var existente = Conexao.BancoDados.TB_COM_PEDIDOs.FirstOrDefault(a => a.ID_PEDIDO == pedido.ID_PEDIDO); if (existente != null) { existente.ST_ATIVO = false; } Conexao.Enviar(); Conexao.Finalizar(ref posicaoTransacao); } catch (Exception excessao) { Conexao.Voltar(ref posicaoTransacao); throw excessao; } }
private void GravaItemPedido(MPedido pedido, MPedidoItem Itens) { var existenteItem = Conexao.BancoDados.TB_GOU_PEDIDO_ITEMs.FirstOrDefault(a => a.ID_PEDIDO == pedido.ID_PEDIDO && a.ID_ITEM == Itens.ID_ITEM); if (existenteItem == null) { Itens.ID_ITEM = (Conexao.BancoDados.TB_GOU_PEDIDO_ITEMs.Any() ? Conexao.BancoDados.TB_GOU_PEDIDO_ITEMs.Max(a => a.ID_ITEM) : 0) + 1; var vItens = new TB_GOU_PEDIDO_ITEM(); vItens.ID_PEDIDO = pedido.ID_PEDIDO; vItens.ID_EMPRESA = pedido.ID_EMPRESA; vItens.ID_ITEM = Itens.ID_ITEM; vItens.DS_OBSERVACAO = Itens.OBS; vItens.ST_IMPRESSO = Itens.ST_IMPRESSO; Conexao.BancoDados.TB_GOU_PEDIDO_ITEMs.InsertOnSubmit(vItens); Conexao.Enviar(); } else { existenteItem.ID_EMPRESA = pedido.ID_EMPRESA; existenteItem.DS_OBSERVACAO = Itens.OBS; existenteItem.ST_IMPRESSO = Itens.ST_IMPRESSO; Conexao.Enviar(); } for (int y = 0; y < Itens.COMPLEMENTOS.Count; y++) { var existenteItemComplemento = Conexao.BancoDados.TB_GOU_PEDIDO_ITEM_COMPLEMENTOs.FirstOrDefault(a => a.ID_PEDIDO == pedido.ID_PEDIDO && a.ID_ITEM == Itens.ID_ITEM && a.ID_COMPLEMENTO == Itens.COMPLEMENTOS[y].ID_COMPLEMENTO); if (existenteItemComplemento == null) { Itens.COMPLEMENTOS[y].ID_COMPLEMENTO = (Conexao.BancoDados.TB_GOU_PEDIDO_ITEM_COMPLEMENTOs.Any() ? Conexao.BancoDados.TB_GOU_PEDIDO_ITEM_COMPLEMENTOs.Max(a => a.ID_COMPLEMENTO) : 0) + 1; var vComplementos = new TB_GOU_PEDIDO_ITEM_COMPLEMENTO(); vComplementos.ID_COMPLEMENTO = Itens.COMPLEMENTOS[y].ID_COMPLEMENTO; vComplementos.ID_EMPRESA = pedido.ID_EMPRESA; vComplementos.ID_PRODUTO = Itens.COMPLEMENTOS[y].ID_PRODUTO; vComplementos.ID_PEDIDO = pedido.ID_PEDIDO; vComplementos.ID_ITEM = Itens.ID_ITEM; vComplementos.QT = Itens.COMPLEMENTOS[y].QUANTIDADE; vComplementos.VL = Itens.COMPLEMENTOS[y].VALOR; Conexao.BancoDados.TB_GOU_PEDIDO_ITEM_COMPLEMENTOs.InsertOnSubmit(vComplementos); Conexao.Enviar(); } else { existenteItemComplemento.ID_EMPRESA = pedido.ID_EMPRESA; existenteItemComplemento.ID_PRODUTO = Itens.COMPLEMENTOS[y].ID_PRODUTO; existenteItemComplemento.QT = Itens.COMPLEMENTOS[y].QUANTIDADE; existenteItemComplemento.VL = Itens.COMPLEMENTOS[y].VALOR; Conexao.Enviar(); } } for (int y = 0; y < Itens.Adicionais.Count; y++) { var existenteItemAdicional = Conexao.BancoDados.TB_GOU_PEDIDO_ITEM_ADICIONALs.FirstOrDefault(a => a.ID_PEDIDO == pedido.ID_PEDIDO && a.ID_ITEM == Itens.ID_ITEM && a.ID_ADICIONAL == Itens.Adicionais[y].ID_ADICIONAL); if (existenteItemAdicional == null) { Itens.Adicionais[y].ID_ITEMADICIONAL = (Conexao.BancoDados.TB_GOU_PEDIDO_ITEM_ADICIONALs.Any() ? Conexao.BancoDados.TB_GOU_PEDIDO_ITEM_ADICIONALs.Max(a => a.ID_ITEM_ADICIONAL) : 0) + 1; var vAdicional = new TB_GOU_PEDIDO_ITEM_ADICIONAL(); vAdicional.ID_ITEM_ADICIONAL = Itens.Adicionais[y].ID_ITEMADICIONAL; vAdicional.ID_PEDIDO = pedido.ID_PEDIDO; vAdicional.ID_EMPRESA = pedido.ID_EMPRESA; vAdicional.ID_ITEM = Itens.ID_ITEM; vAdicional.ID_ADICIONAL = Itens.Adicionais[y].ID_ADICIONAL; vAdicional.ID_GRUPO = Itens.Adicionais[y].ID_GRUPO; Conexao.BancoDados.TB_GOU_PEDIDO_ITEM_ADICIONALs.InsertOnSubmit(vAdicional); Conexao.Enviar(); } else { existenteItemAdicional.ID_EMPRESA = pedido.ID_EMPRESA; existenteItemAdicional.ID_ADICIONAL = Itens.Adicionais[y].ID_ADICIONAL; existenteItemAdicional.ID_GRUPO = Itens.Adicionais[y].ID_GRUPO; Conexao.Enviar(); } } }
public void Gravar(MPedido pedido, ref int posicaoTransacao, List <MPedidoItem> transferencia = null, bool GeraNotaFiscal = false) { try { Conexao.Iniciar(ref posicaoTransacao); // Grava primeiramente o pedido no comercial var pedidoComercial = new Comercial.QPedido(); pedidoComercial.Gravar(pedido, GeraNotaFiscal, ref posicaoTransacao, transferencia); id_nota = pedidoComercial.ID_NOTA; var existente = Conexao.BancoDados.TB_GOU_PEDIDOs.FirstOrDefault(a => a.ID_PEDIDO == pedido.ID_PEDIDO); #region Inserção if (existente == null) { pedido.ID_PEDIDO = (Conexao.BancoDados.TB_GOU_PEDIDOs.Any() ? Conexao.BancoDados.TB_GOU_PEDIDOs.Max(a => a.ID_PEDIDO) : 0) + 1; var vPedido = new TB_GOU_PEDIDO(); vPedido.ID_EMPRESA = pedido.ID_EMPRESA; vPedido.ID_PEDIDO = pedido.ID_PEDIDO; vPedido.ID_MESA = pedido.ID_MESA; vPedido.ID_CARTAO = pedido.ID_CARTAO; vPedido.ST = pedido.ST_PEDIDO; Conexao.BancoDados.TB_GOU_PEDIDOs.InsertOnSubmit(vPedido); Conexao.Enviar(); id_pedido = vPedido.ID_PEDIDO; } #endregion #region Atualização else { existente.ID_PEDIDO = pedido.ID_PEDIDO; existente.ID_EMPRESA = pedido.ID_EMPRESA; existente.ID_MESA = pedido.ID_MESA; existente.ID_CARTAO = pedido.ID_CARTAO; existente.ST = pedido.ST_PEDIDO; Conexao.Enviar(); id_pedido = pedido.ID_PEDIDO; } for (int i = 0; i < pedido.Itens.Count; i++) { GravaItemPedido(pedido, pedido.Itens[i]); } #endregion Conexao.Finalizar(ref posicaoTransacao); } catch (Exception excessao) { Conexao.Voltar(ref posicaoTransacao); throw excessao; } }