public MessageItem2 Move(MessageItem2 msgItem2, string userPK, string forUserCalArchive) { var fieldsOldItem = msgItem2.Fields as Fields; var start = (DateTime)fieldsOldItem.Item(DavidFieldsEnum.SendTime).Value; var end = (DateTime)fieldsOldItem.Item(DavidFieldsEnum.StopTime).Value; var calCreateParams = DavidManager.MessageItem2Creator.CreateCalendarItem(start, end, userPK, forUserCalArchive); var fieldsNewItem = calCreateParams.MessageItem2Object.Fields as Fields; fieldsNewItem.Item(DavidFieldsEnum.AllDayEvent).Value = fieldsOldItem.Item(DavidFieldsEnum.AllDayEvent).Value; fieldsNewItem.Item(DavidFieldsEnum.Content).Value = fieldsOldItem.Item(DavidFieldsEnum.Content).Value; fieldsNewItem.Item(DavidFieldsEnum.HTML).Value = fieldsOldItem.Item(DavidFieldsEnum.HTML).Value; fieldsNewItem.Item(DavidFieldsEnum.Location).Value = fieldsOldItem.Item(DavidFieldsEnum.Location).Value; fieldsNewItem.Item(DavidFieldsEnum.ReminderTime).Value = fieldsOldItem.Item(DavidFieldsEnum.ReminderTime).Value; fieldsNewItem.Item(DavidFieldsEnum.ShowAs).Value = fieldsOldItem.Item(DavidFieldsEnum.ShowAs).Value; fieldsNewItem.Item(DavidFieldsEnum.Subject).Value = fieldsOldItem.Item(DavidFieldsEnum.Subject).Value; // Den neuen Termin zum Repository hinzufügen und im David speichern. DavidManager.DavidTerminRepo.AddMessageItem2(userPK, forUserCalArchive, calCreateParams.MessageItem2Object); calCreateParams.MessageItem2Object.Save(); // Den alten Termin aus dem Repository entfernen und dann im David löschen. DavidManager.DavidTerminRepo.RemoveMessageItem2(userPK, forUserCalArchive, msgItem2); msgItem2.Delete(); return(calCreateParams.MessageItem2Object); }
/// <summary> /// Gibt den Inhalt des angegebenen Felds für die angegebene MessageItem2 Instanz zurück. /// </summary> /// <param name="msgItem2">Die MessageItem2 Instanz.</param> /// <param name="field">Ein Element der <seealso cref="David.DavidFieldsEnum"/> Auflistung.</param> /// <returns></returns> public object GetFieldValue(MessageItem2 msgItem2, DavidFieldsEnum field) { var fields = msgItem2.Fields as Fields; if (fields != null) { return(fields.Item(field).Value); } return(null); }
Guid CreateGuidField(MessageItem2 forMessageItem2) { var fields = (Fields)forMessageItem2.Fields; if (fields.UserFields.Count == 0) { var uid = Products.Common.SequentialGuid.NewID().ToString(); var def = fields.UserFields.CreateDefinition("GUID", DvFieldType.DvFieldText); fields.UserFields.Add(def, uid); return(Guid.Parse(uid)); } return(Guid.Empty); }
/// <summary> /// Erzeugt eine neue Instanz der <seealso cref="MailItem"/> Klasse. /// </summary> /// <param name="baseItem">Die zugrundeliegende <seealso cref="MessageItem2"/> Instanz.</param> public MailItem(MessageItem2 baseItem, string fullName) { this.myBase = baseItem; this.myFullName = fullName; }
/// <summary> /// Erzeugt eine neue Instanz der <seealso cref="CreationParameters"/> Struktur. /// </summary> /// <param name="msgItem2"></param> /// <param name="fileName"></param> /// <param name="uid"></param> public CreationParameters(MessageItem2 msgItem2, string fileName, Guid uid) { this.MessageItem2Object = msgItem2; this.Filename = fileName; this.UID = uid; }
/// <summary> /// Entfernt das angegebene <seealso cref="MessageItem2"/> aus dem internen Dictionary. /// </summary> /// <param name="userPK">Primärschlüssel des Benutzers, dem das MessageItem2 zugeordnet ist.</param> /// <param name="forUserCalArchive">Das Benutzerarchiv, in dem sich das MessageItem2 befindet.</param> /// <param name="messageItem2">Die zu entfernende MessageItem2 Instanz.</param> internal void RemoveMessageItem2(string userPK, string forUserCalArchive, MessageItem2 messageItem2) { this.GetMessageItem2List(userPK, forUserCalArchive).Remove(messageItem2); }
/// <summary> /// Fügt der Terminliste des angegebenen Benutzers den angegebenen Termin hinzu. /// </summary> /// <param name="userPK">Primärschlüssel des Benutzers.</param> /// <param name="userArchivePath">Der Pfad zum Kalendereintrag des Benutzers.</param> /// <param name="newItem2">Die <seealso cref="MessageItem2"/> Instanz mit dem Termin.</param> internal void AddMessageItem2(string userPK, string userArchivePath, MessageItem2 newItem2) { this.GetMessageItem2List(userPK, userArchivePath).Add(newItem2); }