Example #1
0
        public virtual IList <string> UpraveneHodnotyVHistorii(int kolikataZHistorie)
        {
            IList <string> historieZmen = new List <string>();

            //první historie se porovnává s nynějším objektem - bohužel nejde jen tak přetipovat - takže se takhle vytvoří nová "historie"
            UkolVzorkovaniHistory thisAsHistory = new UkolVzorkovaniHistory(this)
            {
                Action = this.Action
                ,
                Status = this.Status
                ,
                DateStart = this.DateStart
                ,
                DatePlannedClose = this.DatePlannedClose
                ,
                DateDeadline = this.DateDeadline
                ,
                DateFinish = this.DateFinish
                ,
                //LastChangedDate = this.LastChangedDate
                //,
                Zadavatel = this.Zadavatel
                ,
                Resitel = this.Resitel
                ,
                Nazev = this.Nazev
                ,
                Popis = this.Popis
                ,
                LessonLearned = this.LessonLearned
            };

            UkolVzorkovaniHistory lastHist = History[0]; //a mrkneme se na první záznam historie

            if (lastHist != null)                        //pokud alespoň nějaká je, zapíšeme ji do seznamu
            {
                if (kolikataZHistorie == 0)
                {
                    IList <string> zmeny = GetRozdilyString(thisAsHistory, lastHist);
                    foreach (string s in zmeny)
                    {
                        historieZmen.Add(s); //PRVNÍ ZMĚNY
                    }
                }
                else
                {
                    IList <string> zmeny = GetRozdilyString(History[kolikataZHistorie - 1], History[kolikataZHistorie]);
                    foreach (string s in zmeny)
                    {
                        historieZmen.Add(s); //OSTATNÍ ZMĚNY
                    }
                }
            }

            return(historieZmen); //vrací seznam dvojic stringů (vždy CO, HODNOTA) se změněnými hodnotami
        }
Example #2
0
        private IList <String> GetRozdilyString(UkolVzorkovaniHistory newer, UkolVzorkovaniHistory older)
        {
            //MYŠLENKA: - zapíšeme do pole vždycky dvojici (ATRIBUT,HODNOTA .... ATRIBUT,HODNOTA ....
            //Z toho potom hezky vytáhneme která hodnota se změnila a jaká byla původní hodnota před změnou ;)

            IList <String> zmeny = new List <string>();

            if (newer.Action != older.Action)
            {
                zmeny.Add("Action"); zmeny.Add(newer.Action.ToString());
            }
            if (newer.Status != older.Status)
            {
                zmeny.Add("Status"); zmeny.Add(newer.Status.ToString());
            }
            if (newer.DateStart != older.DateStart)
            {
                zmeny.Add("DateStart"); zmeny.Add(newer.DateStart.ToString());
            }
            if (newer.DatePlannedClose != older.DatePlannedClose)
            {
                zmeny.Add("DatePlannedClose"); zmeny.Add(newer.DatePlannedClose.ToString());
            }
            if (newer.DateDeadline != older.DateDeadline)
            {
                zmeny.Add("DateDeadline"); zmeny.Add(newer.DateDeadline.ToString());
            }
            if (newer.DateFinish != older.DateFinish)
            {
                zmeny.Add("DateFinish"); zmeny.Add(newer.DateFinish.ToString());
            }
            if (newer.DateCheck != older.DateCheck)
            {
                zmeny.Add("DateCheck"); zmeny.Add(newer.DateCheck.ToString());
            }
            if (newer.Zadavatel != older.Zadavatel)
            {
                zmeny.Add("Zadavatel"); zmeny.Add(newer.Zadavatel.Prijmeni + " " + Zadavatel.Jmeno);
            }
            if (newer.Resitel != older.Resitel)
            {
                zmeny.Add("Resitel"); zmeny.Add(newer.Resitel.Prijmeni + " " + Resitel.Jmeno);
            }
            if (newer.Nazev != older.Nazev)
            {
                zmeny.Add("Nazev"); zmeny.Add(newer.Nazev);
            }
            if (newer.Popis != older.Popis)
            {
                zmeny.Add("Popis"); zmeny.Add(newer.Popis);
            }
            //if (newer.Komentar != older.Komentar && older.Komentar != null) { zmeny.Add("Komentar"); zmeny.Add(older.Komentar); }
            if (newer.Poznamka != older.Poznamka)
            {
                zmeny.Add("Poznamka"); zmeny.Add(newer.Poznamka);
            }
            if (newer.LessonLearned != older.LessonLearned)
            {
                zmeny.Add("LessonLearned"); zmeny.Add(newer.LessonLearned.ToString());
            }
            if (newer.Deleted != older.Deleted)
            {
                zmeny.Add("Deleted"); zmeny.Add(newer.Deleted.ToString());
            }


            return(zmeny);
        }