コード例 #1
0
        public JsonResult GetAudits([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel)
        {
            string userkey   = ConfigurationManager.AppSettings["userkey"];
            string uid       = ConfigurationManager.AppSettings["uid"];
            string LoginUser = (string)Session["LoginSAPID"];

            try
            {
                Employer.Employer employer = new Employer.Employer();
                DataTable         dt       = employer.Getaudittrail(LoginUser, userkey, uid);
                dt.TableName = "Audit";
                dt.Columns.ToString();

                List <Audits> audits   = new List <Audits>();
                int           startRec = requestModel.Start;
                int           pageSize = requestModel.Length;


                List <Audits> auditCount = (from DataRow dr in dt.Rows
                                            select new Audits()
                {
                    ID = dr["ID"].ToString()
                }).ToList();

                audits = (from DataRow dr in dt.Rows
                          orderby dr["ID"] descending
                          select new Audits()
                {
                    ID = dr["ID"].ToString(),
                    TABLE_NAME = dr["TABLE_NAME"].ToString(),
                    COLUMN_NAME = dr["COLUMN_NAME"].ToString(),
                    OLD_VALUE = dr["OLD_VALUE"].ToString(),
                    NEW_VALUE = dr["NEW_VALUE"].ToString(),
                    RECORD_ID = dr["RECORD_ID"].ToString(),
                    OLD_VALUE2 = dr["OLD_VALUE2"].ToString(),
                    NEW_VALUE2 = dr["NEW_VALUE2"].ToString(),
                    RECORD_ID2 = dr["RECORD_ID2"].ToString(),
                    RECORD_COLUMN = dr["RECORD_COLUMN"].ToString(),
                    CHANGED_BY = dr["CHANGED_BY"].ToString(),
                    DATE_CHANGED = Convert.ToDateTime(dr["DATE_CHANGED"]).ToString("dd-MMM-yyyy hh:mm"),
                    APPROVED_BY = dr["APPROVED_BY"].ToString(),
                    DATE_APPROVED = Convert.ToDateTime(dr["DATE_APPROVED"]).ToString("dd-MMM-yyyy hh:mm"),
                    STATUS = dr["STATUS"].ToString(),
                    CHANGE_TYPE = dr["CHANGE_TYPE"].ToString(),
                    COLUMN_TYPE = dr["COLUMN_TYPE"].ToString(),
                    RECORD_COLUMN_TYPE = dr["RECORD_COLUMN_TYPE"].ToString(),
                    NOTE = dr["NOTE"].ToString()
                }).Skip(startRec).Take(pageSize).ToList();

                var totalCount    = auditCount.Count();
                var filteredCount = audits.Count();

                var sortedColumns = requestModel.Columns.GetSortedColumns();
                var orderByString = String.Empty;

                foreach (var column in sortedColumns)
                {
                    orderByString += orderByString != String.Empty ? "," : "";
                    orderByString += (column.Data) + (column.SortDirection == Column.OrderDirection.Ascendant ? " asc" : " desc");
                }

                var data = audits.Select(emList => new
                {
                    ID                 = emList.ID,
                    TABLE_NAME         = emList.TABLE_NAME,
                    COLUMN_NAME        = emList.COLUMN_NAME,
                    OLD_VALUE          = emList.OLD_VALUE,
                    NEW_VALUE          = emList.NEW_VALUE,
                    RECORD_ID          = emList.RECORD_ID,
                    OLD_VALUE2         = emList.OLD_VALUE2,
                    NEW_VALUE2         = emList.NEW_VALUE2,
                    RECORD_ID2         = emList.RECORD_ID2,
                    RECORD_COLUMN      = emList.RECORD_COLUMN,
                    CHANGED_BY         = emList.CHANGED_BY,
                    DATE_CHANGED       = emList.DATE_CHANGED,
                    APPROVED_BY        = emList.APPROVED_BY,
                    DATE_APPROVED      = emList.DATE_APPROVED,
                    STATUS             = emList.STATUS,
                    CHANGE_TYPE        = emList.CHANGE_TYPE,
                    COLUMN_TYPE        = emList.COLUMN_TYPE,
                    RECORD_COLUMN_TYPE = emList.RECORD_COLUMN_TYPE,
                    NOTE               = emList.NOTE
                }).ToList();

                return(Json(new DataTablesResponse(requestModel.Draw, data, totalCount, totalCount), JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                LogError logerror = new LogError();
                logerror.ErrorLog("", LoginUser, "", "AdminController/GetAudits", "AdminController", "GetAudits", "Getaudittrail Error", ex.Message.ToString(), 0);
                throw new Exception(ex.Message.ToString());
            }
        }