Esempio n. 1
0
        private static void WriteTransactionOrder()
        {
            using (var ctx = new VarlikContext())
            {
                UserCoinTransactionOrder coinTransactionOrder = new UserCoinTransactionOrder();
                coinTransactionOrder.IdUser            = 2;
                coinTransactionOrder.CoinAmount        = 100;
                coinTransactionOrder.CoinUnitPrice     = 1;
                coinTransactionOrder.IdCoinType        = "dgc";
                coinTransactionOrder.IdTransactionType = "coin_sales";
                coinTransactionOrder.CreatedAt         = DateTime.Now;

                ctx.UserCoinTransactionOrder.Add(coinTransactionOrder);
                ctx.SaveChanges();

                coinTransactionOrder                   = new UserCoinTransactionOrder();
                coinTransactionOrder.IdUser            = 2;
                coinTransactionOrder.CoinAmount        = 100;
                coinTransactionOrder.CoinUnitPrice     = 100;
                coinTransactionOrder.IdCoinType        = "btc";
                coinTransactionOrder.IdTransactionType = "coin_sales";
                coinTransactionOrder.CreatedAt         = DateTime.Now;

                ctx.UserCoinTransactionOrder.Add(coinTransactionOrder);
                ctx.SaveChanges();

                coinTransactionOrder                   = new UserCoinTransactionOrder();
                coinTransactionOrder.IdUser            = 3;
                coinTransactionOrder.CoinAmount        = 100;
                coinTransactionOrder.CoinUnitPrice     = 0.9M;
                coinTransactionOrder.IdCoinType        = "dgc";
                coinTransactionOrder.IdTransactionType = "coin_sales";
                coinTransactionOrder.CreatedAt         = DateTime.Now;

                ctx.UserCoinTransactionOrder.Add(coinTransactionOrder);
                ctx.SaveChanges();

                coinTransactionOrder                   = new UserCoinTransactionOrder();
                coinTransactionOrder.IdUser            = 2;
                coinTransactionOrder.MoneyAmount       = 150;
                coinTransactionOrder.IdTransactionType = "to_bank";
                coinTransactionOrder.CreatedAt         = DateTime.Now;

                ctx.UserCoinTransactionOrder.Add(coinTransactionOrder);
                ctx.SaveChanges();

                coinTransactionOrder                   = new UserCoinTransactionOrder();
                coinTransactionOrder.IdUser            = 3;
                coinTransactionOrder.MoneyAmount       = 350;
                coinTransactionOrder.IdTransactionType = "from_bank";
                coinTransactionOrder.CreatedAt         = DateTime.Now;

                ctx.UserCoinTransactionOrder.Add(coinTransactionOrder);
                ctx.SaveChanges();
            }
        }
Esempio n. 2
0
        public VarlikResult AddWalletAddress(UserWalletDto userWalletDto)
        {
            var result = new VarlikResult();

            using (var ctx = new VarlikContext())
            {
                var isAdded = ctx.UserWallet.Any(l =>
                                                 l.IdUser == userWalletDto.IdUser && l.IdCoinType == userWalletDto.IdCoinType);
                if (isAdded)
                {
                    result.Status = ResultStatus.AlreadyAdded;
                    return(result);
                }
                var entity     = userWalletDto.ToEntity(userWalletDto);
                var persistent = ctx.UserWallet.Add(entity);
                try
                {
                    ctx.SaveChanges();
                    result.Success();
                    result.ObjectId = persistent.Id;
                }
                catch (Exception e)
                {
                    Log.Error("AddWalletAddress", e);
                }
            }
            return(result);
        }
