Tuesday 17 June 2014

Union Between two table in C# linq

 var tbUnion = dtSame.AsEnumerable()
                             .Union(dtSmaller.AsEnumerable());
                DataTable unionTable = tbUnion.CopyToDataTable();

Linq 101 Sample Exmple

http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b

Thursday 12 June 2014

LinQ Usefull code

 DateTime sDate;
        DateTime eDate;
string strDtFrom=string.Empty;
        string strDtTo=string.Empty;

dValueSum = Convert.ToDouble(dtForIncorrectData.AsEnumerable()
                                   .Where(y => y.Field<string>("Date").Equals(strDtFrom)
                                            && y.Field<decimal>("Value") > 0)
                                   .Sum(x => x.Field<decimal>("Value"))
                                   .ToString());


                        var query = (from s in dtFormatedCmbFinal.AsEnumerable()
                                     where (s.Field<string>("Date").Equals(strDtFrom))
                                     select new
                                     {
                                         dValue = s.Field<decimal>("Value")

                                     }).Distinct();
                        dValue = Convert.ToDouble(query.ElementAt(0).dValue);


int rowCountforSameDate = 0;
                        rowCountforSameDate = dtForIncorrectData.AsEnumerable()
                                    .Count(row => row.Field<string>("Date").Equals(strDtTemp));




strDtFrom = dtForIncorrectData.Rows[0]["Date"].ToString();
                         strDtTo = dtForIncorrectData.Rows[dtForIncorrectData.Rows.Count - 1]["Date"].ToString();
                         DateTime.TryParseExact(strDtFrom, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out sDate);
                         DateTime.TryParseExact(strDtTo, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out eDate);
                         dtpFromDate.Value = sDate;
                         dtpToDate.Value = eDate;

Wednesday 11 June 2014

Date conversion in C#

private DateTime ConvertToDateTime(string strDateTime)
    {
        DateTime dtFinaldate; string sDateTime;
        try { dtFinaldate = Convert.ToDateTime(strDateTime); }
        catch (Exception e)
        {
            string[] sDate = strDateTime.Split('/');
            sDateTime = sDate[1] + '/' + sDate[0] + '/' + sDate[2];
            dtFinaldate = Convert.ToDateTime(sDateTime);
        }
        return dtFinaldate;
    }

Tuesday 10 June 2014

Multiple Cases in Switch:

switch (value)
{
   case 1:
   case 2:
   
      //write your code
      break;
   case 3:case 4:   case 5:  case 6:
      //write your code
      break;
   default:
      //write your code
      break;
}

sum of Column value from table in Linq C#

 double dValueSum = 0.0;
                        dValueSum = Convert.ToDouble(dtFormatedCmbFinal.AsEnumerable()
                                    .Where(y => y.Field<string>("Date") == strDateforNullValue && y.Field<decimal>("Value") > 0)
                                    .Sum(x => x.Field<decimal>("Value"))
                                    .ToString());

Date formating in C#

CultureInfo culture = new CultureInfo("en-GB");


  dr["DateOnly"] = (Convert.ToDateTime(dtFormatedCmbMissing.Rows[iCount]["Date"].ToString(), culture));

