public ActionResult ViewGroupedtimeSheet(int ProjectId, DateTime Date) { DSRCManagementSystemEntities1 db = new DSRCManagementSystemEntities1(); List <Template> templateData = new List <Template>(); Template objtemplate = new Template(); try { int UserID = int.Parse(Session["UserID"].ToString()); string Query; ModelState.Clear(); Session["projectID"] = ProjectId; var datas = from g in db.Groups join t in db.TimeSheetColumns on g.GroupID equals t.GroupID join ct in db.Master_ColumnTypes on t.ColumnTypeID equals ct.ColumnTypeID where t.ProjectID == ProjectId where t.IsActive != false select new { ColumnName = t.ColumnNames, ColumnDisplayName = t.ColumnDisplayName, ColumnTypeName = ct.ColumnTypeName, GroupName = g.GroupName, ColumnId = t.TimeSheetColumnID }; foreach (var item in datas) { objtemplate.columnName = item.ColumnName; objtemplate.columnTypeName = item.ColumnTypeName; objtemplate.ColumnDisplayName = item.ColumnDisplayName; objtemplate.ColumnId = item.ColumnId; objtemplate.groupName = item.GroupName; templateData.Add(objtemplate); } Query = "SELECT "; foreach (var item in templateData) { Query += "ISNULL(CONVERT(NVARCHAR(100)," + item.columnName + ",103),'')+'$'+"; } Query = Query.Substring(0, Query.Length - 5); Query += " FROM TimesheetData WHERE UserId=" + UserID + " AND ProjectId=" + ProjectId + " AND DateOFSheet='" + Date.ToString("MM-dd-yyyy HH:mm:ss") + "'"; var details = db.SP_GetTimeSheetData(Query).FirstOrDefault(); List <string> ColumnValues = details.Split(new char[] { '$' }).ToList(); int counter = 0; foreach (var item in templateData) { item.ColumnValue = ColumnValues[counter++]; } } catch (Exception Ex) { string actionName = this.ControllerContext.RouteData.Values["action"].ToString(); string controllerName = this.ControllerContext.RouteData.Values["controller"].ToString(); ExceptionHandlingController.ExceptionDetails(Ex, actionName, controllerName); } return(View(templateData)); }