public IHttpActionResult SearchAssessor([FromUri] SearchAssessorRequestParams searchParams)
        {
            if (searchParams == null)
            {
                searchParams = new SearchAssessorRequestParams();
            }

            return(Ok(GetAssessorDbService().SearchAssessors(searchParams)));
        }
Example #2
0
        /// <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);
        }