private IList<IValidationItemResult> Check3001(object input)
        {
            // TODO?
            var ret = new ValidationItemResult[0];
            if (!(input is A2 || input is C1))
                return ret;

            return ret;
        }
        /// <summary>
        /// Staticka metoda na vytvorenie default vysledku so stavom OK
        /// </summary>
        /// <param name="fromRule"></param>
        /// <returns></returns>
        public static ValidationItemResult CreateDefaultOk(IValidationRule fromRule)
        {
            var ret = new ValidationItemResult(fromRule);
            ret.ValidationResultState = ResultState.Ok;
            ret.ResultTooltip = string.Empty;
            ret.ResultMessage = string.Empty;
            ret.Details = new DetailedResultInfo() { LineNumber = null };

            return ret;
        }
        private ValidationItemResult ValidationFailed(object problemItem)
        {
            var ret = new ValidationItemResult(this);

            ret.ValidationResultState = ResultState.Error;
            ret.ResultMessage = string.Format("Sadzba dane môže byť 20% (základná sadzba dane) alebo 10% (znížená sadzba dane).");
            ret.ResultTooltip = string.Format("Opravte sadzbu dane na povolené hodnoty 10% resp. 20%'!");
            ret.ProblemObject = problemItem;
            ret.Details = new DetailedResultInfo();
            ret.Details.LineNumber = 0;

            return ret;
        }
        private ValidationItemResult ValidationFailed(BlackListEntity foundEntity, object problemItem)
        {
            var ret = new ValidationItemResult(this);

            ret.ValidationResultState = ResultState.OkWithWarning;
            ret.ResultMessage = string.Format("Subjekt s IČ DPH {0} sa nachádza na zozname platiteľov DPH s dôvodom na zrušenie registrácie!", foundEntity.IcDph);
            ret.ResultTooltip = string.Format("IČ DPH: {1}{0}Názov: {2}{0}Rok porušenia: {3}{0}Dátum zverejnenia: {4}{0}", Environment.NewLine, foundEntity.IcDph, foundEntity.Nazov, foundEntity.RokPorusenia, foundEntity.DatumZverejnenia);
            ret.ProblemObject = problemItem;
            ret.Details = new DetailedResultInfo();
            ret.Details.LineNumber = 0;

            return ret;
        }
        private ValidationItemResult CreateFailedResult(object problemItem, string msg, string tooltip)
        {
            var ret = new ValidationItemResult(this);

            ret.ValidationResultState = ResultState.Error;
            ret.ResultMessage = string.Format(msg);
            ret.ResultTooltip = string.Format(tooltip);
            ret.ProblemObject = problemItem;
            ret.Details = new DetailedResultInfo();
            ret.Details.LineNumber = 0;

            return ret;
        }
        private ValidationItemResult ValidationFailedOdb(object problemItem, string icDph)
        {
            var ret = new ValidationItemResult(this);

            ret.ValidationResultState = ResultState.Error;
            ret.ResultMessage = "IČ odberateľa sa nenachádza medzi registrovanými platcami!";
            ret.ResultTooltip = string.Format("Preverte, či je zoznam platiteľov DPH aktuálny a či je zadané IČ odberateľa '{0}' správne!", icDph);
            ret.ProblemObject = problemItem;
            ret.Details = new DetailedResultInfo();
            ret.Details.LineNumber = 0;

            return ret;
        }
        private IValidationItemResult MissingIcDph(object problemItem, string odbDod)
        {
            var ret = new ValidationItemResult(this);

            ret.ValidationResultState = ResultState.Error;
            ret.ResultMessage = string.Format("Nie je vyplnené IČ {0}!", (odbDod ?? "DPH"));
            ret.ResultTooltip = string.Format("Vyplňte povinné pole IČ {0}!", (odbDod ?? "DPH"));
            ret.ProblemObject = problemItem;
            ret.Details = new DetailedResultInfo();
            ret.Details.LineNumber = 0;

            return ret;
        }