Exemplo n.º 1
0
        private ExecutionResult CreateCreateContract(SaveCreditContractRequest request, ExecutionContext context)
        {
            ExecutionResult <CreditContractEntity> result = context.PreviousResult as ExecutionResult <CreditContractEntity>;
            CreditContractDto dto = request.Value as CreditContractDto;

            if (dto == null)
            {
                return(null);
            }
            var entity = Mapper.Map <CreditContractEntity>(dto);

            entity.ContractType = (int)ContractTypeEnum.CreditContract;
            AdbRepository.CreditContractData.Save(entity);
            return(new ExecutionResult());
        }
Exemplo n.º 2
0
        public ExecutionResult CreateCreditContract(SaveCreditContractRequest request, ExecutionContext context)
        {
            ExecutionResult <CreditContractEntity> result = context.PreviousResult as ExecutionResult <CreditContractEntity>;

            result = result ?? new ExecutionResult <CreditContractEntity>();
            CreditContractDto dto = request.Value as CreditContractDto;

            if (dto == null)
            {
                return(null);
            }

            var mainAccount = new AccountEntity()
            {
                Balance      = 0,
                ActivityType = (int)ActivityTypeEnum.Passive,
                CurrencyType = (int)dto.CurrencyType,
                OwnerId      = dto.PrincipalId,
                AccountId    = String.Empty
            };

            var mainAccountId = (int)AdbRepository.AccountData.Save(mainAccount);

            mainAccount.AccountId = $"3014{mainAccountId:000000000}";
            AdbRepository.AccountData.Save(mainAccount);

            var PercentAccount = new AccountEntity()
            {
                Balance      = 0,
                ActivityType = (int)ActivityTypeEnum.Passive,
                CurrencyType = (int)dto.CurrencyType,
                OwnerId      = dto.PrincipalId,
                AccountId    = string.Empty
            };
            var PercentAccountId = (int)AdbRepository.AccountData.Save(PercentAccount);

            PercentAccount.AccountId = $"3014{PercentAccountId:000000000}";
            AdbRepository.AccountData.Save(PercentAccount);

            dto.MainAccountId    = mainAccountId;
            dto.PercentAccountId = PercentAccountId;
            return(result);
        }
Exemplo n.º 3
0
        private ExecutionResult InitCreditAccount(SaveCreditContractRequest request, ExecutionContext context)
        {
            CreditContractDto dto = request.Value as CreditContractDto;

            if (dto == null)
            {
                return(null);
            }

            AccountEntity account = AdbRepository.AccountData.GetEntityById(GetBankAccount(dto.CurrencyType));

            account.Balance -= dto.Summ;
            AdbRepository.AccountData.Save(account);

            AdbRepository.TransactionHistoryData.Save(
                new TransactionHistoryEntity()
            {
                Count        = dto.Summ,
                CreateTime   = DateTime.Now,
                CurrencyType = (int)dto.CurrencyType,
                FromAccount  = GetBankAccount(dto.CurrencyType),
                ToAccount    = dto.MainAccountId
            });
            AdbRepository.TransactionHistoryData.Save(
                new TransactionHistoryEntity()
            {
                Count        = dto.Summ,
                CreateTime   = DateTime.Now,
                CurrencyType = (int)dto.CurrencyType,
                FromAccount  = dto.MainAccountId,
                ToAccount    = GetRepositoryAccount(dto.CurrencyType)
            });
            AdbRepository.TransactionHistoryData.Save(
                new TransactionHistoryEntity()
            {
                Count        = dto.Summ,
                CreateTime   = DateTime.Now,
                CurrencyType = (int)dto.CurrencyType,
                FromAccount  = GetRepositoryAccount(dto.CurrencyType),
                ToAccount    = null
            });
            return(context.PreviousResult);
        }