public static StatusRevisoesLV StatusRevisoesLV(ListaVerficacaoVM lv) { StatusRevisoesLV statusLV = new StatusRevisoesLV(); if (lv.Colunas.Count == 1 && string.IsNullOrEmpty(lv.Colunas.Last().INDICE_REV)) { statusLV.ExistemRevisoesNesteDocumento = true; List <LinhaRevisaoVM> respostaListaLVs = new List <LinhaRevisaoVM>(); foreach (var grupo in lv.Colunas.Last().LV_Grupos) { foreach (var linha in grupo.Linhas) { respostaListaLVs.Add(linha); } } if (respostaListaLVs.Where(x => x.ID_ESTADO > 5).Count() == 0) { statusLV.NaoTemRevisoesIndefinidas = true; } if (respostaListaLVs.Where(x => x.CONFIRMADO == 0).Count() > 0) { statusLV.PossuiRevisoesNaoConfirmadas = true; } } return(statusLV); }
public static StatusRevisoesLV StatusRevisoesLV(string guidDocumento) { StatusRevisoesLV statusLV = new StatusRevisoesLV(); string qryListaParaAnalise = "SELECT " + "lv_revisao.guid as guid," + "lv_revisao.indice as indice," + "lv_revisao.ordenador as ordenador," + "lv_revisao.confirmado as confirmado," + "lv_revisao.id_estado as id_estado" + " FROM lv_revisao" + " WHERE " + "lv_revisao.guid_doc_verificacao = '" + guidDocumento + "'"; using (var conexaoBD = new ConexaoMySQL()) { var respostaListaLVs = conexaoBD.MySqlConnection.Query <RevisaoVM>(qryListaParaAnalise); if (respostaListaLVs.Count() > 0) { statusLV.ExistemRevisoesNesteDocumento = true; if (respostaListaLVs.Where(x => x.ID_ESTADO == 5).Count() == 0) { statusLV.NaoTemRevisoesIndefinidas = true; } if (respostaListaLVs.Where(x => x.CONFIRMADO == 0).Count() > 0) { statusLV.PossuiRevisoesNaoConfirmadas = true; } var results = (from p in respostaListaLVs.OrderBy(x => x.ORDENADOR) group p.ORDENADOR by p.ORDENADOR into g select new { Ordenador = g.Key }).ToList(); foreach (var item in results) { statusLV.Indices.Add(respostaListaLVs.First(x => x.ORDENADOR == item.Ordenador).INDICE); } //foreach (var ord in results) //{ // statusLV.Indices.Add(respostaListaLVs.FirstOrDefault(x => x.Ordenador == ord)); //} } } return(statusLV); }