Beispiel #1
0
        /// <summary>
        /// Gets the response action.
        /// </summary>
        /// <param name="responseActionString">The response action string.</param>
        /// <returns></returns>
        private static ResponseActions GetResponseAction(string responseActionString)
        {
            ResponseActions value = ResponseActions.None;

            switch (responseActionString)
            {
            case XmlElementNames.AcceptItem:
                value = ResponseActions.Accept;
                break;

            case XmlElementNames.TentativelyAcceptItem:
                value = ResponseActions.TentativelyAccept;
                break;

            case XmlElementNames.DeclineItem:
                value = ResponseActions.Decline;
                break;

            case XmlElementNames.ReplyToItem:
                value = ResponseActions.Reply;
                break;

            case XmlElementNames.ForwardItem:
                value = ResponseActions.Forward;
                break;

            case XmlElementNames.ReplyAllToItem:
                value = ResponseActions.ReplyAll;
                break;

            case XmlElementNames.CancelCalendarItem:
                value = ResponseActions.Cancel;
                break;

            case XmlElementNames.RemoveItem:
                value = ResponseActions.RemoveFromCalendar;
                break;

            case XmlElementNames.SuppressReadReceipt:
                value = ResponseActions.SuppressReadReceipt;
                break;

            case XmlElementNames.PostReplyItem:
                value = ResponseActions.PostReply;
                break;
            }
            return(value);
        }
        private void ExecuteOtherAction(ResponseActions action)
        {
            switch (action)
            {
            case ResponseActions.None:
                return;

            case ResponseActions.Exit:
                Environment.Exit(0);
                break;

            case ResponseActions.Pause:
                m_Paused = !m_Paused;
                break;

            default:
                throw new ArgumentException(string.Format("ExecuteOtherAction called with wrong argument action = {0}", action));
            }
        }
Beispiel #3
0
        /// <summary>
        /// Loads from XML.
        /// </summary>
        /// <param name="reader">The reader.</param>
        /// <param name="propertyBag">The property bag.</param>
        internal override sealed void LoadPropertyValueFromXml(EwsServiceXmlReader reader, PropertyBag propertyBag)
        {
            ResponseActions value = ResponseActions.None;

            reader.EnsureCurrentNodeIsStartElement(XmlNamespace.Types, this.XmlElementName);

            if (!reader.IsEmptyElement)
            {
                do
                {
                    reader.Read();

                    if (reader.IsStartElement())
                    {
                        value |= GetResponseAction(reader.LocalName);
                    }
                }while (!reader.IsEndElement(XmlNamespace.Types, this.XmlElementName));
            }

            propertyBag[this] = value;
        }
        private void Execute(ResponseActions action)
        {
            if (action.ToString().StartsWith("Key"))
            {
                if (m_Paused)
                {
                    return;
                }
                ExecuteKeyAction(action);
                return;
            }
            if (action.ToString().StartsWith("Mouse"))
            {
                if (m_Paused)
                {
                    return;
                }
                ExecuteMouseAction(action);
                return;
            }

            ExecuteOtherAction(action);
        }
        private void ExecuteMouseAction(ResponseActions action)
        {
            switch (action)
            {
            case ResponseActions.MouseLeftButtonDown:
                //Do Nothing - handled by MoveAction
                break;

            case ResponseActions.MouseLeftButtonUp:
                //Do Nothing - handled by MoveAction
                break;

            case ResponseActions.MouseLeftClick:
                m_InputSimulator.DoLeftClick();
                break;

            case ResponseActions.MouseLeftDoubleClick:
                m_InputSimulator.DoDoubleClick();
                break;

            case ResponseActions.MouseRightButtonDown:
                //Do Nothing - handled by MoveAction
                break;

            case ResponseActions.MouseRightButtonUp:
                //Do Nothing - handled by MoveAction
                break;

            case ResponseActions.MouseRightClick:
                m_InputSimulator.DoRightClick();
                break;

            default:
                throw new ArgumentException(string.Format("ExecuteMouseAction called with wrong argument action = {0}", action));
            }
        }
Beispiel #6
0
        /// <summary>
        /// Loads the property value from json.
        /// </summary>
        /// <param name="value">The JSON value.  Can be a JsonObject, string, number, bool, array, or null.</param>
        /// <param name="service">The service.</param>
        /// <param name="propertyBag">The property bag.</param>
        /// <remarks>
        /// The ResponseActions collection is returned as an array of values of derived ResponseObject types. For example:
        /// "ResponseObjects" : [ { "__type" : "CancelCalendarItem:#Exchange" }, { "__type" : "ForwardItem:#Exchange" } ]
        /// </remarks>
        internal override void LoadPropertyValueFromJson(object value, ExchangeService service, PropertyBag propertyBag)
        {
            ResponseActions responseActionValue = ResponseActions.None;

            object[] jsonResponseActions = value as object[];

            if (jsonResponseActions != null)
            {
                foreach (JsonObject jsonResponseAction in jsonResponseActions.OfType <JsonObject>())
                {
                    if (jsonResponseAction.HasTypeProperty())
                    {
                        string actionString = jsonResponseAction.ReadTypeString();

                        if (!string.IsNullOrEmpty(actionString))
                        {
                            responseActionValue |= GetResponseAction(actionString);
                        }
                    }
                }
            }

            propertyBag[this] = responseActionValue;
        }
        private void ExecuteKeyAction(ResponseActions action)
        {
            switch (action)
            {
            case ResponseActions.KeyArrowDown:
                ExecuteKeyAction(40);
                break;

            case ResponseActions.KeyArrowLeft:
                ExecuteKeyAction(37);
                break;

            case ResponseActions.KeyArrowRight:
                ExecuteKeyAction(39);
                break;

            case ResponseActions.KeyArrowUp:
                ExecuteKeyAction(38);
                break;

            case ResponseActions.KeyDelete:
                ExecuteKeyAction(46);
                break;

            case ResponseActions.KeyEscape:
                ExecuteKeyAction(27);
                break;

            case ResponseActions.KeyF1:
                ExecuteKeyAction(112);
                break;

            case ResponseActions.KeyF2:
                ExecuteKeyAction(113);
                break;

            case ResponseActions.KeyF3:
                ExecuteKeyAction(114);
                break;

            case ResponseActions.KeyF4:
                ExecuteKeyAction(115);
                break;

            case ResponseActions.KeyF5:
                ExecuteKeyAction(116);
                break;

            case ResponseActions.KeyF6:
                ExecuteKeyAction(117);
                break;

            case ResponseActions.KeyF7:
                ExecuteKeyAction(118);
                break;

            case ResponseActions.KeyF8:
                ExecuteKeyAction(119);
                break;

            case ResponseActions.KeyF9:
                ExecuteKeyAction(120);
                break;

            case ResponseActions.KeyF10:
                ExecuteKeyAction(121);
                break;

            case ResponseActions.KeyF11:
                ExecuteKeyAction(122);
                break;

            case ResponseActions.KeyF12:
                ExecuteKeyAction(123);
                break;

            default:
                throw new ArgumentException(string.Format("ExecuteKeyAction called with wrong argument action = {0}", action));
            }
        }
Beispiel #8
0
 public IEnumerable <DbResponseAction> GetActionsForResponse(string responseId)
 {
     return(ResponseActions.Where(r => r.ResponseId == responseId));
 }
Beispiel #9
0
 public ResponseAction(ResponseActions action)
 {
     m_Action = action;
 }