how to write adjecent Value of Next column in C#

 public DataTable CreateDataForChart(DataTable dtTest_BaseStationData_forFilling)
        {
            try
            {
                for (int i = 0; i < dtTest_BaseStationData_forFilling.Rows.Count; i++)
                {
                    if ((i == 0) && (!Convert.ToString(dtTest_BaseStationData_forFilling.Rows[i]["NewSeriesForGraph"]).Equals("*")))
                    {
                        dtTest_BaseStationData_forFilling.Rows[i]["BlankFillValue"] = dtTest_BaseStationData_forFilling.Rows[i]["FinalSeries"];
                        if (Convert.ToString(dtTest_BaseStationData_forFilling.Rows[i + 1]["NewSeriesForGraph"]).Equals("*"))
                        {
                            dtTest_BaseStationData_forFilling.Rows[i + 1]["BlankFillValue"] = dtTest_BaseStationData_forFilling.Rows[i + 1]["FinalSeries"];
                        }
                    }
                    else if ((i != 0) && (!Convert.ToString(dtTest_BaseStationData_forFilling.Rows[i]["NewSeriesForGraph"]).Equals("*")))
                    {
                        dtTest_BaseStationData_forFilling.Rows[i]["BlankFillValue"] = dtTest_BaseStationData_forFilling.Rows[i]["FinalSeries"];
                        if (Convert.ToString(dtTest_BaseStationData_forFilling.Rows[i - 1]["NewSeriesForGraph"]).Equals("*"))
                        {
                            dtTest_BaseStationData_forFilling.Rows[i - 1]["BlankFillValue"] = dtTest_BaseStationData_forFilling.Rows[i - 1]["FinalSeries"];
                        }
                        if (i != dtTest_BaseStationData_forFilling.Rows.Count - 1 && Convert.ToString(dtTest_BaseStationData_forFilling.Rows[i + 1]["NewSeriesForGraph"]).Equals("*"))
                        {
                            dtTest_BaseStationData_forFilling.Rows[i + 1]["BlankFillValue"] = dtTest_BaseStationData_forFilling.Rows[i + 1]["FinalSeries"];
                        }
                    }
                }
            }
            catch (Exception)
            {

                throw;
            }

            return dtTest_BaseStationData_forFilling;

Friday 6 June 2014

Remove Last 3 element from array

 string[] arrCmbMissingVal = strCmbMissingValue.Split(' ');

                    string[] arrStrCmb = new string[arrCmbMissingVal.Length - 3];
                    Array.Copy(arrCmbMissingVal, arrStrCmb, arrCmbMissingVal.Length - 3);
                    strSplitedCmbDesc = string.Join("", arrStrCmb);
                    strCmbMissingDataType = arrCmbMissingVal[arrCmbMissingVal.Length - 1];

How do you retrieve the last element of an array in C#?

string strCmbMissingValue="India is a great country in this world";

 string[] arrCmbMissingVal = strCmbMissingValue.Split(' ');

string strCmbMissingDataType = arrCmbMissingVal[arrCmbMissingVal.Length - 1];


you can use LINQ

string[] stringArray = { "India ", "great ", "country ","in", "this " "world" };
var last=stringArray.Last();
var first=stringArray.First();

Thursday 5 June 2014

ake your dateTime value in string



DateTime DtA = Convert.ToDateTime(ds.Tables[0].Rows[0]["DateTime"].ToString());

string[] strDtA= DtA .ToString("dd/MM/yyyy").Split('/');

txtDate.Text = strDtA[0];
txtMonth.Text = strDtA[1];
txtYear.Text = strDtA[2];

get day month year separately in C#

dtCmbMissing.Columns.Add("MonthOnly", typeof(string));
                    dtCmbMissing.Columns.Add("YearOnly", typeof(string));
                    for (int i = 0; i < dtCmbMissing.Rows.Count; i++)
                    {

                        //DateTime dtDate = (Convert.ToDateTime(dtCmbFinal.Rows[i]["Date"]));
                        string strA = Convert.ToString(dtCmbMissing.Rows[i]["Date"]);

                        string[] strDateTime = strA.Split('/');

                        dtCmbMissing.Rows[i]["MonthOnly"] = strDateTime[1];
                        dtCmbMissing.Rows[i]["YearOnly"] = strDateTime[2];
                    }

Wednesday 4 June 2014

Changing the row color as per column Values

//Changing the row color as per the Stream Value 
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) 
string strA= dataGridView1.CurrentRow.Cells["ColA"].Value.ToString(); 
strA= strA.Trim(); 
  
if (strA.Equals("India")) 
dataGridView1.CurrentRow.DefaultCellStyle.BackColor = Color.LightSkyBlue; 
else if (strA.Equals("PAK")) 
dataGridView1.CurrentRow.DefaultCellStyle.BackColor = Color.GreenYellow; 
else if (strA.Equals("USA")) 
dataGridView1.CurrentRow.DefaultCellStyle.BackColor = Color.OrangeRed; 
else if (stream.Equals("")) 
dataGridView1.CurrentRow.DefaultCellStyle.BackColor = Color.White; 
  

difference between copy and clone in c#


Clone- makes a copy of an object at the root level means only copy its structure but not its data (if we talk about datatable)

Copy- a copy of an object and all its child objects means copy its structure and data both.

in other terms

Clone method can not create datarow but Copy method create both structure and datarow.

dtFinalSeriesAfterCalc = dtSeriesforCalc.Clone();

dtResult = dtChart.Copy();

foreach Loop in C#

foreach (DataRow rowSec in ud.m_UsertestGroupsTable.Rows)
    {
        
             if( (bool)rowSec["ColumnName"] == true)
             // or if((bool)rowSec[columnIndex] == true)
             {
                 //do something. 
             }

I suggest you Please not use index, prefer to Column Name


foreach(DataRow drow in dt.Rows)
 {
      string value = drow[columnname].ToString();
 }