Exemplo n.º 1
0
        private List <StatusSinistro> MontarListaDeStatus(List <string[]> lista)
        {
            List <StatusSinistro> s = new List <StatusSinistro>();

            lista.ForEach(x => s.Add(new StatusSinistro()
            {
                CodigoTransacao = x[0],
                NomeTransacao   = x[1],

                CodigoStatusAtual = x[2],
                NomeStatusAtual   = x[3],

                CodigoStatusSeguinte = x[4],
                NomeStatusSeguinte   = x[5]
            }));

            StatusSinistro        primeiroStatus    = s.SingleOrDefault(x => x.CodigoTransacao == "A" || x.CodigoTransacao == "00A");
            List <StatusSinistro> statusPosteriores = s.Where(x => x.CodigoStatusAtual != null && x.CodigoStatusSeguinte != null).ToList();
            List <StatusSinistro> outrosStatus      = s.Where(x => (x.CodigoStatusAtual == null || x.CodigoStatusSeguinte == null) && x.CodigoTransacao != "A").ToList();

            List <StatusSinistro> sinistros = new List <StatusSinistro> {
                primeiroStatus
            };

            sinistros.AddRange(statusPosteriores);

            return(sinistros);
        }
Exemplo n.º 2
0
        private IVisio.Shape DesenharForma(IVisio.Page page, StatusSinistro sinistro)
        {
            var shape = page.DrawRectangle(1, 1, 3, 2);

            shape.Text  = string.IsNullOrEmpty(sinistro.NomeStatusSeguinte) ? "Não achei" : sinistro.NomeStatusSeguinte;
            shape.Data1 = sinistro.CodigoStatusAtual;
            shape.Data2 = sinistro.CodigoStatusSeguinte;
            shape.Data3 = sinistro.CodigoTransacao;

            return(shape);
        }
Exemplo n.º 3
0
        private void DesenharPainel(IVisio.Page page, StatusSinistro sinistro, List <StatusSinistro> listaSinistro, List <IVisio.Shape> listaShape)
        {
            if (!listaShape.Any(x => x.Data2 == sinistro.CodigoStatusSeguinte))
            {
                var novoShape = DesenharForma(page, sinistro);
                listaShape.Add(novoShape);

                foreach (var s in listaShape.Where(x => x.Data2 == novoShape.Data1))
                {
                    ConnectarDesenhos(novoShape, s);
                }

                foreach (var item in listaSinistro.Where(x => !listaShape.Any(y => y.Data3 == x.CodigoTransacao) && x.CodigoStatusAtual == sinistro.CodigoStatusSeguinte))
                {
                    DesenharPainel(page, item, listaSinistro, listaShape);
                }
            }
            else
            {
                var shapeAtual    = listaShape.Single(x => x.Data2 == sinistro.CodigoStatusAtual);
                var shapeSeguinte = listaShape.Single(x => x.Data2 == sinistro.CodigoStatusSeguinte);
                ConnectarDesenhos(shapeAtual, shapeSeguinte);
            }
        }