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(); } }
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)); }