Beispiel #1
0
        /// <summary>
        /// Search Data in Sy_SystemJournals table
        /// </summary>
        /// <param name="selectDto">
        /// Dto of MSSJ00Form
        /// </param>
        /// <param name="dtResult">
        /// Out a Datatable that contains search result(all columns) in Sy_SystemJournals table
        /// </param>
        /// <returns>
        /// 0: Search successful
        /// others: Sql Error
        /// </returns>
        public int SearchData(IDto selectDto, out System.Data.DataTable dtResult)
        {
            SYS_JournalDao mSSJ00Dao = new SYS_JournalDao();
            SYS_JournalDto dto       = (SYS_JournalDto)selectDto;

            int returnCode = CommonData.DbReturnCode.Succeed;

            returnCode = mSSJ00Dao.SelectData(dto, out dtResult);
            if (returnCode != CommonData.DbReturnCode.Succeed)
            {
                return(returnCode);
            }

            if (dtResult.Rows.Count > 0)
            {
                System.Data.DataTable dtTemp1 = new System.Data.DataTable();
                returnCode = this.SearchDataDetail(dtResult.Rows[0][SYS_JournalKey.ID].ToString(), dtResult.Rows[dtResult.Rows.Count - 1][SYS_JournalKey.ID].ToString(), out dtTemp1);
                if (returnCode != CommonData.DbReturnCode.Succeed)
                {
                    return(returnCode);
                }

                System.Data.DataTable dtDetail = new System.Data.DataTable();
                dtDetail.Columns.Add("ID", typeof(long));
                dtDetail.Columns.Add("Name", typeof(string));
                dtDetail.Columns.Add("Value", typeof(string));

                System.Data.DataTable dtTemp2 = new System.Data.DataTable();

                foreach (System.Data.DataRow r in dtResult.Rows)
                {
                    dtTemp2 = this.SearchDataDetail(r[SYS_JournalKey.ID].ToString(), dtTemp1);
                    foreach (System.Data.DataRow rTemp in dtTemp2.Rows)
                    {
                        for (int i = 1; i <= 100; i++)
                        {
                            if (rTemp[SYS_JournalKey.FieldName + i].ToString() != CommonData.StringEmpty)
                            {
                                dtDetail.Rows.Add(rTemp[SYS_JournalKey.ParentID], rTemp[SYS_JournalKey.FieldName + i], rTemp[SYS_JournalKey.FieldValue + i]);
                            }
                            else
                            {
                                break;
                            }
                        }
                    }
                }

                System.Data.DataSet dataSet = new System.Data.DataSet();
                dataSet.Tables.Add(dtResult);
                dataSet.Tables.Add(dtDetail);
                dataSet.Relations.Add(" ", dataSet.Tables[0].Columns[SYS_JournalKey.ID],
                                      dataSet.Tables[1].Columns[SYS_JournalKey.ID]);
            }
            return(returnCode);
        }
Beispiel #2
0
        //private static readonly Logger log = new Logger();
        /// <summary>
        /// Search Data in sy_systemjournals table
        /// </summary>
        /// <param name="dtResult">
        /// Out a Datatable that contains search result(all columns) in sy_systemjournals table
        /// </param>
        /// <returns>
        /// 0: Search successful
        /// others: Sql Exception
        /// </returns>
        public int SelectData(SYS_JournalDto dto, out DataTable dtResult)
        {
            int returnCode = 0;

            dtResult = new DataTable();

            try
            {
                using (BaseDao context = new BaseDao())
                {
                    var query = context.sy_systemjournals.AsQueryable();

                    #region Search Condition

                    //Filter by FunctionID
                    if (!CommonMethod.IsNullOrEmpty(dto.FunctionID))
                    {
                        query = query.Where(j => j.FunctionID.Equals(dto.FunctionID));
                    }
                    //Filter by FromDate
                    if (dto.FromDate != null)
                    {
                        dto.FromDate = new DateTime(dto.FromDate.Value.Year, dto.FromDate.Value.Month, dto.FromDate.Value.Day);
                        query        = query.Where(j => j.ActionDate >= dto.FromDate);
                    }
                    //Filter by ToDate
                    if (dto.ToDate != null)
                    {
                        dto.ToDate = new DateTime(dto.ToDate.Value.Year, dto.ToDate.Value.Month, dto.ToDate.Value.Day);
                        dto.ToDate = dto.ToDate.Value.Date.AddDays(1).AddSeconds(-1);
                        query      = query.Where(j => j.ActionDate <= dto.ToDate);
                    }
                    //Filter by EmployeeID
                    if (!CommonMethod.IsNullOrEmpty(dto.EmployeeID))
                    {
                        query = query.Where(j => j.EmployeeID.ToLower().Contains(dto.EmployeeID.ToLower()));
                    }
                    //Filter by EmployeeName
                    if (!CommonMethod.IsNullOrEmpty(dto.EmployeeName))
                    {
                        //query = query.Where(j => j.EmployeeName.ToLower().Contains(dto.EmployeeName.ToLower()));
                        query = query.Where(j => j.UserName.ToLower().Contains(dto.EmployeeName.ToLower()));
                    }
                    //Filter by Action
                    if (!CommonMethod.IsNullOrEmpty(dto.Action))
                    {
                        query = query.Where(j => j.Action.Equals(dto.Action));
                    }

                    #endregion Search Condition

                    var result = from j in query
                                 orderby j.ID ascending
                                 select new SYS_JournalDto
                    {
                        ID         = j.ID,
                        FunctionID = j.FunctionID,

                        UserCode   = j.UserCode,
                        UserName   = j.UserName,
                        ActionDate = j.ActionDate,
                        Action     = j.Action
                    };

                    dtResult = ToDataTable(result);
                }
            }
            catch (Exception ex)
            {
                returnCode = this.ProcessDbException(ex);
            }
            return(returnCode);
        }