internal void Commit() { if (base.Changed) { this.MedOrganizerItem.Delete(); Console.WriteLine(this.Items.Length); for (int i = 0; i < this.Items.Length; i++) { CEntryItem.EDataType dataType = this.Items[i].DataType; if (dataType != CEntryItem.EDataType.Number) { switch (dataType) { case CEntryItem.EDataType.Description: this.MedOrganizerItem.Description = (this.Items[i].Data as CEntryItem.CData.CTextData).Text; break; case CEntryItem.EDataType.Summary: this.MedOrganizerItem.Summary = (this.Items[i].Data as CEntryItem.CData.CTextData).Text; break; case CEntryItem.EDataType.Location: this.MedOrganizerItem.Location = (this.Items[i].Data as CEntryItem.CData.CTextData).Text; break; default: switch (dataType) { case CEntryItem.EDataType.AlarmTime: this.MedOrganizerItem.SetAudioAlarmTimestamp(2, (this.Items[i].Data as CEntryItem.CData.CTimeData).Time); break; case CEntryItem.EDataType.CompletedTime: this.MedOrganizerItem.SetCompletedTimestamp(1, (this.Items[i].Data as CEntryItem.CData.CTimeData).Time); break; case CEntryItem.EDataType.DueToTime: this.MedOrganizerItem.SetDueToTimestamp(1, (this.Items[i].Data as CEntryItem.CData.CTimeData).Time); break; case CEntryItem.EDataType.EndTime: this.MedOrganizerItem.SetEndTimestamp(1, (this.Items[i].Data as CEntryItem.CData.CTimeData).Time); break; case CEntryItem.EDataType.StartTime: this.MedOrganizerItem.SetStartTimestamp(1, (this.Items[i].Data as CEntryItem.CData.CTimeData).Time); break; } break; } } else { this.MedOrganizerItem.PhoneNumber = (this.Items[i].Data as CEntryItem.CData.CNumberData).Number; } } this.MedOrganizerItem.Type = (int)(base.Parent as COrganizerEntries).Type; this.MedOrganizerItem.Save(); } }
public CEntryItem(CItem parent, CEntryItem.EDataType[] supportedTypes) : base(parent) { if (!(parent is CEntry)) { parent = null; throw new Exception("Internal error"); } this.DataType = CEntryItem.EDataType.Empty; this.SupportedTypes = supportedTypes; }
internal CAddressData(CItem parent, CEntryItem.EDataType type, CEntryItem.CDescriptor entryDescriptor) : base(parent) { this.StreetMaxLength = entryDescriptor.MaxDataLengths[CEntryItem.EDataType.Street]; this.StateMaxLength = entryDescriptor.MaxDataLengths[CEntryItem.EDataType.State]; this.CityMaxLength = entryDescriptor.MaxDataLengths[CEntryItem.EDataType.City]; this.POBoxMaxLength = entryDescriptor.MaxDataLengths[CEntryItem.EDataType.POBox]; this.ZipMaxLength = entryDescriptor.MaxDataLengths[CEntryItem.EDataType.Zip]; this.CountryMaxLength = entryDescriptor.MaxDataLengths[CEntryItem.EDataType.Country]; this.AddrextMaxLength = entryDescriptor.MaxDataLengths[CEntryItem.EDataType.Addrext]; }
public override XmlElement XmlDump(XmlDocument xmlDocument) { XmlElement xmlElement = base.XmlDump(xmlDocument); CEntryItem.EDataType[][] dataTypes = this.DataTypes; for (int i = 0; i < dataTypes.Length; i++) { CEntryItem.EDataType[] array = dataTypes[i]; XmlElement xmlElement2 = xmlDocument.CreateElement("item"); CEntryItem.EDataType[] array2 = array; for (int j = 0; j < array2.Length; j++) { CEntryItem.EDataType eDataType = array2[j]; XmlElement xmlElement3 = xmlDocument.CreateElement("data"); xmlElement3.SetAttribute("Type", eDataType.ToString()); xmlElement3.SetAttribute("MaxLength", this.MaxDataLengths[eDataType].ToString()); xmlElement2.AppendChild(xmlElement3); } xmlElement.AppendChild(xmlElement2); } return(xmlElement); }
public CEntryItem FindItemThatSupports(CEntryItem.EDataType type) { return(this.Find((CEntryItem item) => Array.IndexOf <CEntryItem.EDataType>(item.SupportedTypes, type) >= 0)); }
public CEntryItem FindItemByType(CEntryItem.EDataType type) { return(this.Find((CEntryItem item) => item.DataType == type)); }
public List <CEntryItem> FindItemsByType(CEntryItem.EDataType type) { return(this.FindAll((CEntryItem item) => item.DataType == type)); }
public CEntryDescriptor(CItem parent, IOrganizer organizer) : base(parent) { if (!(parent is COrganizerEntries)) { throw new Exception("Internal error"); } int num = COrganizerEntries.CEntryDescriptor.entryTypes.Length; if (organizer.SupportsAudioAlarmTimestamp == 0) { num--; } if (organizer.SupportsCompletedTimestamp == 0) { num--; } if (organizer.SupportsDueToTimestamp == 0) { num--; } if (organizer.SupportsEndTimestamp == 0) { num--; } if (organizer.SupportsStartTimestamp == 0) { num--; } if (organizer.DescriptionCharacters == 0) { num--; } if (organizer.LocationCharacters == 0) { num--; } if (organizer.SummaryCharacters == 0) { num--; } this._MaxDataLengths = new Dictionary <CEntryItem.EDataType, int>(); this._DataTypes = new CEntryItem.EDataType[num][]; int num2 = 0; for (int i = 0; i < COrganizerEntries.CEntryDescriptor.entryTypes.Length; i++) { bool flag = true; CEntryItem.EDataType eDataType = COrganizerEntries.CEntryDescriptor.entryTypes[i]; if (eDataType != CEntryItem.EDataType.Number) { switch (eDataType) { case CEntryItem.EDataType.Description: if (organizer.DescriptionCharacters == 0) { flag = false; } this._MaxDataLengths[COrganizerEntries.CEntryDescriptor.entryTypes[i]] = organizer.DescriptionCharacters; break; case CEntryItem.EDataType.Summary: if (organizer.SummaryCharacters == 0) { flag = false; } this._MaxDataLengths[COrganizerEntries.CEntryDescriptor.entryTypes[i]] = organizer.SummaryCharacters; break; case CEntryItem.EDataType.Location: if (organizer.LocationCharacters == 0) { flag = false; } this._MaxDataLengths[COrganizerEntries.CEntryDescriptor.entryTypes[i]] = organizer.LocationCharacters; break; default: switch (eDataType) { case CEntryItem.EDataType.AlarmTime: flag = (organizer.SupportsAudioAlarmTimestamp != 0); this._MaxDataLengths[COrganizerEntries.CEntryDescriptor.entryTypes[i]] = 65536; break; case CEntryItem.EDataType.CompletedTime: flag = (organizer.SupportsCompletedTimestamp != 0); this._MaxDataLengths[COrganizerEntries.CEntryDescriptor.entryTypes[i]] = 65536; break; case CEntryItem.EDataType.DueToTime: flag = (organizer.SupportsDueToTimestamp != 0); this._MaxDataLengths[COrganizerEntries.CEntryDescriptor.entryTypes[i]] = 65536; break; case CEntryItem.EDataType.EndTime: flag = (organizer.SupportsEndTimestamp != 0); this._MaxDataLengths[COrganizerEntries.CEntryDescriptor.entryTypes[i]] = 65536; break; case CEntryItem.EDataType.StartTime: flag = (organizer.SupportsStartTimestamp != 0); this._MaxDataLengths[COrganizerEntries.CEntryDescriptor.entryTypes[i]] = 65536; break; } break; } } else { this._MaxDataLengths[COrganizerEntries.CEntryDescriptor.entryTypes[i]] = 15; } if (flag) { this._DataTypes[num2] = new CEntryItem.EDataType[1]; this._MaxDataLengths[CEntryItem.EDataType.Empty] = 0; this._DataTypes[num2][0] = COrganizerEntries.CEntryDescriptor.entryTypes[i]; num2++; } } }
internal CPhonebookEntry(CItem parent, IPhonebookItem medPhonebookItem) : base(parent) { if (!(parent is CPhonebookEntries)) { throw new Exception("Internal error"); } this.EntryDescriptor = ((CPhonebook)base.Parent.Parent).EntryDescriptor; this.MedPhonebookItem = medPhonebookItem; this.Items = new CEntryItem[this.EntryDescriptor.DataTypes.Length]; for (int i = 0; i < this.Items.Length; i++) { this.Items[i] = new CEntryItem(this, this.EntryDescriptor.DataTypes[i]); } if (!((CPhonebook)base.Parent.Parent).MergedLabels.HasValue || !((CPhonebook)base.Parent.Parent).MergedLabels.Value) { for (int j = 0; j < this.EntryDescriptor.DataTypes.Length; j++) { if (this.Items[j].DataType == CEntryItem.EDataType.Empty && Array.IndexOf <CEntryItem.EDataType>(this.EntryDescriptor.DataTypes[j], CEntryItem.EDataType.Label) >= 0) { this.Items[j].DataType = CEntryItem.EDataType.Label; if (this.Items[j].Data is CEntryItem.CData.CTextData) { CEntryItem.CData.CTextData cTextData = (CEntryItem.CData.CTextData) this.Items[j].Data; cTextData._Text = this.MedPhonebookItem.Label; } } } } int itemCount = this.MedPhonebookItem.ItemCount; for (int k = 1; k <= itemCount; k++) { CEntryItem.EDataType itemType = (CEntryItem.EDataType) this.MedPhonebookItem.GetItemType(k); int l = 0; while (l < this.EntryDescriptor.DataTypes.Length) { if (this.Items[l].DataType == CEntryItem.EDataType.Empty && Array.IndexOf <CEntryItem.EDataType>(this.EntryDescriptor.DataTypes[l], itemType) >= 0) { this.Items[l].DataType = itemType; if (this.Items[l].Data is CEntryItem.CData.CAddressData) { CEntryItem.CData.CAddressData cAddressData = (CEntryItem.CData.CAddressData) this.Items[l].Data; IPhonebookAddress phonebookAddress = (IPhonebookAddress)this.MedPhonebookItem.GetItemAddress(k); cAddressData._Addrext = phonebookAddress.GetText(531); cAddressData._Street = phonebookAddress.GetText(527); cAddressData._City = phonebookAddress.GetText(523); cAddressData._Country = phonebookAddress.GetText(530); cAddressData._POBox = phonebookAddress.GetText(527); cAddressData._State = phonebookAddress.GetText(524); cAddressData._Zip = phonebookAddress.GetText(525); } if (this.Items[l].Data is CEntryItem.CData.CTextData) { CEntryItem.CData.CTextData cTextData2 = (CEntryItem.CData.CTextData) this.Items[l].Data; cTextData2._Text = this.MedPhonebookItem.GetItemText(k); } if (this.Items[l].Data is CEntryItem.CData.CNumberData) { CEntryItem.CData.CNumberData cNumberData = (CEntryItem.CData.CNumberData) this.Items[l].Data; cNumberData._Number = this.MedPhonebookItem.GetItemText(k); } if (!(this.Items[l].Data is CEntryItem.CData.CTimeData)) { break; } CEntryItem.CData.CTimeData cTimeData = (CEntryItem.CData.CTimeData) this.Items[l].Data; int num; cTimeData._Time = this.MedPhonebookItem.GetItemTimestamp(k, out num); if (num == 0) { this.Items[l].DataType = CEntryItem.EDataType.Empty; break; } break; } else { l++; } } } this._Changed = false; }
internal COrganizerEntry(CItem parent, IOrganizerItem medOrganizerItem, CEntryItem.CDescriptor entryDescriptor) : base(parent) { if (!(parent is COrganizerEntries)) { throw new Exception("Internal error"); } this.EntryDescriptor = entryDescriptor; this.Items = new CEntryItem[this.EntryDescriptor.DataTypes.Length]; this.MedOrganizerItem = medOrganizerItem; for (int i = 0; i < this.EntryDescriptor.DataTypes.Length; i++) { CEntryItem.EDataType eDataType = this.EntryDescriptor.DataTypes[i][0]; this.Items[i] = new CEntryItem(this, this.EntryDescriptor.DataTypes[i]); this.Items[i].DataType = eDataType; int num = 1; try { CEntryItem.EDataType eDataType2 = eDataType; if (eDataType2 != CEntryItem.EDataType.Number) { switch (eDataType2) { case CEntryItem.EDataType.Description: (this.Items[i].Data as CEntryItem.CData.CTextData).Text = this.MedOrganizerItem.Description; if (this.MedOrganizerItem.Description == "") { num = 0; } break; case CEntryItem.EDataType.Summary: (this.Items[i].Data as CEntryItem.CData.CTextData).Text = this.MedOrganizerItem.Summary; if (this.MedOrganizerItem.Summary == "") { num = 0; } break; case CEntryItem.EDataType.Location: (this.Items[i].Data as CEntryItem.CData.CTextData).Text = this.MedOrganizerItem.Location; if (this.MedOrganizerItem.Location == "") { num = 0; } break; default: switch (eDataType2) { case CEntryItem.EDataType.AlarmTime: { int num2; (this.Items[i].Data as CEntryItem.CData.CTimeData).Time = this.MedOrganizerItem.GetAudioAlarmTimestamp(out num2); if (num2 == 0) { num = 0; } break; } case CEntryItem.EDataType.CompletedTime: (this.Items[i].Data as CEntryItem.CData.CTimeData).Time = this.MedOrganizerItem.GetCompletedTimestamp(out num); break; case CEntryItem.EDataType.DueToTime: (this.Items[i].Data as CEntryItem.CData.CTimeData).Time = this.MedOrganizerItem.GetDueToTimestamp(out num); break; case CEntryItem.EDataType.EndTime: (this.Items[i].Data as CEntryItem.CData.CTimeData).Time = this.MedOrganizerItem.GetEndTimestamp(out num); break; case CEntryItem.EDataType.StartTime: (this.Items[i].Data as CEntryItem.CData.CTimeData).Time = this.MedOrganizerItem.GetStartTimestamp(out num); break; } break; } } else { (this.Items[i].Data as CEntryItem.CData.CNumberData).Number = this.MedOrganizerItem.PhoneNumber; if (this.MedOrganizerItem.PhoneNumber == "") { num = 0; } } if (num == 0) { this.Items[i].DataType = CEntryItem.EDataType.Empty; } } catch (Exception ex) { Console.WriteLine(this.ToString() + " : [ " + ex.Message + " ]"); this.Items[i].DataType = CEntryItem.EDataType.Empty; } } this._Changed = false; }
internal CEntryDescriptor(CItem parent, IPhonebookDescription medPhonebookDescription) : base(parent) { if (!(parent is CPhonebook)) { throw new Exception("Internal error"); } this._MaxDataLengths = new Dictionary <CEntryItem.EDataType, int>(); bool flag = false; CEntryItem.EDataType[] array = CPhonebook.CEntryDescriptor.addressTypes; for (int i = 0; i < array.Length; i++) { CEntryItem.EDataType lType = array[i]; int num; medPhonebookDescription.IsTypeSupported((int)lType, out num); if (num != 0) { flag = true; } } if (flag) { CEntryItem.EDataType[] array2 = CPhonebook.CEntryDescriptor.addressItems; for (int j = 0; j < array2.Length; j++) { CEntryItem.EDataType eDataType = array2[j]; int value; medPhonebookDescription.GetTypeCharacters((int)eDataType, out value); if (!base.MaxDataLengths.ContainsKey(eDataType)) { base.MaxDataLengths[eDataType] = value; } } } int num2 = 0; int groupsCount = medPhonebookDescription.GroupsCount; for (int k = 1; k <= groupsCount; k++) { num2 += medPhonebookDescription.GetGroupPositions(k); } bool flag2 = ((CPhonebook)parent).MergedLabels.HasValue && ((CPhonebook)parent).MergedLabels.Value; if (!flag2) { num2++; } CEntryItem.EDataType[][] array3 = new CEntryItem.EDataType[num2][]; int num3 = 0; if (!flag2) { array3[num3] = new CEntryItem.EDataType[1]; array3[num3][0] = CEntryItem.EDataType.Label; base.MaxDataLengths[CEntryItem.EDataType.Label] = medPhonebookDescription.LabelCharacters; num3++; } for (int l = 1; l <= groupsCount; l++) { int groupPositions = medPhonebookDescription.GetGroupPositions(l); for (int m = 1; m <= groupPositions; m++) { int groupTypes = medPhonebookDescription.GetGroupTypes(l); array3[num3] = new CEntryItem.EDataType[groupTypes]; for (int n = 1; n <= groupTypes; n++) { CEntryItem.EDataType groupType = (CEntryItem.EDataType)medPhonebookDescription.GetGroupType(l, n); if (!base.MaxDataLengths.ContainsKey(groupType)) { int value2; medPhonebookDescription.GetTypeCharacters((int)groupType, out value2); base.MaxDataLengths[groupType] = value2; } array3[num3][n - 1] = groupType; if (Array.IndexOf <CEntryItem.EDataType>(CPhonebook.CEntryDescriptor.addressItems, groupType) >= 0) { num3--; break; } } num3++; } } this._DataTypes = new CEntryItem.EDataType[num3][]; for (int num4 = 0; num4 < num3; num4++) { this._DataTypes[num4] = array3[num4]; } }
internal CNumberData(CItem parent, CEntryItem.EDataType type, CEntryItem.CDescriptor entryDescriptor) : base(parent) { this.MaxLength = entryDescriptor.MaxDataLengths[type]; }
internal CTimeData(CItem parent, CEntryItem.EDataType type, CEntryItem.CDescriptor entryDescriptor) : base(parent) { }