Beispiel #1
0
        /// <summary>
        /// Esimated Finishing Time (by Download Time)
        /// </summary>
        private TimeSpan GetEftByDownloadTime(TimeSpan frameTime)
        {
            if (DownloadTime.IsUnknown())
            {
                return(TimeSpan.Zero);
            }

            if (FinishedTime.IsKnown())
            {
                return(FinishedTime.Subtract(DownloadTime));
            }

            // Issue 156 - ETA must be a positive TimeSpan
            // Issue 134 - Since fixing Issue 156 it appears that once most
            // bigadv units finish their last frame they would be assigned a
            // Zero EFT since their ETA values would have been zero and they
            // had not yet written the FinishedTime to the queue.dat file.
            // In light of this I've added the AllFramesAreCompleted property.
            // Now, if ETA is Zero and AllFramesAreCompleted == false, the EFT
            // will be Zero.  Otherwise, it will be given a value of the
            // (UnitRetrievalTime plus ETA) minus the DownloadTime.
            TimeSpan eta = GetEta(frameTime);

            if (eta.IsZero() && AllFramesCompleted == false)
            {
                return(TimeSpan.Zero);
            }

            return(_unitInfo.UnitRetrievalTime.Add(eta).Subtract(DownloadTime));
        }
Beispiel #2
0
        /// <summary>
        /// Сохранить этапы
        /// </summary>
        /// <param name="doc">Докумен в который выполнять сохранение этапов</param>
        /// <returns>Узел в котором сохранены этапы работы</returns>
        public XmlNode Serialize(XmlDocument doc)
        {
            try
            {
                XmlNode root = doc.CreateElement(rootName);

                XmlNode numberNode     = doc.CreateElement(numberName);
                XmlNode data_beginNode = doc.CreateElement(data_beginName);

                XmlNode data_endNode = doc.CreateElement(data_endName);
                XmlNode name_stgNode = doc.CreateElement(name_stgName);

                XmlNode volume_stgNode = doc.CreateElement(volume_stgName);
                XmlNode volume_allNode = doc.CreateElement(volume_allName);

                XmlNode const_volNode = doc.CreateElement(const_volName);
                XmlNode const_sumNode = doc.CreateElement(const_sumName);

                numberNode.InnerText     = number.ToString();
                data_beginNode.InnerText = StartTime.AddSeconds(3).ToString();

                if (State == StageState.Finished)
                {
                    data_endNode.InnerText = FinishedTime.ToString();
                }

                volume_stgNode.InnerText = Volume.ToString();
                volume_allNode.InnerText = ProccessVolume.ToString();

                const_volNode.InnerText = constVolume.ToString();
                const_sumNode.InnerText = TotalVolume.ToString();

                name_stgNode.InnerText = name_stg;

                root.AppendChild(numberNode);
                root.AppendChild(data_beginNode);

                root.AppendChild(data_endNode);
                root.AppendChild(name_stgNode);

                root.AppendChild(volume_stgNode);
                root.AppendChild(volume_allNode);

                root.AppendChild(const_volNode);
                root.AppendChild(const_sumNode);

                return(root);
            }
            catch { }
            return(null);
        }
Beispiel #3
0
        private TimeSpan GetUnitTimeByDownloadTime(TimeSpan frameTime)
        {
            if (DownloadTime.IsUnknown())
            {
                return(TimeSpan.Zero);
            }
            if (FinishedTime.IsKnown())
            {
                return(FinishedTime.Subtract(DownloadTime));
            }

            // If ETA is Zero and AllFramesAreCompleted == false, the Unit Time
            // will be Zero.  Otherwise, it will be given a value of the
            // (UnitRetrievalTime plus ETA) minus the DownloadTime.
            TimeSpan eta = GetEta(frameTime);

            if (eta == TimeSpan.Zero && AllFramesCompleted == false)
            {
                return(TimeSpan.Zero);
            }

            return(_unitInfo.UnitRetrievalTime.Add(eta).Subtract(DownloadTime));
        }
Beispiel #4
0
        public override int GetHashCode()
        {
            unchecked
            {
                int hashCode = Key != null?Key.GetHashCode() : 0;

                hashCode = (hashCode * 397) ^ (AlarmStation != null ? AlarmStation.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (ReceiveTime != null ? ReceiveTime.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (Id != null ? Id.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ AlarmLevel;
                hashCode = (hashCode * 397) ^ (CallerName != null ? CallerName.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (CallerTelephoneNumber != null ? CallerTelephoneNumber.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (Subject != null ? Subject.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (Location != null ? Location.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (AdditionalInformation != null ? AdditionalInformation.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (StatusText != null ? StatusText.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (WatchOutTime != null ? WatchOutTime.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (SirenProgram != null ? SirenProgram.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (FinishedTime != null ? FinishedTime.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (FireBrigades != null ? FireBrigades.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ Index;
                return(hashCode);
            }
        }