Search This Blog

Showing posts with label LINQ. Show all posts
Showing posts with label LINQ. Show all posts

Tuesday, January 28, 2014

Linq to read files

Filter data from DataTable using linq
  
foreach (var gvCkID in chkList)
            {

                int ID = Convert.ToInt32(gvCkID);
               
                var records = from p in dtGv.AsEnumerable()
                              where p.Field<int>("ID") == ID
                              select new { PONo = p.Field<string>("Title"), NavisioFileName = p.Field<string>("NavisionFile") };
                var arrayRecords = records.ToArray();

                string NavisioName = arrayRecords[0].NavisioFileName; // Check box for loop
                string PONo = arrayRecords[0].PONo;
                    if (!string.IsNullOrEmpty(NavisioName))
                        NavisionCollection.Add(NavisioName);
                    else
                        NavisionCollection.Add(PONo);
               
            }

Select first and last element from list using linq

string fileName = vehType + "_" + (from m in NavisionCollection select m).First();
            if (NavisionCollection.Count > 1)
                fileName = fileName + "_" + (from m in NavisionCollection select m).Last() + ".pdf";
            else
                fileName = fileName + ".pdf";

Get folder list from physical directory using linq

var vehFolders = from arayElem in (new DirectoryInfo(sDirectory).GetDirectories().OrderBy(d => d.LastWriteTimeUtc))
                             where arayElem.FullName.ToLower().Contains(vehType.ToLower()) && arayElem.LastWriteTimeUtc > dts.AddDays(-10)
                             orderby arayElem.CreationTime ascending
                             select arayElem;


                foreach (DirectoryInfo item in vehFolders)
                {
                    filePath = sDirectory + @"\\" + item.Name.ToString();
                    string[] arrayFiles = Directory.GetFiles(filePath);
               }

var getNavFile = from arayElem in arrayFiles
                                         where (Path.GetFileNameWithoutExtension(arayElem).Equals(navFileName, StringComparison.InvariantCultureIgnoreCase))
                                         select arayElem;
                        try
                        {
                            navFilePath = Convert.ToString(getNavFile.ToArray()[0]);
                        }