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"
            var thisAsHistory = new SubUkolHistory()
            {
                Action = Action
                ,
                Status = Status
                ,
                StartDate = StartDate
                ,
                PlannedCloseDate = PlannedCloseDate
                ,
                CloseDate = CloseDate
                ,
                FinishDate = FinishDate
                ,
                CheckDate = CheckDate
                ,
                LastChangedDate = LastChangedDate
                ,
                Zadavatel = Zadavatel
                ,
                Resitel = Resitel
                ,
                Nazev = Nazev
                ,
                Popis = Popis
                ,
                Komentar = Komentar
                ,
                DeniedMessage = DeniedMessage
            };

            var 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)
                {
                    IEnumerable <string> zmeny = GetRozdilyString(thisAsHistory, lastHist);
                    foreach (string s in zmeny)
                    {
                        historieZmen.Add(s); //PRVNÍ ZMĚNY
                    }
                }
                else
                {
                    IEnumerable <string> zmeny = GetRozdilyString(History[kolikataZHistorie], History[kolikataZHistorie - 1]);
                    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 IEnumerable <string> GetRozdilyString(SubUkolHistory newer, SubUkolHistory 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 ;)
            var            whiteSpace = "-";
            IList <string> zmeny      = new List <string>();

            if (newer.Action != older.Action)
            {
                zmeny.Add("Action");            zmeny.Add(older.Action.ToString());
            }
            if (newer.Status != older.Status)
            {
                zmeny.Add("Status");            zmeny.Add(older.Status.ToString());
            }
            if (newer.StartDate != older.StartDate)
            {
                zmeny.Add("StartDate");         zmeny.Add(older.StartDate.ToString(CultureInfo.CurrentCulture));
            }
            if (newer.PlannedCloseDate != older.PlannedCloseDate)
            {
                zmeny.Add("PlannedCloseDate");  zmeny.Add(older.PlannedCloseDate == null ? whiteSpace : older.PlannedCloseDate.GetValueOrDefault().ToShortDateString());
            }
            if (newer.CloseDate != older.CloseDate)
            {
                zmeny.Add("CloseDate");         zmeny.Add(older.CloseDate == null ? whiteSpace : older.CloseDate.GetValueOrDefault().ToShortDateString());
            }
            if (newer.FinishDate != older.FinishDate)
            {
                zmeny.Add("FinishDate");        zmeny.Add(older.FinishDate == null ? whiteSpace : older.FinishDate.GetValueOrDefault().ToShortDateString());
            }
            if (newer.CheckDate != older.CheckDate)
            {
                zmeny.Add("CheckDate");         zmeny.Add(older.CheckDate == null ? whiteSpace : older.CheckDate.GetValueOrDefault().ToShortDateString());
            }
            //if (newer.LastChangedDate != older.LastChangedDate)    { zmeny.Add("LastChangedDate");   zmeny.Add(older.LastChangedDate.ToShortDateString());     }
            if (newer.Zadavatel != older.Zadavatel)
            {
                zmeny.Add("Zadavatel");         zmeny.Add(older.Zadavatel.Prijmeni + " " + Zadavatel.Jmeno);
            }
            if (newer.Resitel != older.Resitel)
            {
                zmeny.Add("Resitel");           zmeny.Add(older.Resitel.Prijmeni + " " + Resitel.Jmeno);
            }
            if (newer.Nazev != older.Nazev)
            {
                zmeny.Add("Nazev");             zmeny.Add(older.Nazev);
            }
            if (newer.Popis != older.Popis)
            {
                zmeny.Add("Popis");             zmeny.Add(older.Popis);
            }

            //if (newer.Komentar != older.Popis)                        { zmeny.Add("Popis");             zmeny.Add(newer.Popis);                                    }


            return(zmeny);
        }