Ejemplo n.º 1
0
        public static PEDCalcValue GetPEDCValue(PwEntry pe, bool recursion)
        {
            if (!m_dPEDValues.ContainsKey(pe))
            {
                string         days_string = pe.ReadPEDCString();
                PEDCValueEntry pve         = new PEDCValueEntry();
                pve.value = PEDCalcValue.ConvertFromString(days_string);

                if (pve.value.Inherit && (pe.ParentGroup != null))
                {
                    pve.valueinherit = pe.ParentGroup.GetPEDValue(true);
                }
                else
                {
                    pve.valueinherit = new PEDCalcValue(PEDC.Off);
                }
                m_dPEDValues[pe] = pve;
                PluginDebug.AddInfo("Add PEDCValues to buffer", 0,
                                    "Entry: " + pe.Uuid.ToHexString() + " / " + pe.Strings.ReadSafe(PwDefs.TitleField),
                                    "Value: " + pve.value.ToString(),
                                    "Value inherited: " + pve.valueinherit.ToString());
            }
            if (recursion && m_dPEDValues[pe].value.Inherit)
            {
                return(m_dPEDValues[pe].valueinherit);
            }
            return(m_dPEDValues[pe].value);
        }