Ejemplo n.º 1
0
        private AwsSecureCredentials GetCredentials(ICredentialResolutionContext context)
        {
            AwsSecureCredentials credentials;

            if (string.IsNullOrEmpty(this.CredentialName))
            {
                credentials = this.AccessKey == null ? null : new AwsSecureCredentials();
            }
            else
            {
                credentials = SecureCredentials.TryCreate(this.CredentialName, context) as AwsSecureCredentials;
                if (credentials == null)
                {
                    var rc = SecureCredentials.TryCreate(this.CredentialName, context) as AwsLegacyCredentials;
                    credentials = rc?.ToSecureCredentials() as AwsSecureCredentials;
                }
            }

            if (credentials != null)
            {
                credentials.AccessKeyId     = AH.CoalesceString(this.AccessKey, credentials.AccessKeyId);
                credentials.SecretAccessKey = !string.IsNullOrWhiteSpace(this.SecretAccessKey) ? AH.CreateSecureString(this.SecretAccessKey) : credentials.SecretAccessKey;
            }

            return(credentials);
        }
Ejemplo n.º 2
0
        protected override void RegisterTypes(IContainerRegistry containerRegistry)
        {
            IAuthService    authService    = new AuthService("<YourFirebaseApiKey>");
            IUserRepository userRepository = new UserRepository("<YourFirebaseDatabaseURL>", authService);

            authService.UserRepository = userRepository;
            IReservationRepository reservationRepository = new ReservationRepository("<YourFirebaseDatabaseURL>", authService);
            IReservationService    reservationService    = new ReservationService(reservationRepository);

            //ICredentials credentials = new DummyCredentials();
            //credentials.Password = "******";
            //credentials.User = new ClubUser { Email = "*****@*****.**" };
            ICredentials credentials = new SecureCredentials(CrossSecureStorage.Current);


            containerRegistry.RegisterInstance <IAuthService>(authService);
            containerRegistry.RegisterInstance <IReservationRepository>(reservationRepository);
            containerRegistry.RegisterInstance <IReservationService>(reservationService);
            containerRegistry.RegisterInstance <ICredentials>(credentials);

            containerRegistry.RegisterForNavigation <NavigationPage>();
            containerRegistry.RegisterForNavigation <NewReservationPage>();
            containerRegistry.RegisterForNavigation <ReservationsPage>();
            containerRegistry.RegisterForNavigation <ReservationPage>();
            containerRegistry.RegisterForNavigation <LoginPage>();
            containerRegistry.RegisterForNavigation <UserProfilePage>();
        }
Ejemplo n.º 3
0
        public SalesNewCustomerResponse AddNewCustomerStageTwo(SalesNewCustomerRequest payload)
        {
            var    _client        = new RestActions(_contentRootPath);
            string url            = _configSettingManager.ArmBaseUrl + "/Sale/NewCustomer";
            var    encryptedValue = new SecureCredentials();

            payload.ServiceUsername = encryptedValue.DecryptCredentials(_configSettingManager.ArmServiceUsername);
            payload.ServicePassword = encryptedValue.DecryptCredentials(_configSettingManager.ArmServicePassword);
            return(_client.CallRestAction <SalesNewCustomerResponse, SalesNewCustomerRequest>(payload, url));
        }
Ejemplo n.º 4
0
        public YieldHistoryResponse GetFundYieldHistory(YieldHistoryRequest payload)
        {
            var    _client        = new RestActions(_contentRootPath);
            string url            = _configSettingManager.ArmFundBaseUrl + "/Fund/YieldHistory";
            var    encryptedValue = new SecureCredentials();

            payload.ServiceUsername = encryptedValue.DecryptCredentials(_configSettingManager.ArmServiceUsername);
            payload.ServicePassword = encryptedValue.DecryptCredentials(_configSettingManager.ArmServicePassword);
            return(_client.CallRestAction <YieldHistoryResponse, YieldHistoryRequest>(payload, url));
        }
