コード例 #1
0
        public async Task CreateUserAmazonAccount(UserAmazonAccount model)
        {
            try
            {
                await _connection.OpenAsync();

                var cmd = new MySqlCommand("Create_UserAmazonAccount", _connection);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("UserIdVal", model.UserId);
                cmd.Parameters.AddWithValue("BucketNameVal", model.BucketName);
                cmd.Parameters.AddWithValue("AccessKeyVal", model.AccessKey);
                cmd.Parameters.AddWithValue("SecretKeyVal", model.SecretKey);
                cmd.Parameters.AddWithValue("IamUserNameVal", model.IamUsername);
                cmd.Parameters.AddWithValue("BuckePathVal", model.BucketPath);
                cmd.Parameters.AddWithValue("Actor", model.Actor);
                cmd.ExecuteNonQuery();
            }
            catch { throw; }
            finally { await _connection.CloseAsync(); }
        }
コード例 #2
0
        public async Task <IActionResult> CreateAmazonAccount(int id)
        {
            var actor   = ApplicationUtility.GetTokenAttribute(Request.Headers["Authorization"], "sub");
            var service = new UserRepositoryService(connString);
            var instituteAmazonAccInfo = await service.GetInstituteAmazonAccountDetail(id);

            var amazons3Service = new AmazonS3Service();
            var accname         = instituteAmazonAccInfo.UserName.ToLower();
            await amazons3Service.CreateFolder(instituteAmazonAccInfo.BucketName, accname,
                                               instituteAmazonAccInfo.AccessKey, instituteAmazonAccInfo.SecretKey);

            var amazoniamService = new AmazonIAMService();
            var iamacc           = accname + Guid.NewGuid().ToString().ToLower();
            var path             = "/" + instituteAmazonAccInfo.BucketName + "/" + instituteAmazonAccInfo.UserName.ToLower() + "/";
            var amazonaccount    = await amazoniamService.CreateIAMUser(path, iamacc);

            var model = new UserAmazonAccount()
            {
                AccessKey   = amazonaccount.AccessKey,
                Actor       = actor,
                BucketName  = instituteAmazonAccInfo.BucketName,
                BucketPath  = "/" + instituteAmazonAccInfo.UserName.ToLower(),
                IamUsername = iamacc,
                SecretKey   = amazonaccount.SecurityKey,
                UserId      = instituteAmazonAccInfo.UserId
            };
            await service.CreateUserAmazonAccount(model);

            var response = new GenericResponse <string>()
            {
                IsSuccess    = true,
                Message      = "Amazon account created successfully.",
                ResponseCode = 200,
                Result       = "Success"
            };

            return(Ok(response));
        }