Exemplo n.º 1
0
        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));
        }