Ejemplo n.º 5
0
        public AddSecurityQuestionResponse AddSecurityQuestion(AddSecurityQuestionRequest payload)
        {
            string url            = _configSettingManager.ArmBaseUrl + "/Client/AddSecurityQuestion";
            var    encryptedValue = new SecureCredentials();
            var    _client        = new RestActions(_contentRootPath);

            payload.ServiceUsername = encryptedValue.DecryptCredentials(_configSettingManager.ArmServiceUsername);
            payload.ServicePassword = encryptedValue.DecryptCredentials(_configSettingManager.ArmServicePassword);
            return(_client.CallRestAction <AddSecurityQuestionResponse, AddSecurityQuestionRequest>(payload, url));
        }
Ejemplo n.º 6
0
        public TotalBalanceResponse GetTotalBalance(TotalBalanceRequest payload)
        {
            var    _client        = new RestActions(_contentRootPath);
            string url            = _configSettingManager.ArmBaseUrl + "/Portfolio/TotalBalance";
            var    encryptedValue = new SecureCredentials();

            payload.ServiceUsername = encryptedValue.DecryptCredentials(_configSettingManager.ArmServiceUsername);
            payload.ServicePassword = encryptedValue.DecryptCredentials(_configSettingManager.ArmServicePassword);
            return(_client.CallRestAction <TotalBalanceResponse, TotalBalanceRequest>(payload, url));
        }
Ejemplo n.º 7
0
        public SubAccountsResponse SubAccounts(SubAccountsRequest payload)
        {
            var    _client        = new RestActions(_contentRootPath);
            string url            = _configSettingManager.ArmBaseUrl + "/Client/SubAccounts";
            var    encryptedValue = new SecureCredentials();

            payload.ServiceUsername = encryptedValue.DecryptCredentials(_configSettingManager.ArmServiceUsername);
            payload.ServicePassword = encryptedValue.DecryptCredentials(_configSettingManager.ArmServicePassword);
            return(_client.CallRestAction <SubAccountsResponse, SubAccountsRequest>(payload, url));
        }
Ejemplo n.º 8
0
        public RedemptionResponse SendRedemption(RedemptionRequest payload)
        {
            var    _client        = new RestActions(_contentRootPath);
            string url            = _configSettingManager.ArmBaseUrl + "/SelfService/Redemption";
            var    encryptedValue = new SecureCredentials();

            payload.ServiceUsername = encryptedValue.DecryptCredentials(_configSettingManager.ArmServiceUsername);
            payload.ServicePassword = encryptedValue.DecryptCredentials(_configSettingManager.ArmServicePassword);
            return(_client.CallRestAction <RedemptionResponse, RedemptionRequest>(payload, url));
        }
Ejemplo n.º 9
0
        public AdditionalInvResponse AddSales(InvestmentRequest payload)
        {
            var    _client        = new RestActions(_contentRootPath);
            string url            = _configSettingManager.ArmBaseUrl + "/Sale/Additional";
            var    encryptedValue = new SecureCredentials();

            payload.ServiceUsername = encryptedValue.DecryptCredentials(_configSettingManager.ArmServiceUsername);
            payload.ServicePassword = encryptedValue.DecryptCredentials(_configSettingManager.ArmServicePassword);
            return(_client.CallRestAction <AdditionalInvResponse, InvestmentRequest>(payload, url));
        }
Ejemplo n.º 10
0
        public ChangePasswordResponse ChangePassword(ChangePasswordRequest payload)
        {
            string url            = _configSettingManager.ArmOne + "/Client/ChangePassword";
            var    encryptedValue = new SecureCredentials();
            var    _client        = new RestActions(_contentRootPath);

            payload.ServiceUsername = encryptedValue.DecryptCredentials(_configSettingManager.ArmServiceUsername);
            payload.ServicePassword = encryptedValue.DecryptCredentials(_configSettingManager.ArmServicePassword);
            return(_client.CallRestAction <ChangePasswordResponse, ChangePasswordRequest>(payload, url));
        }
 public void CreateProviderWithCredentials(SecureCredentials credentials)
 {
     if (!_isCloning)
     {
         Provider = _providerFactory.CreateProvider(_vbe.ActiveVBProject, Provider.CurrentRepository, credentials);
     }
     else
     {
         CloneRepo(credentials);
     }
 }