Esempio n. 3
0
        public VarlikResult UpdatePassword(long idUser, UserUpdatePasswordDto userUpdatePasswordDto)
        {
            var result = new VarlikResult();

            using (var ctx = new VarlikContext())
            {
                var user = ctx.User.FirstOrDefault(l => !l.IsDeleted && l.Id == idUser && l.Password == userUpdatePasswordDto.OldPassword);
                if (user == null)
                {
                    result.Status = ResultStatus.NoSuchObject;
                    return(result);
                }
                user.Password = VarlikHasher.Hash(user.Password);
                user.Password = userUpdatePasswordDto.Password;
                try
                {
                    ctx.SaveChanges();
                    result.Success();
                }
                catch (Exception e)
                {
                    Log.Error("UpdatePassword", e);
                }
            }
            return(result);
        }
Esempio n. 4
0
        public VarlikResult Save(UserDto userDto)
        {
            var result = new VarlikResult();

            using (var ctx = new VarlikContext())
            {
                var isAdded = ctx.User.Any(l => !l.IsDeleted && l.Mail == userDto.Mail);
                if (isAdded)
                {
                    result.Status = ResultStatus.AlreadyAdded;
                    return(result);
                }

                var entity = userDto.ToEntity(userDto);

                var persistent = ctx.User.Add(entity);

                try
                {
                    ctx.SaveChanges();
                    result.Success();
                    result.ObjectId = persistent.Id;
                }
                catch (Exception e)
                {
                    Log.Error("Save", e);
                }
            }
            return(result);
        }
Esempio n. 5
0
        public VarlikResult <string> ForgotPassword(string mail)
        {
            var result = new VarlikResult <string>();

            using (var ctx = new VarlikContext())
            {
                var user = ctx.User.FirstOrDefault(l => l.Mail == mail && !l.IsDeleted);
                if (user != null)
                {
                    user.Password = Guid.NewGuid().ToString();
                    user.Password = VarlikHasher.Hash(user.Password);
                    try
                    {
                        ctx.SaveChanges();
                        result.Success();
                        result.Data = user.Password;
                    }
                    catch (Exception e)
                    {
                        Log.Error("ForgotPassword", e);
                    }
                }
            }
            return(result);
        }
