Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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();
                }
            }
        }