示例#1
0
        public async Task <IActionResult> SetSamanParams(string publicKey, string MID)
        {
            try
            {
                var application = await _applicationRepository.GetFirstBy(x => x.PublicKey == publicKey);

                if (application == null)
                {
                    return(Unauthorized());
                }
                var bank = await _bankRepository.GetFirstBy(x => x.Code == (byte)BankCodeEnum.Saman);

                var applicationBank =
                    await _applicationBankRepository.GetFirstBy(x =>
                                                                x.ApplicationId == application.Id && x.BankId == bank.Id);

                if (applicationBank == null)
                {
                    applicationBank = new ApplicationBank
                    {
                        CreatedBy     = 1,
                        BankId        = bank.Id,
                        Status        = 0,
                        ApplicationId = application.Id,
                        CreationDate  = DateTime.Now
                    };
                    await _applicationBankRepository.Add(applicationBank);

                    var applicationBankParam = new ApplicationBankParam
                    {
                        CreatedBy         = 1,
                        CreationDate      = DateTime.Now,
                        ParamKey          = "MID",
                        ParamValue        = MID,
                        Status            = 0,
                        ApplicationBankId = applicationBank.Id
                    };
                    await _applicationBankParamRepository.Add(applicationBankParam);

                    return(Ok());
                }

                var midParam = applicationBank.ApplicationBankParams.FirstOrDefault(x => x.ParamKey == "MID");
                midParam.ParamValue = MID;
                await _applicationBankRepository.Update(applicationBank);

                return(Ok());
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(BadRequest());
            }
        }
