public override string SerializeToString(object obj)
        {
            IFreeBusyEntry entry = obj as IFreeBusyEntry;

            if (entry != null)
            {
                switch (entry.Status)
                {
                case FreeBusyStatus.Busy:
                    entry.Parameters.Remove("FMTYPE");
                    break;

                case FreeBusyStatus.BusyTentative:
                    entry.Parameters.Set("FMTYPE", "BUSY-TENTATIVE");
                    break;

                case FreeBusyStatus.BusyUnavailable:
                    entry.Parameters.Set("FMTYPE", "BUSY-UNAVAILABLE");
                    break;

                case FreeBusyStatus.Free:
                    entry.Parameters.Set("FMTYPE", "FREE");
                    break;
                }
            }

            return(base.SerializeToString(obj));
        }
        public override object Deserialize(TextReader tr)
        {
            IFreeBusyEntry entry = base.Deserialize(tr) as IFreeBusyEntry;

            if (entry != null)
            {
                if (entry.Parameters.ContainsKey("FMTYPE"))
                {
                    string value = entry.Parameters.Get("FMTYPE");
                    if (value != null)
                    {
                        switch (value.ToUpperInvariant())
                        {
                        case "FREE": entry.Status = FreeBusyStatus.Free; break;

                        case "BUSY": entry.Status = FreeBusyStatus.Busy; break;

                        case "BUSY-UNAVAILABLE": entry.Status = FreeBusyStatus.BusyUnavailable; break;

                        case "BUSY-TENTATIVE": entry.Status = FreeBusyStatus.BusyTentative; break;

                        default: break;
                        }
                    }
                }
            }

            return(entry);
        }
Exemple #3
0
        public override void CopyFrom(ICopyable obj)
        {
            base.CopyFrom(obj);

            IFreeBusyEntry fb = obj as IFreeBusyEntry;

            if (fb != null)
            {
                Status = fb.Status;
            }
        }