Ejemplo n.º 12
0
        private static EdFiOdsApiConfiguration GetEdFiOdsApiConfig(LearningStandardsJobContext context,
                                                                   SecureCredentials credentials)
        {
            var oAuthAuthenticationConfiguration = new AuthenticationConfiguration(
                credentials.ProductionApiKey,
                credentials.ProductionApiSecret);

            return(new EdFiOdsApiConfiguration(
                       context.ApiUrl, EdFiOdsApiCompatibilityVersion.v3,
                       oAuthAuthenticationConfiguration, context.SchoolYear));
        }
Ejemplo n.º 13
0
        private string Serialize(IVariableFunctionContext context)
        {
            // Empty string is interpreted as a password to make the two-argument version of this function keep its existing behavior.
            if (this.Password == null)
            {
                var credential = SecureCredentials.TryCreate(this.UserName, (ICredentialResolutionContext)context);
                if (credential is Credentials.UsernamePasswordCredentials upcred)
                {
                    this.UserName = upcred.UserName;
                    this.Password = upcred.Password;
                }
                else
                {
                    throw new InvalidOperationException($"No such UsernamePassword credential: {this.UserName}");
                }
            }

            var userName = InedoLib.UTF8Encoding.GetBytes(this.UserName ?? string.Empty);
            var password = default(IntPtr);

            try
            {
                password = Marshal.SecureStringToBSTR(this.Password ?? new SecureString());
                unsafe
                {
                    int passwordByteCount = InedoLib.UTF8Encoding.GetByteCount((char *)password, this.Password.Length);
                    var buffer            = new byte[userName.Length + passwordByteCount + (sizeof(int) * 2)];
                    try
                    {
                        fixed(byte *bufferPtr = buffer)
                        {
                            *(int *)&bufferPtr[0] = userName.Length;
                            Marshal.Copy(userName, 0, new IntPtr(&bufferPtr[sizeof(int)]), userName.Length);

                            *(int *)&bufferPtr[userName.Length + sizeof(int)] = passwordByteCount;
                            InedoLib.UTF8Encoding.GetBytes((char *)password.ToPointer(), this.Password.Length, &bufferPtr[userName.Length + (sizeof(int) * 2)], passwordByteCount);
                        }

                        return(Prefix + Convert.ToBase64String(buffer));
                    }
                    finally
                    {
                        Array.Clear(buffer, 0, buffer.Length);
                    }
                }
            }
            finally
            {
                if (password != default)
                {
                    Marshal.ZeroFreeBSTR(password);
                }
            }
        }
Ejemplo n.º 14
0
        private void CloneRepo(SecureCredentials credentials = null)
        {
            _isCloning = true;
            _listening = false;

            Logger.Trace("Cloning repo");
            ISourceControlProvider oldProvider;

            try
            {
                oldProvider = _provider;
                _provider   = _providerFactory.CreateProvider(_vbe.ActiveVBProject);
                _providerFactory.Release(oldProvider);
                var repo = _provider.Clone(CloneRemotePath, LocalDirectory, credentials);
                AddOrUpdateLocalPathConfig(new Repository
                {
                    Id             = _vbe.ActiveVBProject.HelpFile,
                    LocalLocation  = repo.LocalLocation,
                    RemoteLocation = repo.RemoteLocation
                });
                oldProvider = Provider;
                Provider    = _providerFactory.CreateProvider(_vbe.ActiveVBProject, repo);
                _providerFactory.Release(oldProvider);
            }
            catch (SourceControlException ex)
            {
                const string unauthorizedMessage = "Request failed with status code: 401";
                if (ex.InnerException != null && ex.InnerException.Message != unauthorizedMessage)
                {
                    _isCloning = false;
                }

                HandleViewModelError(this, new ErrorEventArgs(ex.Message, ex.InnerException, NotificationType.Error));
                return;
            }
            catch
            {
                HandleViewModelError(this,
                                     new ErrorEventArgs(RubberduckUI.SourceControl_UnknownErrorTitle,
                                                        RubberduckUI.SourceControl_UnknownErrorMessage, NotificationType.Error));
                throw;
            }

            _isCloning = false;
            _listening = true;
            CloseCloneRepoGrid();

            Status = RubberduckUI.Online;
        }