示例#2
0
        public async Task <IActionResult> SetParsianParams(string publicKey, string Pin)
        {
            try
            {
                Application application = await _applicationRepository.GetFirstBy(x => x.PublicKey == publicKey);

                if (application == null)
                {
                    return(Unauthorized());
                }
                var bank = await _bankRepository.GetFirstBy(x => x.Code == (byte)Connector.Enum.BankCodeEnum.Parsian);

                var applicationBank = await _applicationBankRepository.GetFirstBy(x => x.ApplicationId == application.Id && x.BankId == bank.Id);

                if (applicationBank == null)
                {
                    applicationBank = new ApplicationBank
                    {
                        CreatedBy     = 1,
                        BankId        = bank.Id,
                        Status        = 0,
                        ApplicationId = application.Id,
                        CreationDate  = DateTime.Now
                    };
                    await _applicationBankRepository.Add(applicationBank);

                    ApplicationBankParam applicationBankParam = new ApplicationBankParam();
                    applicationBankParam.CreatedBy         = 1;
                    applicationBankParam.CreationDate      = DateTime.Now;
                    applicationBankParam.ParamKey          = "ParsianPIN";
                    applicationBankParam.ParamValue        = Pin;
                    applicationBankParam.Status            = 0;
                    applicationBankParam.ApplicationBankId = applicationBank.Id;
                    await _applicationBankParamRepository.Add(applicationBankParam);

                    return(Ok());
                }
                else
                {
                    var midParam = applicationBank.ApplicationBankParams.FirstOrDefault(x => x.ParamKey == "ParsianPIN");
                    midParam.ParamValue = Pin;
                    await _applicationBankRepository.Update(applicationBank);

                    return(Ok());
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(BadRequest());
            }
        }
示例#3
0
        public async Task <IActionResult> SetPasargadParams(string publicKey, string merchantCode, string terminalCode, string privateKey)
        {
            try
            {
                var application = await _applicationRepository.GetFirstBy(x => x.PublicKey == publicKey);

                if (application == null)
                {
                    return(Unauthorized());
                }

                var bank = await _bankRepository.GetFirstBy(x => x.Code == (byte)BankCodeEnum.Efarda);

                var applicationBank =
                    await _applicationBankRepository.GetFirstBy(x =>
                                                                x.ApplicationId == application.Id && x.BankId == bank.Id);

                if (applicationBank == null)
                {
                    applicationBank = new ApplicationBank
                    {
                        CreatedBy     = 1,
                        BankId        = bank.Id,
                        Status        = 0,
                        ApplicationId = application.Id,
                        CreationDate  = DateTime.Now
                    };
                    await _applicationBankRepository.Add(applicationBank);

                    var terminalBankParam = new ApplicationBankParam
                    {
                        CreatedBy         = 1,
                        CreationDate      = DateTime.Now,
                        ParamKey          = "merchantCode",
                        ParamValue        = merchantCode,
                        Status            = 0,
                        ApplicationBankId = applicationBank.Id
                    };
                    await _applicationBankParamRepository.Add(terminalBankParam);

                    var userNameBankParam = new ApplicationBankParam
                    {
                        CreatedBy         = 1,
                        CreationDate      = DateTime.Now,
                        ParamKey          = "terminalCode",
                        ParamValue        = terminalCode,
                        Status            = 0,
                        ApplicationBankId = applicationBank.Id
                    };
                    await _applicationBankParamRepository.Add(userNameBankParam);

                    var passwordBankParam = new ApplicationBankParam
                    {
                        CreatedBy         = 1,
                        CreationDate      = DateTime.Now,
                        ParamKey          = "privateKey",
                        ParamValue        = privateKey,
                        Status            = 0,
                        ApplicationBankId = applicationBank.Id,
                    };
                    await _applicationBankParamRepository.Add(passwordBankParam);

                    return(Ok());
                }

                var serviceIdParam =
                    applicationBank.ApplicationBankParams.FirstOrDefault(x => x.ParamKey == "merchantCode");
                serviceIdParam.ParamValue = merchantCode;
                await _applicationBankRepository.Update(applicationBank);

                var userNameParam =
                    applicationBank.ApplicationBankParams.FirstOrDefault(x => x.ParamKey == "terminalCode");
                userNameParam.ParamValue = terminalCode;
                await _applicationBankRepository.Update(applicationBank);

                var passwordParam =
                    applicationBank.ApplicationBankParams.FirstOrDefault(x => x.ParamKey == "privateKey");
                passwordParam.ParamValue = privateKey;
                await _applicationBankRepository.Update(applicationBank);

                return(Ok());
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(BadRequest());
            }
        }
示例#4
0
        public async Task <IActionResult> SetMellatParams(string publicKey, string terminalId, string userName, string password)
        {
            try
            {
                var application = await _applicationRepository.GetFirstBy(x => x.PublicKey == publicKey);

                if (application == null)
                {
                    return(Unauthorized());
                }
                var bank = await _bankRepository.GetFirstBy(x => x.Code == (byte)BankCodeEnum.Mellat);

                var applicationBank =
                    await _applicationBankRepository.GetFirstBy(x =>
                                                                x.ApplicationId == application.Id && x.BankId == bank.Id);

                if (applicationBank == null)
                {
                    applicationBank = new ApplicationBank
                    {
                        CreatedBy     = 1,
                        BankId        = bank.Id,
                        Status        = 0,
                        ApplicationId = application.Id,
                        CreationDate  = DateTime.Now
                    };
                    await _applicationBankRepository.Add(applicationBank);

                    var terminalBankParam = new ApplicationBankParam
                    {
                        CreatedBy         = 1,
                        CreationDate      = DateTime.Now,
                        ParamKey          = "MellatTerminalId",
                        ParamValue        = terminalId,
                        Status            = 0,
                        ApplicationBankId = applicationBank.Id
                    };
                    await _applicationBankParamRepository.Add(terminalBankParam);

                    var userNameBankParam = new ApplicationBankParam
                    {
                        CreatedBy         = 1,
                        CreationDate      = DateTime.Now,
                        ParamKey          = "MellatUserName",
                        ParamValue        = userName,
                        Status            = 0,
                        ApplicationBankId = applicationBank.Id
                    };
                    await _applicationBankParamRepository.Add(userNameBankParam);

                    var passwordBankParam = new ApplicationBankParam
                    {
                        CreatedBy         = 1,
                        CreationDate      = DateTime.Now,
                        ParamKey          = "MellatPassword",
                        ParamValue        = password,
                        Status            = 0,
                        ApplicationBankId = applicationBank.Id
                    };
                    await _applicationBankParamRepository.Add(passwordBankParam);

                    return(Ok());
                }

                var midParam =
                    applicationBank.ApplicationBankParams.FirstOrDefault(x => x.ParamKey == "MellatTerminalId");
                midParam.ParamValue = terminalId;
                await _applicationBankRepository.Update(applicationBank);

                var userNameParam =
                    applicationBank.ApplicationBankParams.FirstOrDefault(x => x.ParamKey == "MellatUserName");
                userNameParam.ParamValue = userName;
                await _applicationBankRepository.Update(applicationBank);

                var passwordParam =
                    applicationBank.ApplicationBankParams.FirstOrDefault(x => x.ParamKey == "MellatPassword");
                passwordParam.ParamValue = password;
                await _applicationBankRepository.Update(applicationBank);

                return(Ok());
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(BadRequest());
            }
        }