public void CursorFunctionForComfortZoneEditMode(MouseEventArgs e)
{
if (!chart1.IsAccessible && load == 0)
{
load = 1;
return;
}
//We need to get the temperatue and humidity based on the series selected
/*
Steps : 1 Chose which seires is selected
2. Then for left series change only temperatue should be less than maxTemp -2 and
calculated form x-axis and humidity is same for these cases
*/
double xValue = chart1.ChartAreas[0].AxisX.PixelPositionToValue(e.X);
double yValue = chart1.ChartAreas[0].AxisY.PixelPositionToValue(e.Y);
if (selectedSeriesForMoveForEditComfortZone == "Vertical_Temp_Left_Side")
{
if ( ( xValue < (int)(maxTemperatureForNewComfortZoneCreate-1)) && (xValue >= 0 && xValue<=50 )) //Let user be upper than 1 unit
{
//Left is selected
//Series s1 = Series.Equals ("Vertical_Temp_Left_Side");
chart1.Series["Vertical_Temp_Left_Side"].Points.Clear();//We have cleared these series first
chart1.Series["Vertical_Temp_Right_Side"].Points.Clear();
chart1.Series["Horizontal_Hum_Down_Side"].Points.Clear();
chart1.Series["Horizontal_Hum_Upper_Side"].Points.Clear();
chart1.Invalidate();
minTemperatureForNewComfortZoneCreate = (int)xValue;
// maxTemperatureForNewComfortZoneCreate = int.Parse(listchartComfortZoneInfoSingle[0].max_temp);
// minHumidityForNewComfortZoneCreate = int.Parse(listchartComfortZoneInfoSingle[0].min_hum);
// maxTemperatureForNewComfortZoneCreate = int.Parse(listchartComfortZoneInfoSingle[0].max_hum);
//Now replotting the values
PlotOuterBorderForComfortZone(minTemperatureForNewComfortZoneCreate, maxTemperatureForNewComfortZoneCreate, minHumidityForNewComfortZoneCreate, maxHumidityForNewComfortZoneCreate, Color.Black);
}
} else if (selectedSeriesForMoveForEditComfortZone == "Vertical_Temp_Right_Side")
{
//Here we need to do operation related to right side
//right series is selected
if ((xValue > (int)(minTemperatureForNewComfortZoneCreate + 1)) && (xValue >= 0 && xValue <= 50)) //Let user be upper than 1 unit
{
//Left is selected
//Series s1 = Series.Equals ("Vertical_Temp_Left_Side");
chart1.Series["Vertical_Temp_Left_Side"].Points.Clear();//We have cleared these series first
chart1.Series["Vertical_Temp_Right_Side"].Points.Clear();
chart1.Series["Horizontal_Hum_Down_Side"].Points.Clear();
chart1.Series["Horizontal_Hum_Upper_Side"].Points.Clear();
chart1.Invalidate();
// minTemperatureForNewComfortZoneCreate = int.Parse(listchartComfortZoneInfoSingle[0].min_temp) ;// (int)xValue;
maxTemperatureForNewComfortZoneCreate =(int)xValue; //int.Parse(listchartComfortZoneInfoSingle[0].max_temp);
// minHumidityForNewComfortZoneCreate = int.Parse(listchartComfortZoneInfoSingle[0].min_hum);
// maxTemperatureForNewComfortZoneCreate = int.Parse(listchartComfortZoneInfoSingle[0].max_hum);
//Now replotting the values
// PlotOuterBorderForComfortZone(double.Parse(listchartComfortZoneInfoSingle[0].min_temp), double.Parse(listchartComfortZoneInfoSingle[0].max_temp), double.Parse(listchartComfortZoneInfoSingle[0].min_hum), double.Parse(listchartComfortZoneInfoSingle[0].max_hum), Color.Black);
// PlotOuterBorderForComfortZone(double.Parse(listchartComfortZoneInfoSingle[0].min_temp),xValue, double.Parse(listchartComfortZoneInfoSingle[0].min_hum), double.Parse(listchartComfortZoneInfoSingle[0].max_hum), Color.Black);
PlotOuterBorderForComfortZone(minTemperatureForNewComfortZoneCreate, maxTemperatureForNewComfortZoneCreate, minHumidityForNewComfortZoneCreate, maxHumidityForNewComfortZoneCreate, Color.Black);
}
}
else if (selectedSeriesForMoveForEditComfortZone == "Horizontal_Hum_Down_Side")
{
//Down series is selected
//--This is related to humidity now
double hum = CalculateHumidityFromXandYCoordinate(xValue, yValue);//This gets the humidity
if ((hum < (int)(maxHumidityForNewComfortZoneCreate - 1)) && (hum >= 0 && hum <= 100)) //Mx hum -1 hum of lower should be in lower position
{
//Left is selected
//Series s1 = Series.Equals ("Vertical_Temp_Left_Side");
chart1.Series["Vertical_Temp_Left_Side"].Points.Clear();//We have cleared these series first
chart1.Series["Vertical_Temp_Right_Side"].Points.Clear();
chart1.Series["Horizontal_Hum_Down_Side"].Points.Clear();
chart1.Series["Horizontal_Hum_Upper_Side"].Points.Clear();
chart1.Invalidate();
//Now replotting the values
// minTemperatureForNewComfortZoneCreate = int.Parse(listchartComfortZoneInfoSingle[0].min_temp);// (int)xValue;
// maxTemperatureForNewComfortZoneCreate = int.Parse(listchartComfortZoneInfoSingle[0].max_temp);
minHumidityForNewComfortZoneCreate = (int)hum; //int.Parse(listchartComfortZoneInfoSingle[0].min_hum);
// maxTemperatureForNewComfortZoneCreate = int.Parse(listchartComfortZoneInfoSingle[0].max_hum);
// PlotOuterBorderForComfortZone(double.Parse(listchartComfortZoneInfoSingle[0].min_temp), double.Parse(listchartComfortZoneInfoSingle[0].max_temp), hum, double.Parse(listchartComfortZoneInfoSingle[0].max_hum), Color.Black);
PlotOuterBorderForComfortZone(minTemperatureForNewComfortZoneCreate, maxTemperatureForNewComfortZoneCreate, minHumidityForNewComfortZoneCreate, maxHumidityForNewComfortZoneCreate, Color.Black);
}
} else if (selectedSeriesForMoveForEditComfortZone == "Horizontal_Hum_Upper_Side")
{
//Upper series is selected
double hum = CalculateHumidityFromXandYCoordinate(xValue,yValue);//This gets the humidity
if ((hum > (int)(minHumidityForNewComfortZoneCreate + 1)) && (hum >= 0 && hum <= 100)) //Mx hum -1 hum of lower should be in lower position
{
//Left is selected
//Series s1 = Series.Equals ("Vertical_Temp_Left_Side");
chart1.Series["Vertical_Temp_Left_Side"].Points.Clear();//We have cleared these series first
chart1.Series["Vertical_Temp_Right_Side"].Points.Clear();
chart1.Series["Horizontal_Hum_Down_Side"].Points.Clear();
chart1.Series["Horizontal_Hum_Upper_Side"].Points.Clear();
chart1.Invalidate();
//Now replotting the values
//minTemperatureForNewComfortZoneCreate = int.Parse(listchartComfortZoneInfoSingle[0].min_temp);// (int)xValue;
//maxTemperatureForNewComfortZoneCreate = int.Parse(listchartComfortZoneInfoSingle[0].max_temp);
//minHumidityForNewComfortZoneCreate = int.Parse(listchartComfortZoneInfoSingle[0].min_hum);
maxHumidityForNewComfortZoneCreate =(int)hum; // int.Parse(listchartComfortZoneInfoSingle[0].max_hum);
//PlotOuterBorderForComfortZone(double.Parse(listchartComfortZoneInfoSingle[0].min_temp), double.Parse(listchartComfortZoneInfoSingle[0].max_temp), hum, double.Parse(listchartComfortZoneInfoSingle[0].max_hum), Color.Black);
// PlotOuterBorderForComfortZone(double.Parse(listchartComfortZoneInfoSingle[0].min_temp), double.Parse(listchartComfortZoneInfoSingle[0].max_temp), double.Parse(listchartComfortZoneInfoSingle[0].min_hum), hum, Color.Black);
PlotOuterBorderForComfortZone(minTemperatureForNewComfortZoneCreate, maxTemperatureForNewComfortZoneCreate, minHumidityForNewComfortZoneCreate, maxHumidityForNewComfortZoneCreate, Color.Black);
}
}
}