Ejemplo n.º 15
0
        private void _loginView_Confirm(object sender, EventArgs e)
        {
            var pwd = new SecureString();

            foreach (var c in _loginView.Password.ToCharArray())
            {
                pwd.AppendChar(c);
            }

            pwd.MakeReadOnly();

            var creds = new SecureCredentials(_loginView.Username, pwd);

            _provider = _providerFactory.CreateProvider(this.VBE.ActiveVBProject,
                                                        _config.Repositories.First(repo => repo.Name == this.VBE.ActiveVBProject.Name),
                                                        creds);

            SetChildPresenterSourceControlProviders(_provider);
        }
 public ISourceControlProvider CreateProvider(VBProject project, IRepository repository, SecureCredentials creds)
 {
     return new GitProvider(project, repository, creds);
 }
Ejemplo n.º 17
0
 private static AuthenticationConfiguration GetAcademicBenchmarkApiAuthConfig(SecureCredentials secureCredentials)
 {
     return(new AuthenticationConfiguration(
                secureCredentials.AcademicBenchmarkApiKey,
                secureCredentials.AcademicBenchmarkApiSecret));
 }
Ejemplo n.º 18
0
        public IActionResult ProcessPayment([FromBody] Investment modelview)
        {
            Buy model = new Buy();

            model.TotalAmount = modelview.TotalAmount;
            model.Orders      = modelview.Orders;

            //var _user = HttpContext.Session.Get<AuthenticateResponse>("ArmUser");
            var _user = new AuthenticateResponse
            {
                MembershipKey = 1006979,                   //1007435,
                EmailAddress  = "*****@*****.**", //"*****@*****.**",
                FirstName     = "Tolulope",
                LastName      = "Olusakin",
                FullName      = "Olusakin Tolulope S" //"Funmilayo Ruth Adeyemi",
                                                      //MembershipKey = 1007435,
                                                      //EmailAddress = "*****@*****.**",
                                                      //FirstName = "Funmilayo",
                                                      //LastName = "Adeyemi",
                                                      //FullName = "Funmilayo Ruth Adeyemi",
            };

            try
            {
                AccountStatementViewModel postdata = new AccountStatementViewModel();
                var decrypt = new SecureCredentials();

                string MacKey = _configSettingManager.ArmMacKey;

                if (ModelState.IsValid)
                {
                    var customer = new CustomerDetail();
                    customer = _client.GetUserProfile(_user.MembershipKey);

                    TransactionRequest iRequest = new TransactionRequest
                    {
                        CustomerReference = _user.MembershipKey,
                        CustomerName      = _user.FullName,
                        EmailAddress      = _user.EmailAddress,
                        MobileNumber      = customer.MobileNumber
                    };

                    var     ItemData          = String.Empty;
                    var     XmlData           = String.Empty;
                    decimal TransactionAmount = 0;

                    List <paymentItems> Items = new List <paymentItems>();
                    if (model.Orders != null && model.Orders.Count > 0)
                    {
                        foreach (var item in model.Orders)
                        {
                            if (model.Orders.ContainsKey(item.Key) && model.Orders[item.Key].Equals(item.Value))
                            {
                                if (item.Value > 999)
                                {
                                    var damount = item.Value * 100;
                                    ItemData += $@"<payment_item>
                                                        <item_code>{item.Key}</item_code>
                                                        <item_amt>{damount}</item_amt>
                                                    </payment_item>";

                                    TransactionAmount += damount;

                                    paymentItems paymentitem = new paymentItems();
                                    paymentitem.ItemCode   = item.Key;
                                    paymentitem.ItemName   = item.Key;
                                    paymentitem.ItemAmount = TransactionAmount / 100;

                                    Items.Add(paymentitem);
                                }
                            }
                        }

                        iRequest.PaymentItems = Items;
                    }

                    if (TransactionAmount <= 0)
                    {
                        return(StatusCode((int)HttpStatusCode.ExpectationFailed, "Invalid Transaction."));
                    }
                    else
                    {
                        XmlData = $@"<paymentitemxml> <payment_items>{ItemData}</payment_items> </paymentitemxml>";
                    }

                    var TransactionReference = _client.GenerateUniqueID(_user.MembershipKey);

                    orderPayment orderpayment = new orderPayment();
                    orderpayment.Amount        = TransactionAmount / 100;
                    orderpayment.PaymentMethod = "unknown";
                    orderpayment.PaymentLogId  = TransactionReference;

                    iRequest.OrderPayment = orderpayment;

                    var InvReq = JsonConvert.SerializeObject(iRequest, Formatting.Indented);

                    var userdetails    = JsonConvert.SerializeObject(_user, Formatting.Indented);
                    var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(userdetails);
                    var user           = System.Convert.ToBase64String(plainTextBytes);

                    var transaction = new TransactionModel
                    {
                        ArmVendorUserName = decrypt.DecryptCredentials(_configSettingManager.ArmServiceUsername),
                        ArmTranxID        = TransactionReference,
                        ArmTranxAmount    = TransactionAmount,
                        ArmCustomerID     = _user.MembershipKey,
                        ArmCustomerName   = _user.FullName,
                        ArmTranxCurr      = "566",
                        ArmTranxNotiUrl   = string.Format("{0}://{1}{2}", Request.Scheme, Request.Host.ToUriComponent(), Request.PathBase.ToUriComponent()) + "/PaymentStatus?au=" + user,
                        ArmXmlData        = XmlData,
                        ArmPaymentParams  = TransactionReference,
                        PaymentRequest    = InvReq
                    };

                    //var HashData = _client.PaymentsHashString(MacKey, transaction);
                    var hashString = String.Concat(transaction.ArmTranxID, transaction.ArmVendorUserName,
                                                   transaction.ArmTranxAmount, transaction.ArmTranxNotiUrl, MacKey);
                    string ArmHash = _client.GetHashString(hashString);
                    transaction.ArmHash = ArmHash;

                    ProcessPayments getTransactions = new ProcessPayments();
                    getTransactions.Action            = _configSettingManager.ArmAggregatorBaseUrl + "/Aggregator2/Payment";
                    getTransactions.ArmVendorUserName = transaction.ArmVendorUserName;
                    getTransactions.ArmTranxId        = transaction.ArmTranxID;
                    getTransactions.ArmTranxAmount    = transaction.ArmTranxAmount.ToString();
                    getTransactions.ArmCustomerId     = transaction.ArmCustomerID.ToString();
                    getTransactions.ArmCustomerName   = transaction.ArmCustomerName;
                    getTransactions.ArmTranxCurr      = transaction.ArmTranxCurr;
                    getTransactions.ArmTranxNotiUrl   = transaction.ArmTranxNotiUrl;
                    getTransactions.ArmXmlData        = transaction.ArmXmlData;
                    getTransactions.ArmPaymentParams  = transaction.ArmPaymentParams;
                    getTransactions.PaymentRequest    = transaction.PaymentRequest;
                    getTransactions.ArmHash           = transaction.ArmHash;

                    postdata.ProcessPayments = getTransactions;
                    db.ProcessPayments.Add(postdata.ProcessPayments);
                    db.SaveChanges();

                    return(Json(getTransactions));
                }
            }
            catch (Exception ex)
            {
                HttpContext.Session.Set("error", ex.Message);
                TempData["message"] = ViewBag.Message = ex.Message;
                Utilities.ProcessError(ex, _contentRootPath);
                _logger.LogError(null, ex, ex.Message);
            }

            return(View());
        }
