Ejemplo n.º 1
0
        public void SortContents(int sortColumn, bool sortAscending)
        {
            try {
                int num = fContentList.Count;
                for (int i = 0; i < num; i++)
                {
                    ValItem      valItem = fContentList[i];
                    GEDCOMRecord rec     = valItem.Record;

                    if (sortColumn == 0)
                    {
                        valItem.ColumnValue = rec.GetId();
                    }
                    else
                    {
                        Fetch(rec);
                        valItem.ColumnValue = GetColumnInternalValue(sortColumn);
                    }
                }

                fXSortFactor = (sortAscending ? 1 : -1);
                ListTimSort <ValItem> .Sort(fContentList, CompareItems);
            } catch (Exception ex) {
                Logger.LogWrite("ListManager.SortContents(): " + ex.Message);
            }
        }
Ejemplo n.º 2
0
        public static bool DeleteRecord(IBaseWindow baseWin, GEDCOMRecord record, bool confirm)
        {
            bool result = false;

            if (record != null)
            {
                string msg = "";
                switch (record.RecordType)
                {
                case GEDCOMRecordType.rtIndividual:
                    msg = string.Format(LangMan.LS(LSID.LSID_PersonDeleteQuery), GKUtils.GetNameString(((GEDCOMIndividualRecord)record), true, false));
                    break;

                case GEDCOMRecordType.rtFamily:
                    msg = string.Format(LangMan.LS(LSID.LSID_FamilyDeleteQuery), GKUtils.GetFamilyString((GEDCOMFamilyRecord)record));
                    break;

                case GEDCOMRecordType.rtNote:
                {
                    string value = GKUtils.TruncateStrings(((GEDCOMNoteRecord)(record)).Note, GKData.NOTE_NAME_MAX_LENGTH);
                    if (string.IsNullOrEmpty(value))
                    {
                        value = string.Format("#{0}", record.GetId().ToString());
                    }
                    msg = string.Format(LangMan.LS(LSID.LSID_NoteDeleteQuery), value);
                    break;
                }

                case GEDCOMRecordType.rtMultimedia:
                    msg = string.Format(LangMan.LS(LSID.LSID_MediaDeleteQuery), ((GEDCOMMultimediaRecord)record).GetFileTitle());
                    break;

                case GEDCOMRecordType.rtSource:
                    msg = string.Format(LangMan.LS(LSID.LSID_SourceDeleteQuery), ((GEDCOMSourceRecord)record).FiledByEntry);
                    break;

                case GEDCOMRecordType.rtRepository:
                    msg = string.Format(LangMan.LS(LSID.LSID_RepositoryDeleteQuery), ((GEDCOMRepositoryRecord)record).RepositoryName);
                    break;

                case GEDCOMRecordType.rtGroup:
                    msg = string.Format(LangMan.LS(LSID.LSID_GroupDeleteQuery), ((GEDCOMGroupRecord)record).GroupName);
                    break;

                case GEDCOMRecordType.rtResearch:
                    msg = string.Format(LangMan.LS(LSID.LSID_ResearchDeleteQuery), ((GEDCOMResearchRecord)record).ResearchName);
                    break;

                case GEDCOMRecordType.rtTask:
                    msg = string.Format(LangMan.LS(LSID.LSID_TaskDeleteQuery), GKUtils.GetTaskGoalStr((GEDCOMTaskRecord)record));
                    break;

                case GEDCOMRecordType.rtCommunication:
                    msg = string.Format(LangMan.LS(LSID.LSID_CommunicationDeleteQuery), ((GEDCOMCommunicationRecord)record).CommName);
                    break;

                case GEDCOMRecordType.rtLocation:
                    msg = string.Format(LangMan.LS(LSID.LSID_LocationDeleteQuery), ((GEDCOMLocationRecord)record).LocationName);
                    break;
                }

                if (confirm && AppHost.StdDialogs.ShowQuestionYN(msg))
                {
                    result = baseWin.Context.DeleteRecord(record);
                }
            }

            return(result);
        }