public int getTotalRecords(SqlConnection connection, ExplanationSeachCriteria criteria, string _userID)
 {
     if (criteria != null)
     {
         using (var command = new SqlCommand("Select count(temp.ExplanationID) as TotalRecords from (Select E.ExplanationID " +
                                             " from tbl_Explanation E  " +
                                             " LEFT JOIN tbl_Proposal P on P.ProposalID  = E.ProposalID " +
                                             " LEFT JOIN tbl_Department D on D.DepartmentID  = P.DepartmentID  " +
                                             " where E.ProposalID <> 0   ", connection))
         {
             if (criteria.proposalCode != "" && criteria.proposalCode != null)
             {
                 command.CommandText += " and P.ProposalCode like  '%" + criteria.proposalCode + "%' ";
             }
             if (criteria.departmentID != 0)
             {
                 command.CommandText += " and ( P.departmentID = @departmentID ";
                 command.CommandText += " or  P.CurDepartmentID = @departmentID ) ";
                 AddSqlParameter(command, "@departmentID", criteria.departmentID, System.Data.SqlDbType.Int);
             }
             if (criteria.fromDate != null && criteria.toDate != null)
             {
                 command.CommandText += " and P.DateIn between @FromDate and @ToDate ";
                 AddSqlParameter(command, "@FromDate", criteria.fromDate, System.Data.SqlDbType.DateTime);
                 AddSqlParameter(command, "@ToDate", criteria.toDate, System.Data.SqlDbType.DateTime);
             }
             if (!string.IsNullOrEmpty(_userID) && _userID != "admin")
             {
                 command.CommandText += " and ( E.UserAssign = @UserID ) or ( E.UserI = @UserID )";
                 AddSqlParameter(command, "@UserID", _userID, SqlDbType.VarChar);
             }
             command.CommandText += " ) as temp";
             WriteLogExecutingCommand(command);
             using (var reader = command.ExecuteReader())
             {
                 while (reader.Read())
                 {
                     return(GetDbReaderValue <int>(reader["TotalRecords"]));
                 }
             }
         }
     }
     else
     {
         using (var command = new SqlCommand("Select count(*) as TotalRecords  from tbl_Explanation where 1 = 1 ", connection))
         {
             WriteLogExecutingCommand(command);
             using (var reader = command.ExecuteReader())
             {
                 while (reader.Read())
                 {
                     return(GetDbReaderValue <int>(reader["TotalRecords"]));
                 }
             }
         }
     }
     return(0);
 }
Beispiel #2
0
        public List <ExplanationInfo> getAllExplanationWwithCondition(ExplanationSeachCriteria _criteria, string _userID)
        {
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                return(ExplanationDataLayer.GetInstance().getExplanation(connection, _criteria, _userID));
            }
        }