Ejemplo n.º 19
0
 public void CreateProviderWithCredentials(SecureCredentials credentials)
 {
     Provider = _providerFactory.CreateProvider(_vbe.ActiveVBProject, Provider.CurrentRepository, credentials, _wrapperFactory);
 }
Ejemplo n.º 20
0
        public IActionResult CancelDirectDebit(int id)
        {
            var decrypt = new SecureCredentials();

            //var _user = HttpContext.Session.Get<AuthenticateResponse>("ArmUser");
            var _user = new AuthenticateResponse
            {
                MembershipKey = 1006979,                   //1007435,
                EmailAddress  = "*****@*****.**", //"*****@*****.**",
                FirstName     = "Tolulope",
                LastName      = "Olusakin",
                FullName      = "Olusakin Tolulope S" //"Funmilayo Ruth Adeyemi",
                                                      //MembershipKey = 1007435,
                                                      //EmailAddress = "*****@*****.**",
                                                      //FirstName = "Funmilayo",
                                                      //LastName = "Adeyemi",
                                                      //FullName = "Funmilayo Ruth Adeyemi",
            };
            var vendorUserName = decrypt.DecryptCredentials(_configSettingManager.ArmServiceUsername);
            var mackey         = _configSettingManager.ArmMacKey;

            try
            {
                var directDebit = db.DDebit
                                  .Where(s => s.CustomerId == _user.MembershipKey.ToString() && s.Id == id)
                                  .FirstOrDefault <DDebit>();

                var notifyUrl = Url.Action("TransactionStatus", "Buy", new { type = 1 }, Request.Scheme);
                if (directDebit != null)
                {
                    var HashData = $@"{_user.MembershipKey}{vendorUserName}{directDebit.CardMask}{mackey}";
                    var ArmHash  = _client.GetHashString(HashData);

                    var cRequest = new CancelDirectDebitRequest
                    {
                        ArmDdRef          = directDebit.DirectDebitReference,
                        ArmVendorUsername = vendorUserName,
                        ArmHash           = ArmHash,
                        ArmCcMask         = directDebit.CardMask,
                        ArmCcType         = directDebit.CardType,
                        ArmCustId         = directDebit.CustomerId
                    };
                    var cResponse = _clientService.CancelDirectDebit(cRequest);

                    if (cResponse.ArmDdStatusCode == "0" || cResponse.ArmDdStatusCode == "00")
                    {
                        //delete record from the DB
                        db.DDebit.Remove(directDebit);
                        db.SaveChanges();

                        return(Json(cResponse));
                    }
                    else if (cResponse.ArmDdStatusCode == "Z2")
                    {
                        return(Json(cResponse));
                    }
                    else
                    {
                        return(StatusCode((int)HttpStatusCode.ExpectationFailed, cResponse.ArmDdStatusCode + " There was a problem processing your request."));
                    }
                }
                else
                {
                    return(NotFound("No direct debit mandate found for the provided information."));
                }
            }
            catch (Exception ex)
            {
                HttpContext.Session.Set("error", ex.Message);
                TempData["message"] = ViewBag.Message = ex.Message;
                Utilities.ProcessError(ex, _contentRootPath);
                _logger.LogError(null, ex, ex.Message);
            }
            return(View());
        }