Esempio n. 6
0
        public static void WriteUser()
        {
            using (var ctx = new VarlikContext())
            {
                User user = new User();
                user.IsUserApproved = true;
                user.IsDeleted      = false;
                user.Mail           = "*****@*****.**";
                user.Name           = "Umur";
                user.Surname        = "İnan";
                user.Adres          = "West Gate";
                user.Iban           = "TR45145715417541571";
                user.Password       = "******";

                ctx.User.Add(user);
                ctx.SaveChanges();

                user = new User();
                user.IsUserApproved = true;
                user.IsDeleted      = false;
                user.Mail           = "*****@*****.**";
                user.Name           = "Ali";
                user.Surname        = "Aktaş";
                user.Adres          = "Relax Plus";
                user.Iban           = "DE251457154456475475";
                user.Password       = "******";

                ctx.User.Add(user);
                ctx.SaveChanges();

                user = new User();
                user.IsUserApproved = true;
                user.IsDeleted      = false;
                user.Mail           = "*****@*****.**";
                user.Name           = "Atakan";
                user.Surname        = "Atik";
                user.Adres          = "Yeşilsite Sitesi";
                user.Iban           = "UK251457154175415854";
                user.Password       = "******";

                ctx.User.Add(user);
                ctx.SaveChanges();
            }
        }
        public VarlikResult ApproveFromBankAdmin(long idMainOrder, string idTransactionState)
        {
            var result = new VarlikResult();

            using (var ctx = new VarlikContext())
            {
                var data = ctx.MainOrderLog
                           .FirstOrDefault(l => l.Id == idMainOrder &&
                                           l.IdTransactionState != TransactionStateEnum.Completed &&
                                           l.IdTransactionType == TransactionTypeEnum.FromBank);

                if (idTransactionState == TransactionStateEnum.Completed)
                {
                    if (data != null)
                    {
                        data.IdTransactionState = TransactionStateEnum.Completed;
                        data.TransactionDate    = DateTime.Now;

                        var order = ctx.UserCoinTransactionOrder
                                    .FirstOrDefault(l => l.IdMainOrderLog == idMainOrder &&
                                                    l.IdTransactionState != TransactionStateEnum.Completed &&
                                                    l.IdTransactionType == TransactionTypeEnum.FromBank);

                        if (order != null)
                        {
                            ctx.UserCoinTransactionOrder.Remove(order);
                        }
                        //write tx log

                        var tx = new UserTransactionLog()
                        {
                            MoneyAmount        = data.MoneyAmount,
                            IdTransactionState = TransactionStateEnum.Completed,
                            IdTransactionType  = TransactionTypeEnum.FromBank,
                            TransactionDate    = data.TransactionDate.Value,
                            IsSucces           = true,
                            IdUser             = data.IdUser,
                            IdMainOrderLog     = idMainOrder
                        };

                        ctx.UserCoinTransactionLog.Add(tx);
                        try
                        {
                            ctx.SaveChanges();
                            result.Success();
                        }
                        catch (Exception e)
                        {
                            Log.Error("ApproveFromBankAdmin", e);
                        }
                    }
                }
            }

            return(result);
        }
        public VarlikResult CancelTheOrder(long idMainOrder, long idUser)
        {
            var result = new VarlikResult();

            using (var ctx = new VarlikContext())
            {
                var mainOrder = ctx.MainOrderLog
                                .FirstOrDefault(l => l.Id == idMainOrder && l.IdUser == idUser);
                if (mainOrder == null)
                {
                    result.Status = ResultStatus.NoSuchObject;
                    return(result);
                }

                if (mainOrder.IdTransactionState != TransactionStateEnum.Processing)
                {
                    result.Status = ResultStatus.CannotBeCancelled;
                    return(result);
                }

                //sub orders
                var subOrders = ctx.UserCoinTransactionOrder.Where(l => l.IdMainOrderLog == mainOrder.Id).ToList();
                foreach (var item in subOrders)
                {
                    item.IdTransactionState = TransactionStateEnum.CancelledByUser;
                }

                mainOrder.IdTransactionState = TransactionStateEnum.CancelledByUser;

                try
                {
                    ctx.SaveChanges();
                    result.Success();

                    //push
                    OrderPublisher orderPublisher = new OrderPublisher();
                    foreach (var item in subOrders)
                    {
                        orderPublisher.PublishOrder(item.IdCoinType, new TransactinOrderListDto()
                        {
                            CoinAmount        = -1 * item.CoinAmount,
                            CoinUnitPrice     = item.CoinUnitPrice,
                            IdTransactionType = item.IdTransactionType,
                            Total             = -1 * item.CoinAmount * item.CoinUnitPrice
                        });
                    }
                }
                catch (Exception e)
                {
                }
            }

            return(result);
        }
Esempio n. 9
0
        public static void WriteTransactionState()
        {
            using (var ctx = new VarlikContext())
            {
                TransactionStateEnum transactionStateEnum = new TransactionStateEnum();
                transactionStateEnum.Code = "processing";
                transactionStateEnum.Name = "İşlemde";

                ctx.TransactionStateEnum.Add(transactionStateEnum);
                ctx.SaveChanges();

                transactionStateEnum      = new TransactionStateEnum();
                transactionStateEnum.Code = "fail";
                transactionStateEnum.Name = "Başarısız";

                ctx.TransactionStateEnum.Add(transactionStateEnum);
                ctx.SaveChanges();

                transactionStateEnum      = new TransactionStateEnum();
                transactionStateEnum.Code = "partialy_completed";
                transactionStateEnum.Name = "Kısmen Tamamlandı";

                ctx.TransactionStateEnum.Add(transactionStateEnum);
                ctx.SaveChanges();

                transactionStateEnum      = new TransactionStateEnum();
                transactionStateEnum.Code = "money_being_sent";
                transactionStateEnum.Name = "money_being_sent";

                ctx.TransactionStateEnum.Add(transactionStateEnum);
                ctx.SaveChanges();

                transactionStateEnum      = new TransactionStateEnum();
                transactionStateEnum.Code = "pending_approval";
                transactionStateEnum.Name = "pending_approval";

                ctx.TransactionStateEnum.Add(transactionStateEnum);
                ctx.SaveChanges();

                transactionStateEnum      = new TransactionStateEnum();
                transactionStateEnum.Code = "completed";
                transactionStateEnum.Name = "completed";

                ctx.TransactionStateEnum.Add(transactionStateEnum);
                ctx.SaveChanges();

                transactionStateEnum      = new TransactionStateEnum();
                transactionStateEnum.Code = "cancelled_by_user";
                transactionStateEnum.Name = "cancelled_by_user";

                ctx.TransactionStateEnum.Add(transactionStateEnum);
                ctx.SaveChanges();
            }
        }
