public List<PedListaItem> ListaItensCompra(int CategoriaID, int CC_ID, ref Resultado resultado)
        {
            List<PedListaItem> pPedListaItem = new Ped_ItemData().ListaItensCompra(CategoriaID, CC_ID);
            List<PedListaItem> ListaAgrupada = new List<PedListaItem>();
            if (pPedListaItem.Count == 0)
            {
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "PedItem";
                mensagem.Descricoes.Add("Nenhuma item encontrado!");

                resultado.Mensagens.Add(mensagem);
                resultado.Sucesso = false;
            }
            else
            {

                List<PedListaItem> ListaOrdenada = new List<PedListaItem>();
                List<PedListaItem> ListaOrdenada2 = new List<PedListaItem>();

                int oCodItem = 0;
                string Outros = String.Empty;

                foreach (PedListaItem item in pPedListaItem)
                {

                    if (oCodItem != item.Item.ItemID || Outros != item.Outros)
                    {
                        oCodItem = item.Item.ItemID;
                        Outros = item.Outros;
                        ListaOrdenada2 = pPedListaItem.FindAll(delegate(PedListaItem itm)
                        {
                            return itm.Item.ItemID == item.Item.ItemID;
                        });

                        ListaOrdenada = ListaOrdenada2.FindAll(delegate(PedListaItem itm)
                        {
                            return itm.Outros == item.Outros;
                        });

                        if (ListaOrdenada.Count > 1)
                        {
                            int itmsoma = 0;
                            string CodPedidos = string.Empty;
                            foreach (PedListaItem pitm in ListaOrdenada)
                            {
                                itmsoma += pitm.Quantidade;
                                CodPedidos += pitm.CodPedido + "; ";
                            }

                            item.CodPedidos = CodPedidos;
                            item.Quantidade = itmsoma;
                            ListaAgrupada.Add(item);

                        }
                        else
                        {
                            item.CodPedidos = item.CodPedido.ToString() + ";";

                            ListaAgrupada.Add(item);
                        }
                    }
                }
                resultado.Sucesso = true;
            }

            return ListaAgrupada;
        }
        public List<PedListaItem> ListaItensPCompraPorCodigo(int CodPCompra, ref Resultado resultado)
        {
            List<PedListaItem> pPedListaItem = new Ped_ItemData().ListaItensPCompraPorCodigo(CodPCompra);
            List<PedListaItem> ListaAgrupada = new List<PedListaItem>();
            if (pPedListaItem.Count == 0)
            {
                Mensagem mensagem = new Mensagem();
                mensagem.Campo = "PedItem";
                mensagem.Descricoes.Add("Nenhuma item encontrado!");

                resultado.Mensagens.Add(mensagem);
                resultado.Sucesso = false;
            }
            else
            {
                List<PedListaItem> ListaOrdenada = new List<PedListaItem>();
                int oCodItem = 0;
                foreach (PedListaItem item in pPedListaItem)
                {
                    if (oCodItem != item.CodItem)
                    {
                        oCodItem = item.CodItem;

                        ListaOrdenada = pPedListaItem.FindAll(delegate(PedListaItem itm)
                        {
                            return itm.CodItem == item.CodItem;
                        });

                        if (ListaOrdenada.Count > 1)
                        {
                            int itmsoma = 0;
                            string CodPedidos = string.Empty;
                            foreach (PedListaItem pitm in ListaOrdenada)
                            {
                                itmsoma += pitm.Quantidade;
                                CodPedidos += pitm.CodPedido + "; ";
                            }

                            item.CodPedidos = CodPedidos;
                            item.Quantidade = itmsoma;
                            ListaAgrupada.Add(item);

                        }
                        else
                        {
                            item.CodPedidos = item.CodPedido.ToString() + ";";
                            ListaAgrupada.Add(item);
                        }
                    }
                }
                resultado.Sucesso = true;
            }
            return pPedListaItem;
        }