Ejemplo n.º 21
0
 public void PrepareTests()
 {
     _storage = Substitute.For <ISecureStorage>();
     _sut     = new SecureCredentials(_storage);
 }
Ejemplo n.º 22
0
 public ISourceControlProvider CreateProvider(VBProject project, IRepository repository, SecureCredentials creds)
 {
     return(new GitProvider(project, repository, creds));
 }
Ejemplo n.º 23
0
        //[ValidateAntiForgeryToken]
        public IActionResult ProcessDirectDebit([FromBody] SetUp model)
        {
            ////var _user = HttpContext.Session.Get<AuthenticateResponse>("ArmUser");
            var _user = new AuthenticateResponse
            {
                MembershipKey = 1006979,                   //1007435,
                EmailAddress  = "*****@*****.**", //"*****@*****.**",
                FirstName     = "Tolulope",
                LastName      = "Olusakin",
                FullName      = "Olusakin Tolulope S" //"Funmilayo Ruth Adeyemi",
                                                      //MembershipKey = 1007435,
                                                      //EmailAddress = "*****@*****.**",
                                                      //FirstName = "Funmilayo",
                                                      //LastName = "Adeyemi",
                                                      //FullName = "Funmilayo Ruth Adeyemi",
            };

            try
            {
                var decrypt = new SecureCredentials();

                string MacKey  = _configSettingManager.ArmMacKey;
                var    XmlData = string.Empty;

                if (ModelState.IsValid)
                {
                    var product   = model.ProductCode;
                    var amount    = Decimal.Parse(model.Amount) * 100;
                    var startdate = model.StartDate;
                    var frequency = model.Frequency;

                    if (amount <= 0)
                    {
                        return(StatusCode((int)HttpStatusCode.ExpectationFailed, "Invalid Transaction."));
                    }
                    else
                    {
                        XmlData = $@"<paymentitemxml>
                                       <payment_items> 
                                            <payment_item>
                                               <item_code>{product}</item_code>
                                               <item_amt>{amount}</item_amt>
                                            </payment_item>
                                       </payment_items>
                                   </paymentitemxml>";
                    }

                    var userdetails    = JsonConvert.SerializeObject(_user, Formatting.Indented);
                    var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(userdetails);
                    var userprofile    = System.Convert.ToBase64String(plainTextBytes);

                    var TransactionReference = _client.GenerateUniqueID(_user.MembershipKey);
                    var transactionDebit     = new DirectDebitTransactionModel
                    {
                        ArmVendorUserName = decrypt.DecryptCredentials(_configSettingManager.ArmServiceUsername),
                        ArmCustomerID     = _user.MembershipKey,
                        ArmCustomerName   = _user.FullName,
                        ArmDdAmt          = amount,
                        ArmStartDate      = startdate,
                        ArmFrequency      = frequency,
                        ArmDdNotiUrl      = string.Format("{0}://{1}{2}", Request.Scheme, Request.Host.ToUriComponent(), Request.PathBase.ToUriComponent()) + "/Client/Buy/DebitStatus?au=" + userprofile,
                        ArmPaymentParams  = TransactionReference,
                        ArmXmlData        = XmlData
                    };

                    var HashData = _client.DebitHashString(MacKey, transactionDebit);

                    var hashString = String.Concat(transactionDebit.ArmCustomerID, transactionDebit.ArmVendorUserName,
                                                   transactionDebit.ArmDdAmt, transactionDebit.ArmDdNotiUrl, MacKey);

                    var ArmHash = _client.GetHashString(hashString);
                    transactionDebit.ArmHash = ArmHash;

                    DirectDebitTransactions debit = new DirectDebitTransactions();
                    debit.Action            = _configSettingManager.ArmAggregatorBaseUrl + "/Aggregator/DirectDebit/";
                    debit.ArmVendorUsername = transactionDebit.ArmVendorUserName;
                    debit.ArmCustomerId     = transactionDebit.ArmCustomerID.ToString();
                    debit.ArmCustomerName   = transactionDebit.ArmCustomerName;
                    debit.ArmDdAmt          = transactionDebit.ArmDdAmt;
                    debit.ArmStartDate      = transactionDebit.ArmStartDate;
                    debit.ArmFrequency      = transactionDebit.ArmFrequency;
                    debit.ArmDdNotiUrl      = transactionDebit.ArmDdNotiUrl;
                    debit.ArmPaymentParams  = transactionDebit.ArmPaymentParams;
                    debit.ArmXmlData        = transactionDebit.ArmXmlData;
                    debit.ArmHash           = transactionDebit.ArmHash;

                    db.DirectDebitTransactions.Add(debit);
                    db.SaveChanges();

                    return(Json(debit));
                }
            }
            catch (Exception ex)
            {
                TempData["message"] = ViewBag.Message = ex.Message;
                Utilities.ProcessError(ex, _contentRootPath);
                _logger.LogError(null, ex, ex.Message);
            }
            return(View());
        }
 public ISourceControlProvider CreateProvider(VBProject project, IRepository repository, SecureCredentials creds, ICodePaneWrapperFactory wrapperFactory)
 {
     return new GitProvider(project, repository, creds, wrapperFactory);
 }
        private void _loginView_Confirm(object sender, EventArgs e)
        {
            var pwd = new SecureString();
            foreach (var c in _loginView.Password.ToCharArray())
            {
                pwd.AppendChar(c);
            }

            pwd.MakeReadOnly();

           var creds = new SecureCredentials(_loginView.Username, pwd);

           _provider = _providerFactory.CreateProvider(this.VBE.ActiveVBProject,
                    _config.Repositories.First(repo => repo.Name == this.VBE.ActiveVBProject.Name),
                    creds);

            SetChildPresenterSourceControlProviders(_provider);
        }
 public ISourceControlProvider CreateProvider(VBProject project, IRepository repository, SecureCredentials creds, ICodePaneWrapperFactory wrapperFactory)
 {
     return(new GitProvider(project, repository, creds, wrapperFactory));
 }