Esempio n. 10
0
        public VarlikResult Register(UserDto userDto)
        {
            var result = new VarlikResult();

            using (var ctx = new VarlikContext())
            {
                result = userDto.IsValid();
                if (!result.IsSuccess)
                {
                    return(result);
                }

                var alreadyAdded = ctx.User.Any(l => l.Mail == userDto.Mail && !l.IsDeleted);
                if (alreadyAdded)
                {
                    result.Status = ResultStatus.AlreadyAdded;
                    return(result);
                }

                userDto.Password = VarlikHasher.Hash(userDto.Password);

                User user = new User()
                {
                    Mail               = userDto.Mail.ToLower(),
                    Password           = userDto.Password,
                    Name               = userDto.Name,
                    Surname            = userDto.Surname,
                    Phone              = userDto.Phone,
                    IsContractApproved = true
                };
                ctx.User.Add(user);
                try
                {
                    ctx.SaveChanges();
                    result.Success();
                }
                catch (Exception e)
                {
                    Log.Error("Register", e);
                }
            }
            return(result);
        }
        public VarlikResult Save(UserTransactionLogDto userCoinTransactionLogDto)
        {
            var result = new VarlikResult();

            using (var ctx = new VarlikContext())
            {
                var entity     = userCoinTransactionLogDto.ToEntity(userCoinTransactionLogDto);
                var persistent = ctx.UserCoinTransactionLog.Add(entity);
                try
                {
                    ctx.SaveChanges();
                    result.Success();
                    result.ObjectId = persistent.Id;
                }
                catch (Exception e)
                {
                    Log.Error("Save", e);
                }
            }
            return(result);
        }
        public VarlikResult Save(MainOrderLogDto mainOrderLogDto)
        {
            var result = new VarlikResult();

            using (var ctx = new VarlikContext())
            {
                var entity = mainOrderLogDto.ToEntity(mainOrderLogDto);
                ctx.MainOrderLog.Add(entity);
                try
                {
                    ctx.SaveChanges();
                    result.Success();
                    result.ObjectId = entity.Id;
                }
                catch (Exception e)
                {
                    Log.Error("Save", e);
                }
            }
            return(result);
        }
