コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: DavidService.cs プロジェクト: AxlOnGit/Catalist
        /// <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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
ファイル: MailItem.cs プロジェクト: AxlOnGit/Catalist
 /// <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;
 }
コード例 #5
0
 /// <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;
 }
コード例 #6
0
 /// <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);
 }
コード例 #7
0
 /// <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);
 }