예제 #1
0
        public List <Employee> getListEmployee(FiltrEmployee filterEmpl)
        {
            List <Employee> listEmployee      = new List <Employee>();
            String          get_employee_list = "get_employee_list";

            using (SqlConnection connection = new SqlConnection(sqlConnectionString))
            {
                SqlCommand command = new SqlCommand(get_employee_list, connection);
                command.CommandType = System.Data.CommandType.StoredProcedure;

                SqlParameter sp_surname = new SqlParameter("@surname", System.Data.SqlDbType.NVarChar);
                sp_surname.Value     = filterEmpl.Surname;
                sp_surname.Direction = System.Data.ParameterDirection.Input;

                SqlParameter sp_name = new SqlParameter("@name", System.Data.SqlDbType.NVarChar); //sp_name.DbType = System.Data.DbType.String;?
                sp_name.Value     = filterEmpl.Name;
                sp_name.Direction = System.Data.ParameterDirection.Input;

                SqlParameter sp_middleName = new SqlParameter("@middle_name", System.Data.SqlDbType.NVarChar);
                sp_middleName.Value     = filterEmpl.Middle_name;
                sp_middleName.Direction = System.Data.ParameterDirection.Input;

                SqlParameter sp_numberPage = new SqlParameter("@numberPage", System.Data.SqlDbType.Int);
                sp_numberPage.Value     = filterEmpl.numberPage;
                sp_numberPage.Direction = System.Data.ParameterDirection.Input;

                SqlParameter sp_countInPage = new SqlParameter("@countInPage", System.Data.SqlDbType.Int);
                sp_countInPage.Value     = filterEmpl.countInPage;
                sp_countInPage.Direction = System.Data.ParameterDirection.Input;

                command.Parameters.Add(sp_surname);
                command.Parameters.Add(sp_name);
                command.Parameters.Add(sp_middleName);
                command.Parameters.Add(sp_numberPage);
                command.Parameters.Add(sp_countInPage);

                command.Connection.Open();

                SqlDataReader reader = command.ExecuteReader();

                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        Employee empl = new Employee();

                        empl.employee_id = Convert.ToInt32(reader.GetValue(0));
                        empl.surname     = Convert.ToString(reader.GetValue(1));
                        empl.name        = Convert.ToString(reader.GetValue(2));
                        empl.middle_name = Convert.ToString(reader.GetValue(3));
                        empl.birthday    = reader.GetValue(4) == DBNull.Value ? default(DateTime) : Convert.ToDateTime(reader.GetValue(4));

                        listEmployee.Add(empl);
                    }
                }
                command.Connection.Close();

                return(listEmployee);
            }
        }
        public async Task <List <Employee> > getListEmployeeAsync(FiltrEmployee filtrEmpl)
        {
            var listEmployee = new List <Employee>();
            var resultApi    = new ResultApi();

            HttpClient client = new HttpClient();

            string req = urlEmployeeApi + "?Surname=" + filtrEmpl.Surname + "&Name=" +
                         filtrEmpl.Name + "&Middle_name=" + filtrEmpl.Middle_name + "&countInPage=" + filtrEmpl.countInPage + "&numberPage=" + filtrEmpl.numberPage;

            HttpResponseMessage response = await client.GetAsync(req);

            response.EnsureSuccessStatusCode();

            string responseBody = await response.Content.ReadAsStringAsync();

            resultApi = JsonConvert.DeserializeObject <ResultApi>(responseBody);

            if (resultApi.code >= 0)
            {
                listEmployee = resultApi.lstEmployee;
            }

            return(listEmployee);
        }
예제 #3
0
        public List <Employee> getListEmployee(FiltrEmployee filterEmpl)
        {
            if (filterEmpl.countInPage == null || filterEmpl.countInPage == 0)
            {
                filterEmpl.countInPage = 5;
            }

            if (filterEmpl.numberPage == null || filterEmpl.numberPage == 0)
            {
                filterEmpl.numberPage = 0;
            }

            List <Employee> listEmployee = new List <Employee>();

            using (ApplicationContext db = new ApplicationContext())
            {
                if (filterEmpl == null | (filterEmpl.Surname == null && filterEmpl.Name == null && filterEmpl.Middle_name == null))
                {
                    listEmployee = db.Employee.Skip((filterEmpl.numberPage - 1) * filterEmpl.countInPage).Take(filterEmpl.countInPage).ToList();
                }
                else
                {
                    listEmployee = db.Employee.Where(p => (p.surname.StartsWith(filterEmpl.Surname) || filterEmpl.Surname == null) &&
                                                     (p.name.StartsWith(filterEmpl.Name) || filterEmpl.Name == null) &&
                                                     (p.middle_name.StartsWith(filterEmpl.Middle_name) || filterEmpl.Middle_name == null))
                                   .Skip((filterEmpl.numberPage - 1) * filterEmpl.countInPage).Take(filterEmpl.countInPage).ToList();
                }
            }
            return(listEmployee);
        }
        private async void showListAsync()
        {
            FiltrEmployee filterEmpl = new FiltrEmployee();

            filterEmpl.Surname     = txtFilterSurname.Text;
            filterEmpl.Name        = txtFilterName.Text;
            filterEmpl.Middle_name = txtFilterMiddleName.Text;

            filterEmpl.countInPage = this.countInPage;
            filterEmpl.numberPage  = this.numberPageOfDataGrid;

            Logic.HttpClientHR httpClientHR = new Logic.HttpClientHR();
            List <Employee>    result       = await httpClientHR.getListEmployeeAsync(filterEmpl);

            dgEmployee.ItemsSource = result;
        }
        public ResultApi Get([FromQuery] FiltrEmployee filterEmpl)

        {
            ResultApi result = new ResultApi();

            try
            {
                result.lstEmployee = db.getListEmployee(filterEmpl);
                result.code        = 0;
                result.info        = "";
            }
            catch (Exception e)
            {
                result.code = -1;
                result.info = e.Message.ToString() + "\n" + e.Message;
            }
            return(result);
        }