Пример #1
0
        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);
        }