public async Task <UserResponseModel> GetUserById(int userId)
        {
            UserResponseModel user = null;

            using (MySqlConnection conn = new MySqlConnection(_configuration["Database:ConnectionString"]))
            {
                conn.Open();
                MySqlCommand cmd = new MySqlCommand("get_user_by_id", conn);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("userId", userId);

                using (var reader = await cmd.ExecuteReaderAsync())
                {
                    user = UserServiceMapper.ToUser(reader);
                }
            }

            return(user);
        }
        public async Task <List <UserResponseModel> > GetReportingManagerEmployees(int reportingManagerId)
        {
            List <UserResponseModel> users = new List <UserResponseModel>();

            using (MySqlConnection conn = new MySqlConnection(_configuration["Database:ConnectionString"]))
            {
                conn.Open();
                MySqlCommand cmd = new MySqlCommand("get_reporting_manager_users", conn);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("userId", reportingManagerId);

                using (var reader = await cmd.ExecuteReaderAsync())
                {
                    users = UserServiceMapper.ToUsers(reader);
                }
            }

            return(users);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Performs the installation in the <see cref="T:Castle.Windsor.IWindsorContainer" />.
        /// </summary>
        /// <param name="container">The container.</param>
        /// <param name="store">The configuration store.</param>
        public void Install(IWindsorContainer container, IConfigurationStore store)
        {
            if (container == null)
            {
                throw new ArgumentNullException(nameof(container));
            }

            UserServiceMapper.Register();

            container.Register(
                Component.For <IPasswordEncoder>().ImplementedBy <PasswordEncoder>());

            const string UsersContextLocatorName = "UsersContextLocator";

            const string ContextLocatorFieldName = "contextLocator";

            container.Register(
                Component.For <Func <UsersContext> >().Instance(() => new UsersContext())
                .Named(UsersContextLocatorName));

            container.Register(
                Component.For <IUsersDataService>().ImplementedBy <UsersDataService>()
                .DependsOn(ServiceOverride.ForKey(ContextLocatorFieldName).Eq(UsersContextLocatorName)));
        }