Esempio n. 13
0
        public static void WriteCoinType()
        {
            using (var ctx = new VarlikContext())
            {
                CoinTypeEnum coinTypeEnum = new CoinTypeEnum();
                coinTypeEnum.Code = "BTC";
                coinTypeEnum.Name = "BitCoin";

                ctx.CoinTypeEnum.Add(coinTypeEnum);
                ctx.SaveChanges();

                coinTypeEnum      = new CoinTypeEnum();
                coinTypeEnum.Code = "LTC";
                coinTypeEnum.Name = "LiteCoin";

                ctx.CoinTypeEnum.Add(coinTypeEnum);
                ctx.SaveChanges();

                coinTypeEnum      = new CoinTypeEnum();
                coinTypeEnum.Code = "DOGE";
                coinTypeEnum.Name = "DogeCoin";

                ctx.CoinTypeEnum.Add(coinTypeEnum);
                ctx.SaveChanges();

                coinTypeEnum      = new CoinTypeEnum();
                coinTypeEnum.Code = "IOTA";
                coinTypeEnum.Name = "IOTA";

                ctx.CoinTypeEnum.Add(coinTypeEnum);
                ctx.SaveChanges();

                coinTypeEnum      = new CoinTypeEnum();
                coinTypeEnum.Code = "ETH";
                coinTypeEnum.Name = "ETH";

                ctx.CoinTypeEnum.Add(coinTypeEnum);
                ctx.SaveChanges();

                coinTypeEnum      = new CoinTypeEnum();
                coinTypeEnum.Code = "XRP";
                coinTypeEnum.Name = "XRP";

                ctx.CoinTypeEnum.Add(coinTypeEnum);
                ctx.SaveChanges();
            }
        }
Esempio n. 14
0
        public static void WriteTransactionType()
        {
            using (var ctx = new VarlikContext())
            {
                TransactionTypeEnum transactionTypeEnum = new TransactionTypeEnum();
                transactionTypeEnum.Code = "coin_sales";
                transactionTypeEnum.Name = "Coin Satışı";

                ctx.TransactionTypeEnum.Add(transactionTypeEnum);
                ctx.SaveChanges();

                transactionTypeEnum      = new TransactionTypeEnum();
                transactionTypeEnum.Code = "coin_purchasing";
                transactionTypeEnum.Name = "Coin Alımı";

                ctx.TransactionTypeEnum.Add(transactionTypeEnum);
                ctx.SaveChanges();

                transactionTypeEnum      = new TransactionTypeEnum();
                transactionTypeEnum.Code = "to_bank";
                transactionTypeEnum.Name = "Para Çekme";

                ctx.TransactionTypeEnum.Add(transactionTypeEnum);
                ctx.SaveChanges();

                transactionTypeEnum      = new TransactionTypeEnum();
                transactionTypeEnum.Code = "from_bank";
                transactionTypeEnum.Name = "Para Yatırma";

                ctx.TransactionTypeEnum.Add(transactionTypeEnum);
                ctx.SaveChanges();

                transactionTypeEnum      = new TransactionTypeEnum();
                transactionTypeEnum.Code = "to_wallet";
                transactionTypeEnum.Name = "Cüzdana Aktar";

                ctx.TransactionTypeEnum.Add(transactionTypeEnum);
                ctx.SaveChanges();

                transactionTypeEnum      = new TransactionTypeEnum();
                transactionTypeEnum.Code = "from_wallet";
                transactionTypeEnum.Name = "Cüzdandan Aktar";

                ctx.TransactionTypeEnum.Add(transactionTypeEnum);
                ctx.SaveChanges();
            }
        }
Esempio n. 15
0
        public async Task <VarlikResult> SaveAttachment(AttachmentDto attachmentDto)
        {
            var result = new VarlikResult();

            using (var ctx = new VarlikContext())
            {
                var entity     = attachmentDto.ToEntity(attachmentDto);
                var persistent = ctx.Attachment.Add(entity);
                try
                {
                    ctx.SaveChanges();
                    result.Success();
                    result.ObjectId = persistent.Id;
                }
                catch (Exception e)
                {
                    Log.Error("SaveAttachment", e);
                }
            }

            return(result);
        }