Beispiel #3
0
        public int getTotalRecords(ExplanationSeachCriteria _criteria, string _userID)
        {
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                return(ExplanationDataLayer.GetInstance().getTotalRecords(connection, _criteria, _userID));
            }
        }
        public ListResponeMessage <ExplanationInfo> GetListWithCondition([FromQuery] ExplanationSeachCriteria _criteria, string _userID)
        {
            ListResponeMessage <ExplanationInfo> ret = new ListResponeMessage <ExplanationInfo>();

            try
            {
                ret.isSuccess    = true;
                ret.data         = ExplanationService.GetInstance().getAllExplanationWwithCondition(_criteria, _userID);
                ret.totalRecords = ExplanationService.GetInstance().getTotalRecords(_criteria, _userID);
            }
            catch (Exception ex)
            {
                ret.isSuccess     = false;
                ret.err.msgCode   = "005";
                ret.err.msgString = ex.ToString();
            }
            return(ret);
        }
        public List <ExplanationInfo> getExplanation(SqlConnection connection, ExplanationSeachCriteria criteria, string _userID)
        {
            var result = new List <ExplanationInfo>();

            using (var command = new SqlCommand("Select E.*, P.ProposalCode, P.DepartmentID,  D.DepartmentName, P.ProposalType, PT.TypeName, D1.DepartmentName as CurDepartmentName" +
                                                " from tbl_Explanation  E" +
                                                " LEFT JOIN tbl_Proposal P on P.ProposalID  = E.ProposalID " +
                                                " LEFT JOIN tbl_Department D on D.DepartmentID  = P.DepartmentID  " +
                                                " LEFT JOIN tbl_Department D1 on P.CurDepartmentID = D1.DepartmentID " +
                                                " LEFT JOIN tbl_ProposalType PT on PT.TypeID  = P.ProposalType " +
                                                " where   E.ProposalID <> 0 ", connection))
            {
                if (criteria.proposalCode != "" && criteria.proposalCode != null)
                {
                    command.CommandText += " and P.ProposalCode like  '%" + criteria.proposalCode + "%' ";
                }
                if (criteria.departmentID != 0)
                {
                    command.CommandText += " and ( P.departmentID = @departmentID ";
                    command.CommandText += " or  P.CurDepartmentID = @departmentID ) ";
                    AddSqlParameter(command, "@departmentID", criteria.departmentID, System.Data.SqlDbType.Int);
                }
                if (criteria.fromDate != null && criteria.toDate != null)
                {
                    command.CommandText += " and P.DateIn between @FromDate and @ToDate ";
                    AddSqlParameter(command, "@FromDate", criteria.fromDate, System.Data.SqlDbType.DateTime);
                    AddSqlParameter(command, "@ToDate", criteria.toDate, System.Data.SqlDbType.DateTime);
                }
                if (!string.IsNullOrEmpty(_userID) && _userID != "admin")
                {
                    command.CommandText += " and ( E.UserAssign = @UserID ) or ( E.UserI = @UserID )";
                    AddSqlParameter(command, "@UserID", _userID, SqlDbType.VarChar);
                }
                if (criteria.pageSize == 0)
                {
                    criteria.pageSize = 10;
                }
                var offSet = criteria.pageIndex * criteria.pageSize;
                command.CommandText += " order by E.UpdateTime Desc";
                command.CommandText += " OFFSET @OFFSET ROWS FETCH NEXT @PAGESIZE ROWS ONLY ";
                AddSqlParameter(command, "@OFFSET", offSet, System.Data.SqlDbType.Int);
                AddSqlParameter(command, "@PAGESIZE", criteria.pageSize, System.Data.SqlDbType.Int);
                WriteLogExecutingCommand(command);

                using (var reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        var info = new ExplanationInfo();
                        info.ExplanationID   = GetDbReaderValue <int>(reader["ExplanationID"]);
                        info.ExplanationCode = GetDbReaderValue <string>(reader["ExplanationCode"]);
                        info.ExplanationName = GetDbReaderValue <string>(reader["ExplanationName"]);
                        info.ProposalID      = GetDbReaderValue <int>(reader["ProposalID"]);
                        info.ProposalCode    = GetDbReaderValue <string>(reader["ProposalCode"]);
                        info.ProposalType    = GetDbReaderValue <int>(reader["ProposalType"]);
                        info.TypeName        = GetDbReaderValue <string>(reader["TypeName"]);
                        info.DepartmentID    = GetDbReaderValue <int>(reader["DepartmentID"]);
                        info.DepartmentName  = GetDbReaderValue <string>(reader["DepartmentName"]);
                        info.Necess          = GetDbReaderValue <bool>(reader["Necess"]);
                        info.Suitable        = GetDbReaderValue <bool>(reader["Suitable"]);
                        info.NBNum           = GetDbReaderValue <string>(reader["NBNum"]);
                        info.XNNum           = GetDbReaderValue <string>(reader["XNNum"]);
                        info.Available       = GetDbReaderValue <string>(reader["Available"]);
                        info.IsAvailable     = GetDbReaderValue <bool>(reader["IsAvailable"]);
                        info.Comment         = GetDbReaderValue <string>(reader["Comment"]);
                        info.TNCB            = GetDbReaderValue <string>(reader["TNCB"]);
                        info.Status          = GetDbReaderValue <string>(reader["Status"]);
                        info.DBLTCN          = GetDbReaderValue <string>(reader["DBLTCN"]);
                        info.NVHTTB          = GetDbReaderValue <string>(reader["NVHTTB"]);
                        info.DTNL            = GetDbReaderValue <string>(reader["DTNL"]);
                        info.NQL             = GetDbReaderValue <string>(reader["NQL"]);
                        info.HQKTXH          = GetDbReaderValue <string>(reader["HQKTXH"]);
                        info.UserI           = GetDbReaderValue <string>(reader["UserI"]);
                        info.InTime          = GetDbReaderValue <DateTime?>(reader["InTime"]);
                        info.UserU           = GetDbReaderValue <string>(reader["UserU"]);
                        info.UpdateTime      = GetDbReaderValue <DateTime>(reader["UpdateTime"]);
                        result.Add(info);
                    }
                }
                return(result);
            }
        }