示例#1
0
        public Roteiro(Roteiro roteiro_antigo, bool copiarFrases)
        {
            this.FrasesIda   = new List <Frase>();
            this.FrasesVolta = new List <Frase>();

            this.ID              = roteiro_antigo.ID;
            this.Indice          = roteiro_antigo.Indice;
            this.IdaIgualVolta   = roteiro_antigo.IdaIgualVolta;
            this.LabelRoteiro    = roteiro_antigo.LabelRoteiro;
            this.Tarifa          = roteiro_antigo.Tarifa;
            this.Ordenacao       = roteiro_antigo.Ordenacao;
            this.Ascendente      = roteiro_antigo.Ascendente;
            this.EnvioRoteiroAPP = roteiro_antigo.EnvioRoteiroAPP;
            this.Numero          = new Frase(roteiro_antigo.Numero);

            if (copiarFrases)
            {
                foreach (Frase f in roteiro_antigo.FrasesIda)
                {
                    this.FrasesIda.Add(new Frase(f));
                }
                foreach (Frase f in roteiro_antigo.FrasesVolta)
                {
                    this.FrasesVolta.Add(new Frase(f));
                }
            }
        }
示例#2
0
        public bool CompararObjetosRoteiro(Roteiro roteiro1, Roteiro roteiro2)
        {
            bool alterou = false;

            if ((roteiro1.ID != roteiro2.ID) || (roteiro1.Indice != roteiro2.Indice) || (roteiro1.LabelRoteiro != roteiro2.LabelRoteiro) ||
                (roteiro1.IdaIgualVolta != roteiro2.IdaIgualVolta) || (roteiro1.Tarifa != roteiro2.Tarifa) || roteiro1.EnvioRoteiroAPP != roteiro2.EnvioRoteiroAPP)
            {
                alterou = true;
            }

            if (!alterou)
            {
                if (roteiro1.Numero.CompararObjetosFrase(roteiro1.Numero, roteiro2.Numero))
                {
                    alterou = true;
                }
            }

            if (!alterou)
            {
                if (roteiro1.FrasesIda.Count != roteiro2.FrasesIda.Count)
                {
                    alterou = true;
                }
            }

            if (!alterou)
            {
                if (roteiro1.FrasesVolta.Count != roteiro2.FrasesVolta.Count)
                {
                    alterou = true;
                }
            }

            if (!alterou)
            {
                //os dois roteiros tem a mesma quantidade de frases
                for (int i = 0; i < roteiro1.FrasesIda.Count; i++)
                {
                    if (roteiro1.FrasesIda[i].CompararObjetosFrase(roteiro1.FrasesIda[i], roteiro2.FrasesIda[i]))
                    {
                        alterou = true;
                        break;
                    }
                }
            }

            if (!alterou)
            {
                //os dois roteiros tem a mesma quantidade de frases
                for (int i = 0; i < roteiro1.FrasesVolta.Count; i++)
                {
                    if (roteiro1.FrasesVolta[i].CompararObjetosFrase(roteiro1.FrasesVolta[i], roteiro2.FrasesVolta[i]))
                    {
                        alterou = true;
                        break;
                    }
                }
            }

            return(alterou);
        }