Esempio n. 16
0
        public VarlikResult Update(UserDto userDto)
        {
            var result = new VarlikResult();

            using (var ctx = new VarlikContext())
            {
                var old = ctx.User.FirstOrDefault(l => !l.IsDeleted && l.Id == userDto.Id);
                if (old == null)
                {
                    result.Status = ResultStatus.NoSuchObject;
                    return(result);
                }

                old.IdentityNo = userDto.IdentityNo;
                old.Iban       = userDto.Iban;
                old.BankName   = userDto.BankName;
                old.Adres      = userDto.Adres;

                if (!old.IsUserApproved)
                {
                    old.IdIdentityFilePath  = userDto.IdIdentityFilePath;
                    old.IdIdentityFilePath2 = userDto.IdIdentityFilePath2;
                }

                try
                {
                    ctx.SaveChanges();
                    result.Success();
                }
                catch (Exception e)
                {
                    Log.Error("Update", e);
                }
            }
            return(result);
        }
Esempio n. 17
0
        public VarlikResult ApproveAdmin(long idMainOrder,
                                         string idTransactionState,
                                         bool commissionable,
                                         decimal confirmableMoneyAmount = -1)
        {
            var result = new VarlikResult();

            using (var ctx = new VarlikContext())
            {
                var mainOrder = ctx.MainOrderLog
                                .FirstOrDefault(l => l.Id == idMainOrder &&
                                                l.IdTransactionState != TransactionStateEnum.Completed);

                var order = ctx.UserCoinTransactionOrder
                            .FirstOrDefault(l => l.IdMainOrderLog == idMainOrder &&
                                            l.IdTransactionState != TransactionStateEnum.Completed &&
                                            l.IdTransactionType == mainOrder.IdTransactionType);

                if (mainOrder == null || order == null)
                {
                    return(result);
                }

                if (idTransactionState == TransactionStateEnum.Completed)
                {
                    mainOrder.IdTransactionState = TransactionStateEnum.Completed;
                    mainOrder.TransactionDate    = DateTime.Now;

                    ctx.UserCoinTransactionOrder.Remove(order);

                    //write tx log

                    var commissinMoney = 0M;
                    if (mainOrder.IdTransactionType == TransactionTypeEnum.ToBank)
                    {
                        commissinMoney = 2.5M;
                    }
                    var commissionCoinCount = 0M;
                    if (mainOrder.IdTransactionType == TransactionTypeEnum.ToWallet)
                    {
                        var commissionMAnager = new CommisionOperation();
                        var commissionR       = commissionMAnager.GetTransferCommissionByIdCoinType(mainOrder.IdCoinType);
                        if (commissionR.IsSuccess)
                        {
                            commissionCoinCount = commissionR.Data;
                        }
                    }

                    var moneyAmount = order.MoneyAmount;
                    if (confirmableMoneyAmount > 0M)
                    {
                        moneyAmount = confirmableMoneyAmount;
                    }

                    var coinAmount = mainOrder.CoinAmount - commissionCoinCount;
                    if (!commissionable)
                    {
                        coinAmount          = mainOrder.CoinAmount;
                        commissionCoinCount = 0;
                    }
                    var tx = new UserTransactionLog()
                    {
                        MoneyAmount         = moneyAmount,
                        IdTransactionState  = TransactionStateEnum.Completed,
                        IdTransactionType   = mainOrder.IdTransactionType,
                        TransactionDate     = mainOrder.TransactionDate.Value,
                        IsSucces            = true,
                        IdUser              = mainOrder.IdUser,
                        IdMainOrderLog      = idMainOrder,
                        CoinAmount          = coinAmount,
                        CoinUnitPrice       = mainOrder.CoinUnitPrice,
                        IdCoinType          = mainOrder.IdCoinType,
                        CommissionMoney     = commissinMoney,
                        CommissionCoinCount = commissionCoinCount
                    };

                    ctx.UserCoinTransactionLog.Add(tx);
                    try
                    {
                        ctx.SaveChanges();
                        result.Success();
                    }
                    catch (Exception e)
                    {
                        Log.Error("ApproveFromBankAdmin", e);
                    }
                }
                else if (idTransactionState == TransactionStateEnum.CancelledByAdmin)
                {
                    ctx.UserCoinTransactionOrder.Remove(order);
                    mainOrder.IdTransactionState = TransactionStateEnum.CancelledByAdmin;
                    mainOrder.TransactionDate    = DateTime.Now;
                    try
                    {
                        ctx.SaveChanges();
                        result.Success();
                    }
                    catch (Exception e)
                    {
                        Log.Error("ApproveFromBankAdmin", e);
                    }
                }
            }
            return(result);
        }
