WFA_psychometric_chart.Form1_main.plot_on_graph_values_process_diagram C# (CSharp) Method

plot_on_graph_values_process_diagram() public method

public plot_on_graph_values_process_diagram ( double xval, double yval ) : void
xval double
yval double
return void
        public void plot_on_graph_values_process_diagram(double xval, double yval)
        {
            //chart1.Series.Clear();


            try
            {


                series1.ChartType = SeriesChartType.Point;
                //int r, g, b;

                series1.MarkerSize = 20;
                series1.MarkerStyle = MarkerStyle.Circle;
                series1.Points.AddXY(xval, yval);
                string s = "source :\nTemperature Source " + temperature_sourceGlobal + "\nHumidity Source" + humidity_sourceGlobal + "\n Name : " + tbName;
                series1.Points[index].Color = colorValue;
                series1.Points[index].ToolTip = s;

                string labelStringValue = null;
                //labeling part
                //if (comboboxItemText == "Label")
                //{
                //    //label is selected
                //    labelStringValue = tbLabel;
                //}
                //else if (comboboxItemText == "Name")
                //{
                    //Name is selected
                    labelStringValue = tbName;
                //}
                //else
                //{
                //    //Source is selected
                //    labelStringValue = tbSource;
                //}

                series1.Points[index].Label = labelStringValue;

                //  MessageBox.Show("value xval =" + xval + ",yval = " + yval);
                //series1.Points[index_series++].Color = colorValue;//blue
                //    MessageBox.Show("end re");
                //index_series++;
                //series1.Enabled = true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            //now lets move on to storing those values and futher porcessing it...


            //we need to get this a unique id 
            string unique_id_for_node = selectedBuildingList[0].BuildingName + GetGUID();//This is the unique id 


            //the value is added...
            menuStripNodeInfoValues.Add(new TempDataType
            {
                id = unique_id_for_node,
                xVal = xval,
                yVal = yval,
               // source = tbSource,
               temperature_source = temperature_sourceGlobal,
               humidity_source = humidity_sourceGlobal,
                name = tbName,
               // label = tbLabel,
                colorValue = colorValue,
               // showItemText = comboboxItemText,
                marker_Size = markerSize  ,
                airFlow = airFlowValueGlobal


            });

            //--Inserting the node values in the database sqlite


            if (flagForInsertOrUpdateDataToDB == 1)
            {
                //do only if the  flag is raised.

                // InsertNodeInfoToDB(unique_id_for_node, xval, yval, tbSource, tbName, tbLabel, colorValue, comboboxItemText, markerSize, deviceInstanceValue, deviceIP, deviceParam1ID, deviceParam2ID, device_param1_info_for_node, device_param2_info_for_node, object_param1_identifier_type, object_param2_identifier_type);
                //--New code is added to here
                DatabaseOperations ObjDbOperation = new DatabaseOperations();
                //  MessageBox.Show("Building Name= " + selectedBuildingList[0].BuildingName);
               // MessageBox.Show(unique_id_for_node+"xval = "+ xval+" yval"+ yval+"temp "+ temperature_sourceGlobal+"hum="+ humidity_sourceGlobal+",name="+ tbName+",col="+ colorValue+",size=" +markerSize +",air="+airFlowValueGlobal.ToString());
                ObjDbOperation.InsertNodeInfoToDBWithoutDeviceInfo(CurrentSelectedBuilding, chartDetailList[indexForWhichChartIsSelected].chart_respective_nodeID, unique_id_for_node, xval, yval, temperature_sourceGlobal, humidity_sourceGlobal, tbName, colorValue, markerSize, airFlowValueGlobal.ToString());
               // MessageBox.Show("Operation Complete Test");
            //InsertNodeInfoToDBWithoutDeviceInfo(unique_id_for_node,)
            }



            //the liine plot part is only done when ther is two points or more
            if (index > 0)
            {




                double startHumidity1 = 0;
                double startEnthalpy1 = 0;
                double endHumidity1 = 0;//--this is for the start and end humidity print in the tooltip
                double endEnthalpy1 = 0;

                //now lets plot lines between tow points...
                Series newLineSeries = new Series("LineSeries" + index);
                //string nameSeries = newLineSeries.Name;

                //--If the series already present lets remove from the chart ok ol :)
                if (chart1.Series.IndexOf(newLineSeries.Name) != -1)
                {
                    //MessageBox.Show("Series exits");
                    //--This  means the series is present....
                    chart1.Series.RemoveAt(chart1.Series.IndexOf(newLineSeries.Name));
                }

                string unique_id_for_line = selectedBuildingList[0].BuildingName + GetGUID();//This is the unique id 



                //--Lets store the nodeline info as well
                menuStripNodeLineInfoValues.Add(new lineNodeDataType
                {
                    //--Id of this ..
                    ID = unique_id_for_line,
                    // prevNodeId = menuStripNodeInfoValues[index - 1].id, //previousNodeIndexForLineInput
                    prevNodeId = menuStripNodeInfoValues[previousNodeIndexForLineInput].id,
                    nextNodeId = menuStripNodeInfoValues[index].id,
                    lineColorValue = menuStripNodeInfoValues[previousNodeIndexForLineInput].colorValue,
                    lineSeriesID = newLineSeries,
                    lineThickness = 3, //default thickness is 3
                    name = lineName,
                    status = lineStatus_ON_OFF

                });


                //--Adding to db
                if (flagForInsertOrUpdateDataToDB == 1)
                {
                    //--Insert the values when the flag is raised.
                    //InsertLineInfoToDB(unique_id_for_line, menuStripNodeInfoValues[index - 1].id, menuStripNodeInfoValues[index].id, menuStripNodeInfoValues[index - 1].colorValue, newLineSeries, menuStripNodeLineInfoValues[index - 1].lineThickness);
                    // InsertLineInfoToDB(unique_id_for_line, menuStripNodeInfoValues[index - 1].id, menuStripNodeInfoValues[index].id, menuStripNodeInfoValues[index - 1].colorValue, newLineSeries,3);
                    InsertLineInfoToDB(unique_id_for_line, menuStripNodeInfoValues[previousNodeIndexForLineInput].id, menuStripNodeInfoValues[index].id, menuStripNodeInfoValues[previousNodeIndexForLineInput].colorValue, newLineSeries, 3);
                }



                //newSeries.MarkerStyle = MarkerStyle.Triangle;
                newLineSeries.ChartType = SeriesChartType.Line;
                //newLineSeries.MarkerStyle = MarkerStyle.Circle;
                //newLineSeries.MarkerStyle = MarkerStyle.Star6;
                newLineSeries.MarkerBorderWidth.Equals(15);
                newLineSeries.MarkerSize.Equals(35);
                newLineSeries.BorderWidth.Equals(15);
                // newLineSeries.SetCustomProperty(newLineSeries.MarkerSize.ToString(),newLineSeries.MarkerSize.Equals(25).ToString());
                newLineSeries.Color = menuStripNodeInfoValues[index].colorValue;

                //--this sets the initial values of humidity and enthalpy
                //CalculateHumidityEnthalpy((double)menuStripNodeInfoValues[index - 1].xVal, (double)menuStripNodeInfoValues[index - 1].yVal);//previousNodeIndexForLineInput


                CalculateHumidityEnthalpy((double)menuStripNodeInfoValues[previousNodeIndexForLineInput].xVal, (double)menuStripNodeInfoValues[previousNodeIndexForLineInput].yVal);//previousNodeIndexForLineInput
                startHumidity1 = Math.Round(humidityCalculated, 2);//--Fro showing only up to 2 dec. eg."34.52"
                startEnthalpy1 = Math.Round(enthalpyCalculated, 2);
                double startSpecificVolume1 = SpecificVolumeReturn;
                //--This calculates the end humidity and the enthalpy values..
                CalculateHumidityEnthalpy((double)menuStripNodeInfoValues[index].xVal, (double)menuStripNodeInfoValues[index].yVal);
                endHumidity1 = Math.Round(humidityCalculated, 2);
                endEnthalpy1 = Math.Round(enthalpyCalculated, 2);
                double endSpecificVolume1 = SpecificVolumeReturn;
                double enthalpyChange = endEnthalpy1 - startEnthalpy1;

                // string sequenceDetected = menuStripNodeInfoValues[index - 1].name + " to " + menuStripNodeInfoValues[index].name;
                string sequenceDetected = menuStripNodeInfoValues[previousNodeIndexForLineInput].name + " to " + menuStripNodeInfoValues[index].name;


                //string tooltipString = "Sequence :  " + sequenceDetected + " \n" + "                 start             end \n" + "Temp         :" + Math.Round(menuStripNodeInfoValues[index - 1].xVal, 2) + "               " + Math.Round(menuStripNodeInfoValues[index].xVal, 2) + "\nHumidity :" + startHumidity1 + "           " + endHumidity1 + "\nEnthalpy : " + startEnthalpy1 + "           " + endEnthalpy1 + "\nEnthalpy Change:" + enthalpyChange;
                
                //=====================================THisi used========================//

                //--this sets the initial values of humidity and enthalpy
                //CalculateHumidityEnthalpy(temporaryNodeValueStoreForRedrawLine[0].xVal, temporaryNodeValueStoreForRedrawLine[0].yVal);
                //startHumidity1 = Math.Round(humidityCalculated, 2);
                //startEnthalpy1 = Math.Round(enthalpyCalculated, 2);
              
                //--This calculates the end humidity and the enthalpy values..
                //CalculateHumidityEnthalpy((double)temporaryNodeValueStoreForRedrawLine[1].xVal, (double)temporaryNodeValueStoreForRedrawLine[1].yVal);
                //endHumidity1 = Math.Round(humidityCalculated, 2);
                //endEnthalpy1 = Math.Round(enthalpyCalculated, 2);
              

                // MessageBox.Show("Start hum" + startHumidity1 + " end enth" + endEnthalpy1);
                //MessageBox.Show("menustripinfovalues[prevNodeID].xVal=" + menuStripNodeInfoValues[prevNodeID].xVal + "menuStripNodeInfoValues[nextNodeID].yVal=" + menuStripNodeInfoValues[nextNodeID].yVal + "menuStripNodeInfoValues[nextNodeID].xVal = "+ menuStripNodeInfoValues[nextNodeID].xVal + " menuStripNodeInfoValues[nextNodeID].yVal" + menuStripNodeInfoValues[nextNodeID].yVal);

               // double enthalpyChange = endEnthalpy1 - startEnthalpy1;

               // string sequenceDetected = temporaryNodeValueStoreForRedrawLine[0].name + " to " + temporaryNodeValueStoreForRedrawLine[1].name;

               // string tooltipString = "";
                string ZeroLine = "Process:  " + lineName + " ";
                string FirstLine = @"Parameters                      " + "Units               " + menuStripNodeInfoValues[previousNodeIndexForLineInput].name + "                  " + menuStripNodeInfoValues[index].name;
                string SecondLine = @"DBT                                   " + "\x00B0 C                   " + Math.Round(menuStripNodeInfoValues[previousNodeIndexForLineInput].xVal, 2) + "                           " + Math.Round(menuStripNodeInfoValues[index].xVal, 2);
                string ThirdLine = @"Relative Humidity           " + "%                     " + startHumidity1 + "                     " + endHumidity1;
                string FourthLine = @"Humidity Ratio                " + "Kg/Kg dryair  " + Math.Round(menuStripNodeInfoValues[previousNodeIndexForLineInput].yVal, 2) + "                       " + Math.Round(menuStripNodeInfoValues[index].yVal, 2);
                string FifthLine = "Volume Flow Rate           " + "m\xB3/s                " + Math.Round(menuStripNodeInfoValues[previousNodeIndexForLineInput].airFlow, 2) + "                      " + Math.Round(menuStripNodeInfoValues[index].airFlow, 2);

                string SixthLine = "Specific Volume              " + "m\xB3/Kg             " + startSpecificVolume1 + "                    " + endSpecificVolume1;
                double massFlowRate1 = menuStripNodeInfoValues[previousNodeIndexForLineInput].airFlow / startSpecificVolume1;
                double massFlowRate2 = menuStripNodeInfoValues[index].airFlow / endSpecificVolume1;

                string SeventhLine = @"Mass flow rate(dry air)   " + "Kg(dry air)/s   " + Math.Round(massFlowRate1, 2) + "                        " + Math.Round(massFlowRate2, 2);
                string EighthLine = @"Enthalpy                           " + "KJ/Kg              " + startEnthalpy1 + "                       " + endEnthalpy1;
                double totalEnthalpyFlow1 = massFlowRate1 * startEnthalpy1;
                double totalEnthalpyFlow2 = massFlowRate2 * endEnthalpy1;
                string NinthLine = @"Total Enthalpy Flow         " + "KJ/s                " + Math.Round(totalEnthalpyFlow1, 2) + "                      " + Math.Round(totalEnthalpyFlow2, 2);
                double heatChange = totalEnthalpyFlow2 - totalEnthalpyFlow1;
                string TenthLine = @"Heat Change                    " + "KW                  " + Math.Round(heatChange, 2) + "                     ";
               string tooltipString = ZeroLine + "\n" + FirstLine + "\n" + SecondLine + "\n" + ThirdLine + "\n" + FourthLine + "\n" + FifthLine + "\n" + SixthLine + "\n" + SeventhLine + "\n" + EighthLine + "\n" + NinthLine + "\n" + TenthLine;
                newLineSeries.ToolTip = tooltipString;

                //=============================end of this is used======================//

                //newSeries.MarkerStyle = MarkerStyle.Circle;
                //newSeries.Points.AddXY(menuStripNodeInfoValues[index - 1].xVal, menuStripNodeInfoValues[index].xVal, menuStripNodeInfoValues[index - 1].yVal, menuStripNodeInfoValues[index].yVal);
                //newLineSeries.Points.Add(new DataPoint(menuStripNodeInfoValues[index - 1].xVal, menuStripNodeInfoValues[index - 1].yVal));
                newLineSeries.Points.Add(new DataPoint(menuStripNodeInfoValues[previousNodeIndexForLineInput].xVal, menuStripNodeInfoValues[previousNodeIndexForLineInput].yVal));
                //double mid_point_XValue = (menuStripNodeInfoValues[index - 1].xVal + menuStripNodeInfoValues[index].xVal)/ 2;
                //double mid_point_YValue = (menuStripNodeInfoValues[index - 1].yVal + menuStripNodeInfoValues[index].yVal) / 2;
                double mid_point_XValue = (menuStripNodeInfoValues[previousNodeIndexForLineInput].xVal + menuStripNodeInfoValues[index].xVal) / 2;
                double mid_point_YValue = (menuStripNodeInfoValues[previousNodeIndexForLineInput].yVal + menuStripNodeInfoValues[index].yVal) / 2;

                newLineSeries.Points.Add(new DataPoint(mid_point_XValue, mid_point_YValue));
                newLineSeries.Points.Add(new DataPoint(menuStripNodeInfoValues[index].xVal, menuStripNodeInfoValues[index].yVal));

                if(lineStatus_ON_OFF == 1)
                {
                    newLineSeries.Points[1].Color = colorValue;
                    newLineSeries.Points[1].Label = lineName;
                }
                chart1.Series.Add(newLineSeries);
                chart1.Series[newLineSeries.Name].BorderWidth = 3;


            }



            index++;
            previousNodeIndexForLineInput = IndexOfPreviousNodeForLineFunction();


        }//close of buttons
Form1_main