/// <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)); }
/// <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); }
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)); }
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); } }