Esempio n. 18
0
        public static void WriteCommission()
        {
            using (var ctx = new VarlikContext())
            {
                Commission commission = new Commission();
                commission.IdCoinType           = Common.Enum.CoinTypeEnum.Btc;
                commission.TransactionVolume    = 0;
                commission.MakerPercatange      = 0.0018M;
                commission.TakerPercatange      = 0.0025M;
                commission.TransferFeeCoinCount = 0.0006M;

                ctx.Commission.Add(commission);
                ctx.SaveChanges();

                commission                      = new Commission();
                commission.IdCoinType           = Common.Enum.CoinTypeEnum.Btc;
                commission.TransactionVolume    = 250000;
                commission.MakerPercatange      = 0.0015M;
                commission.TakerPercatange      = 0.0024M;
                commission.TransferFeeCoinCount = 0.0006M;

                ctx.Commission.Add(commission);
                ctx.SaveChanges();

                commission                      = new Commission();
                commission.IdCoinType           = Common.Enum.CoinTypeEnum.Btc;
                commission.TransactionVolume    = 500000;
                commission.MakerPercatange      = 0.0013M;
                commission.TakerPercatange      = 0.0020M;
                commission.TransferFeeCoinCount = 0.0006M;

                ctx.Commission.Add(commission);
                ctx.SaveChanges();

                //--

                commission                      = new Commission();
                commission.IdCoinType           = Common.Enum.CoinTypeEnum.DogeCoin;
                commission.TransactionVolume    = 0;
                commission.MakerPercatange      = 0.0020M;
                commission.TakerPercatange      = 0.0030M;
                commission.TransferFeeCoinCount = 2;

                ctx.Commission.Add(commission);
                ctx.SaveChanges();

                commission                      = new Commission();
                commission.IdCoinType           = Common.Enum.CoinTypeEnum.DogeCoin;
                commission.TransactionVolume    = 250000;
                commission.MakerPercatange      = 0.0015M;
                commission.TakerPercatange      = 0.0025M;
                commission.TransferFeeCoinCount = 2;

                ctx.Commission.Add(commission);
                ctx.SaveChanges();

                commission                      = new Commission();
                commission.IdCoinType           = Common.Enum.CoinTypeEnum.DogeCoin;
                commission.TransactionVolume    = 500000;
                commission.MakerPercatange      = 0.0013M;
                commission.TakerPercatange      = 0.0015M;
                commission.TransferFeeCoinCount = 2;

                ctx.Commission.Add(commission);
                ctx.SaveChanges();

                //--

                commission                      = new Commission();
                commission.IdCoinType           = Common.Enum.CoinTypeEnum.LiteCoin;
                commission.TransactionVolume    = 0;
                commission.MakerPercatange      = 0.0020M;
                commission.TakerPercatange      = 0.0030M;
                commission.TransferFeeCoinCount = 0.01M;

                ctx.Commission.Add(commission);
                ctx.SaveChanges();

                commission                      = new Commission();
                commission.IdCoinType           = Common.Enum.CoinTypeEnum.LiteCoin;
                commission.TransactionVolume    = 250000;
                commission.MakerPercatange      = 0.0015M;
                commission.TakerPercatange      = 0.0025M;
                commission.TransferFeeCoinCount = 0.01M;

                ctx.Commission.Add(commission);
                ctx.SaveChanges();

                commission                      = new Commission();
                commission.IdCoinType           = Common.Enum.CoinTypeEnum.LiteCoin;
                commission.TransactionVolume    = 500000;
                commission.MakerPercatange      = 0.0013M;
                commission.TakerPercatange      = 0.0015M;
                commission.TransferFeeCoinCount = 0.01M;

                ctx.Commission.Add(commission);
                ctx.SaveChanges();

                //--

                commission                      = new Commission();
                commission.IdCoinType           = Common.Enum.CoinTypeEnum.Eth;
                commission.TransactionVolume    = 0;
                commission.MakerPercatange      = 0.0020M;
                commission.TakerPercatange      = 0.0030M;
                commission.TransferFeeCoinCount = 0.01M;

                ctx.Commission.Add(commission);
                ctx.SaveChanges();

                commission                      = new Commission();
                commission.IdCoinType           = Common.Enum.CoinTypeEnum.Eth;
                commission.TransactionVolume    = 250000;
                commission.MakerPercatange      = 0.0015M;
                commission.TakerPercatange      = 0.0025M;
                commission.TransferFeeCoinCount = 0.01M;

                ctx.Commission.Add(commission);
                ctx.SaveChanges();

                commission                      = new Commission();
                commission.IdCoinType           = Common.Enum.CoinTypeEnum.Eth;
                commission.TransactionVolume    = 500000;
                commission.MakerPercatange      = 0.0013M;
                commission.TakerPercatange      = 0.0015M;
                commission.TransferFeeCoinCount = 0.01M;

                ctx.Commission.Add(commission);
                ctx.SaveChanges();

                //--

                commission                      = new Commission();
                commission.IdCoinType           = Common.Enum.CoinTypeEnum.Ripple;
                commission.TransactionVolume    = 0;
                commission.MakerPercatange      = 0.0035M;
                commission.TakerPercatange      = 0.0045M;
                commission.TransferFeeCoinCount = 4;

                ctx.Commission.Add(commission);
                ctx.SaveChanges();

                commission                      = new Commission();
                commission.IdCoinType           = Common.Enum.CoinTypeEnum.Ripple;
                commission.TransactionVolume    = 250000;
                commission.MakerPercatange      = 0.0030M;
                commission.TakerPercatange      = 0.0040M;
                commission.TransferFeeCoinCount = 4;

                ctx.Commission.Add(commission);
                ctx.SaveChanges();

                commission                      = new Commission();
                commission.IdCoinType           = Common.Enum.CoinTypeEnum.Ripple;
                commission.TransactionVolume    = 500000;
                commission.MakerPercatange      = 0.0025M;
                commission.TakerPercatange      = 0.0035M;
                commission.TransferFeeCoinCount = 4;

                ctx.Commission.Add(commission);
                ctx.SaveChanges();

                //--
                commission                      = new Commission();
                commission.IdCoinType           = Common.Enum.CoinTypeEnum.Iota;
                commission.TransactionVolume    = 0;
                commission.MakerPercatange      = 0.0035M;
                commission.TakerPercatange      = 0.0045M;
                commission.TransferFeeCoinCount = 0.5M;

                ctx.Commission.Add(commission);
                ctx.SaveChanges();

                commission                      = new Commission();
                commission.IdCoinType           = Common.Enum.CoinTypeEnum.Iota;
                commission.TransactionVolume    = 250000;
                commission.MakerPercatange      = 0.0030M;
                commission.TakerPercatange      = 0.0040M;
                commission.TransferFeeCoinCount = 0.5M;

                ctx.Commission.Add(commission);
                ctx.SaveChanges();

                commission                      = new Commission();
                commission.IdCoinType           = Common.Enum.CoinTypeEnum.Iota;
                commission.TransactionVolume    = 500000;
                commission.MakerPercatange      = 0.0025M;
                commission.TakerPercatange      = 0.0035M;
                commission.TransferFeeCoinCount = 0.5M;

                ctx.Commission.Add(commission);
                ctx.SaveChanges();
            }
        }