public static ChannelSearchResult FindByNameAndVariable(string name, Variable v) { ChannelSearchResult result; //TODO: try to use delegates in future version to eliminate duplicate code ChannelList channels = ChannelManager.GetListByStationNameAndVariable(name, v.Id); if (channels != null) { result = new ChannelSearchResult(channels); return result; } MessageWriter writer = new MessageWriter(); writer.VariableName = v.Name; StationList stations = StationManager.GetListByName(name); if (stations != null) { result = new ChannelSearchResult(stations); writer.StationName = stations[0].Name; result.ErrorMessage = writer.WriteErrorMessage(MessageType.NoStationVariable); return result; } result = new ChannelSearchResult(); result.ErrorMessage = writer.WriteErrorMessage(MessageType.NoStation); return result; }
public Channel(int id, Station st, Variable var, TimeInterval availableData) { _id = id; _station = st; _variable = var; _availableData = availableData; _stId = _station.Id; _varId = _variable.Id; }
public static ChannelSearchResult FindByStationIdAndVariable(int stId, Variable v) { ChannelSearchResult result; bool foundChannel = false; //bool foundStation = false; ChannelList channels = ChannelManager.GetListByStationAndVariable(stId, v.Id); if (channels.Count > 0) { result = new ChannelSearchResult(channels); foundChannel = true; return result; } //if the requested variable is daily precipitation - try to find //hourly precipitation instead if (foundChannel == false && v.VarEnum == VariableEnum.Precip) { //"1" means "hourly precipitation" channels = ChannelManager.GetListByStationAndVariable(stId, 1); if (channels.Count > 0) { foundChannel = true; foreach (Channel ch in channels) { ch.Variable = VariableManager.GetItemByEnum(VariableEnum.Precip); } result = new ChannelSearchResult(channels); return result; } } //channel not found --> search if a a station exists MessageWriter writer = new MessageWriter(); writer.VariableName = v.Name; Station station = StationManager.GetItemById(stId, false); if (station != null) { result = new ChannelSearchResult(); result.Stations.Add(station); writer.StationName = station.Name; result.ErrorMessage = writer.WriteErrorMessage(MessageType.NoStationVariable); return result; } result = new ChannelSearchResult(); result.ErrorMessage = writer.WriteErrorMessage(MessageType.NoStation); return result; }
public bool Equals(Variable v) { // If parameter is null return false: if ( (object) v == null ) { return false; } // Return true if the fields match: return ( Id == v.Id ); }
/// <summary> /// finds out if the station measures a specified variable /// </summary> public bool HasVariable(Variable var) { if (_variables != null) { return (Variables.Contains(var)); } else { return false; } }
public static Variable ChangeCulture(Variable v, CultureInfo cult) { return new Variable(selectRow(CultureHelper.CultureToShortString(cult), "var_id=" + v.Id)); }
private void ValidateVariable() { string varUrl; if ( _queryString["var"] != null ) { varUrl = _queryString["var"]; Variable var = VariableManager.GetItemByUrl(varUrl); if ( var.IsValid ) { _variable = var; _isValidVariable = true; } else { _errorMessage = _writer.WriteErrorMessage(MessageType.NoVariable); } } else { _variable = VariableManager.GetItemByEnum(VariableEnum.Stage); //default variable } }
//this station is displayed on initial pages //with no station specified private string getDefaultStationUrl(Variable v) { VariableEnum varEnum = v.VarEnum; string stUrl; switch ( varEnum ) { case VariableEnum.Snow: stUrl = "lysa_hora"; break; case VariableEnum.Stage: stUrl = "morava/straznice"; break; case VariableEnum.Discharge: stUrl = "morava/straznice"; break; case VariableEnum.Precip: stUrl = "churanov"; break; default: stUrl = "primda"; break; } return stUrl; }
// function to validate variable id and set the value of //_VarEnum private void ValidateVariable(string str) { if ( _IsValid ) { Variable var = VariableManager.GetItemByShortName(str); if ( var.IsValid ) { _var = var; } else { _IsValid = false; _message = MessageType.NoVariable; // "Bad variable specified!"; } } }
private void SetupAxis(GraphPane myPane, Variable var, DateTime minDate, DateTime maxDate) { //setup font for axis name and tick marks text int scaleFontSize = 16; int titleFontSize = 18; // X axis ZedGraph.Axis myXAxis = myPane.XAxis; myXAxis.Type = AxisType.Date; myXAxis.Scale.Min = XDate.DateTimeToXLDate(minDate); myXAxis.Scale.Max = XDate.DateTimeToXLDate(maxDate); myXAxis.Scale.FontSpec.Size = scaleFontSize; myPane.XAxis.Title.FontSpec.Size = titleFontSize; // Y axis ZedGraph.Axis myYAxis = myPane.YAxis; if (var.VarEnum != VariableEnum.Temperature) { myYAxis.Scale.Min = 0; } myYAxis.Scale.FontSpec.Size = scaleFontSize; myYAxis.Title.FontSpec.Size = titleFontSize; //special Y axis for temperature // special Y axis for discharge if (var.VarEnum == VariableEnum.Discharge) { char exp3 = (char)179; myYAxis.Title.Text = string.Format("{0} (m{1}/s)", var.Name, exp3); } else { myYAxis.Title.Text = var.Name + " (" + var.Units + ")"; } // Y2 axis - setup for cumulative precipitation if ( var.VarEnum == VariableEnum.Precip || var.VarEnum == VariableEnum.PrecipHour ) { ZedGraph.Axis myY2Axis = myPane.Y2Axis; myY2Axis.Scale.Min = 0; myY2Axis.Scale.FontSpec.Size = scaleFontSize; myY2Axis.Title.Text = Resources.precip_sum_axis; myY2Axis.Title.FontSpec.Size = titleFontSize; myY2Axis.IsVisible = true; } }
private void DrawTitle(GraphPane myPane, Variable var, Station st, DateTime minDate, DateTime maxDate) { string title; string stName; if ( var.VarEnum == VariableEnum.Discharge || var.VarEnum == VariableEnum.Stage ) { stName = string.Format("{0} ({1})", st.Name, st.River.Name); } else { stName = st.Name; } title = String.Format("{0} - {1} {2} - {3}", var.Name, stName, minDate.ToShortDateString(), maxDate.ToShortDateString()); myPane.Title.Text = title; myPane.Title.FontSpec.Size = 18; myPane.Title.FontSpec.IsBold = false; }