Ejemplo n.º 1
0
        public async Task <IActionResult> SearchMpi([FromBody] SearchMpi search)
        {
            if (null == search)
            {
                return(BadRequest());
            }
            try
            {
                var results = await _mediator.Send <List <MpiSearchResultDto> >(search, HttpContext.RequestAborted);

                return(Ok(results));
            }
            catch (Exception e)
            {
                Log.Error(e, "search error");
                return(StatusCode(500, e.Message));
            }
        }
        public List <MpiSearchResultDto> MpiSearch(SearchMpi parameters)
        {
            string sex = "M";

            if (parameters.Gender == Gender.Female)
            {
                sex = "F";
            }
            var           result     = new List <MpiSearchResultDto>();
            SqlConnection connection = new SqlConnection(ConnectionString);
            SqlCommand    cmd        = new SqlCommand();

            cmd.CommandText = "Pr_SearchMasterPatientIndex";
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection  = connection;
            cmd.Parameters.Add(new SqlParameter("@FirstName", parameters.FirstName));
            cmd.Parameters.Add(new SqlParameter("@MiddleName", parameters.MiddleName));
            cmd.Parameters.Add(new SqlParameter("@LastName", parameters.LastName));
            cmd.Parameters.Add(new SqlParameter("@Gender", sex));
            cmd.Parameters.Add(new SqlParameter("@DateOfBirth", parameters.Dob));
            cmd.Parameters.Add(new SqlParameter("@Telephone", parameters.PhoneNumber));
            cmd.Parameters.Add(new SqlParameter("@NationalId", parameters.NationalId));
            cmd.Parameters.Add(new SqlParameter("@NHIFNumber", parameters.NhifNumber));
            cmd.Parameters.Add(new SqlParameter("@Actual", 0));

            connection.Open();

            using (SqlDataReader reader = cmd.ExecuteReader())
            {
                //read the data
                while (reader.Read())
                {
                    var resultItem = Mapper.Map <IDataRecord, MpiSearchResultDto>(reader);
                    result.Add(resultItem);
                }
            }
            connection.Close();
            return(result);
        }
Ejemplo n.º 3
0
        public async Task <List <MpiSearchResultDto> > Handle(SearchMpi request, CancellationToken cancellationToken)
        {
            var response = await Task.Run(() => _masterPatientIndexRepository.MpiSearch(request), cancellationToken);

            return(response);
        }