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; }