Exemple #1
0
 public StudyAutoRouteActionItem(string device, DateTime startTime, QCStatusEnum e)
     : base("Study AutoRoute Action")
 {
     _device       = device;
     _startTime    = startTime;
     _qcStatusEnum = e;
 }
Exemple #2
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="context">A contentxt in which to apply the AutoRoute request.</param>
        /// <param name="device">The AE Title of the device to AutoRoute to.</param>
        /// <param name="e">An option required QC StatusEnum value</param>
        public InsertStudyAutoRouteCommand(ServerActionContext context, string device, QCStatusEnum e)
            : base("Update/Insert an AutoRoute WorkQueue Entry")
        {
            Platform.CheckForNullReference(context, "ServerActionContext");

            _context  = context;
            _deviceAe = device;
            _qcStatus = e;
        }
        public IActionItem <ServerActionContext> Compile(XmlElement xmlNode)
        {
            if (xmlNode.Attributes["device"] == null)
            {
                throw new XmlActionCompilerException("Unexpected missing device attribute for auto-route action");
            }

            string       device         = xmlNode.Attributes["device"].Value;
            double?      delayInMinutes = null;
            QCStatusEnum qcEnum         = null;

            if (xmlNode.Attributes["delayInMinutes"] != null)
            {
                string delayString = xmlNode.Attributes["delayInMinutes"].Value;
                delayInMinutes = Double.Parse(delayString);
            }
            if (xmlNode.Attributes["qcStatus"] != null)
            {
                string qcStatusString = xmlNode.Attributes["qcStatus"].Value;
                if (QCStatusEnum.Failed.Description.Equals(qcStatusString))
                {
                    qcEnum = QCStatusEnum.Failed;
                }
                else if (QCStatusEnum.Incomplete.Description.Equals(qcStatusString))
                {
                    qcEnum = QCStatusEnum.Incomplete;
                }
                else if (QCStatusEnum.NA.Description.Equals(qcStatusString))
                {
                    qcEnum = QCStatusEnum.NA;
                }
                else if (QCStatusEnum.Passed.Description.Equals(qcStatusString))
                {
                    qcEnum = QCStatusEnum.Passed;
                }
            }

            if ((xmlNode.Attributes["startTime"] != null) &&
                (xmlNode.Attributes["endTime"] != null))
            {
                DateTime startTime;
                if (!DateTime.TryParseExact(xmlNode.Attributes["startTime"].Value, "HH:mm:ss",
                                            CultureInfo.InvariantCulture, DateTimeStyles.None,
                                            out startTime))
                {
                    throw new XmlActionCompilerException("Incorrect format of startTime: " + xmlNode.Attributes["startTime"].Value);
                }

                DateTime endTime;
                if (!DateTime.TryParseExact(xmlNode.Attributes["endTime"].Value, "HH:mm:ss",
                                            CultureInfo.InvariantCulture, DateTimeStyles.None,
                                            out endTime))
                {
                    throw new XmlActionCompilerException("Incorrect format of endTime: " + xmlNode.Attributes["endTime"].Value);
                }

                return(new StudyAutoRouteActionItem(device, startTime, endTime, qcEnum));
            }
            if ((xmlNode.Attributes["startTime"] == null) &&
                (xmlNode.Attributes["endTime"] != null))
            {
                throw new XmlActionCompilerException("Unexpected missing startTime attribute for study-auto-route action");
            }
            if ((xmlNode.Attributes["startTime"] != null) &&
                (xmlNode.Attributes["endTime"] == null))
            {
                throw new XmlActionCompilerException("Unexpected missing endTime attribute for study-auto-route action");
            }

            if (delayInMinutes != null)
            {
                return(new StudyAutoRouteActionItem(device, Platform.Time.AddMinutes(delayInMinutes.Value), qcEnum));
            }

            return(new StudyAutoRouteActionItem(device, qcEnum));
        }
Exemple #4
0
 public StudyAutoRouteActionItem(string device, QCStatusEnum e)
     : base("Study AutoRoute Action")
 {
     _device       = device;
     _qcStatusEnum = e;
 }