public IHttpActionResult SearchAssessor([FromUri] SearchAssessorRequestParams searchParams) { if (searchParams == null) { searchParams = new SearchAssessorRequestParams(); } return(Ok(GetAssessorDbService().SearchAssessors(searchParams))); }
/// <summary> /// Return list of Assessor details based on supplied Search-Parameters /// </summary> /// <returns></returns> AssessorResponse IAssessorDemographicDbService.SearchAssessors(SearchAssessorRequestParams request) { AssessorResponse assessorResponse = new AssessorResponse(); try { var dbSet = GetDbConnector().LoadDataSet("SearchAssessors", QueryCommandType.StoredProcedure, new List <System.Data.IDbDataParameter> { new SqlParameter() { ParameterName = "@Name", Value = request.Name, SqlDbType = SqlDbType.VarChar, Size = 200 }, new SqlParameter() { ParameterName = "@IRIS_Id", Value = request.IRIS_Id, SqlDbType = SqlDbType.VarChar, Size = 30 }, new SqlParameter() { ParameterName = "@Gender", Value = request.Gender, SqlDbType = SqlDbType.Char, Size = 1 }, new SqlParameter() { ParameterName = "@EmailId", Value = request.EmailId, SqlDbType = SqlDbType.VarChar, Size = 150 }, new SqlParameter() { ParameterName = "@MobileNo", Value = request.MobileNo, SqlDbType = SqlDbType.VarChar, Size = 10 }, new SqlParameter() { ParameterName = "@StateId", Value = request.StateId, SqlDbType = SqlDbType.Int }, new SqlParameter() { ParameterName = "@CityId", Value = request.CityId, SqlDbType = SqlDbType.Int }, //later will add other search params like "JobRole, IdProofTypeId" etc new SqlParameter() { ParameterName = "@AccountNumber", Value = request.AccountNumber, SqlDbType = SqlDbType.VarChar, Size = 20 }, }); //Comment : Here fill & return generic list from DbSet var listAssessors = new List <Assessor>(); if (dbSet != null && dbSet.Tables.Count > 0) { foreach (DataRow dataRow in dbSet.Tables[0].Rows) { listAssessors.Add( new Assessor() { Id = Convert.ToInt64(dataRow["AssessorId"]), IRIS_Id = dataRow["IRIS_Id"].ToString(), NSDC_Id = dataRow["NSDC_Id"].ToString(), SSC_Id = dataRow["SSC_Id"].ToString(), #region Comment: Here data for dependent child data like Personal, JobRoles, PrefLocation etc PerosnalDetail = new AssessorPersonalDetail() { //refrence key data AssessorId = Convert.ToInt32(dataRow["AssessorId"]), Name = dataRow["AssessorName"].ToString(), Gender = Convert.ToChar((dataRow["Gender"] == DBNull.Value || dataRow["IsActive"] == null) ? null : dataRow["Gender"]), }, CommunicationDetail = new AssessorCommunicationDetail() { //refrence key data AssessorId = Convert.ToInt32(dataRow["AssessorId"]), EmailId = dataRow["EmailId"].ToString(), MobileNo = dataRow["MobileNo"].ToString(), CityName = dataRow["CityName"].ToString(), StateName = dataRow["StateName"].ToString(), }, //IdProofs = new AssessorIdProofDetail() //{ // //refrence key data // AssessorId = Convert.ToInt32(dataRow["AssessorId"]), // //SchemeName = dataRow["SchemeName"].ToString(), // //JobRoleName = dataRow["JobRoleName"].ToString(), // //CityName = dataRow["CityName"].ToString(), // //VTP_Name = dataRow["VTP_Name"].ToString(), // //TotalCandidates = Convert.ToInt32(dataRow["TotalCandidates"]), //}, //JobRoles = new AssessorJobRole() //{ // //refrence key data // AssessorId = Convert.ToInt32(dataRow["AssessorId"]), // //SchemeName = dataRow["SchemeName"].ToString(), // //JobRoleName = dataRow["JobRoleName"].ToString(), // //CityName = dataRow["CityName"].ToString(), // //VTP_Name = dataRow["VTP_Name"].ToString(), // //TotalCandidates = Convert.ToInt32(dataRow["TotalCandidates"]), //}, //PreferredLocations = new AssessorPreferredLocation() //{ // //refrence key data // AssessorId = Convert.ToInt32(dataRow["AssessorId"]), // //SchemeName = dataRow["SchemeName"].ToString(), // //JobRoleName = dataRow["JobRoleName"].ToString(), // //CityName = dataRow["CityName"].ToString(), // //VTP_Name = dataRow["VTP_Name"].ToString(), // //TotalCandidates = Convert.ToInt32(dataRow["TotalCandidates"]), //}, #endregion IsActive = Convert.ToBoolean((dataRow["IsActive"] == DBNull.Value || dataRow["IsActive"] == null) ? 0 : dataRow["IsActive"]) }); } } //assign fecthed list assessorResponse.Assessor = listAssessors; assessorResponse.OperationStatus = new OperationStatus { ServiceName = "SearchAssessor", ServiceMethod = "Get", RequestProcessed = true, RequestSuccessful = true }; } catch (Exception ex) { assessorResponse.OperationStatus = new OperationStatus { Messages = new List <Message>() { new Message() { DTOName = "Assessor", DTOProperty = "", MessageType = MessageType.SystemError, Text = ex.Message } }, RequestProcessed = true, RequestSuccessful = false }; } return(assessorResponse); }