public bool UpdateLeverage(int levergae, int userId) { using (CovidCoinContext c = new CovidCoinContext()) { var findUser = c.Users.Where(i => i.Id == userId).FirstOrDefault(); findUser.LeverageId = levergae; if (levergae == 1) { findUser.LeverageBalance = findUser.Balance * 50; } else if (levergae == 2) { findUser.LeverageBalance = findUser.Balance * 100; } else if (levergae == 2) { findUser.LeverageBalance = findUser.Balance * 500; } c.Entry(findUser).State = EntityState.Modified; c.SaveChanges(); return(true); } }
public bool BuyDeal(BuyDealModel buyDealModel) { using (CovidCoinContext covidCoinEntities = new CovidCoinContext()) { var dealBought = covidCoinEntities.UserDeals.Where(x => x.userId == buyDealModel.userId && x.dealId == buyDealModel.userId && x.dealType.Equals("buy") && x.isActive == true).FirstOrDefault(); if (dealBought != null) { return(false); } else { var user = covidCoinEntities.Users.Where(x => x.Id == buyDealModel.userId && x.IsActive == true).FirstOrDefault(); user.LeverageBalance = user.LeverageBalance - buyDealModel.dealPrice * buyDealModel.dealShares; covidCoinEntities.Entry(user).State = EntityState.Modified; UserDeal deal = new UserDeal(); deal.dealId = buyDealModel.dealId; deal.userId = buyDealModel.userId; deal.dealShares = buyDealModel.dealShares; deal.dealPrice = buyDealModel.dealPrice; deal.dealType = "buy"; deal.isActive = true; deal.createdAt = DateTime.Now; covidCoinEntities.UserDeals.Add(deal); covidCoinEntities.SaveChanges(); return(true); } } }
public User EditUser(User user) { using (CovidCoinContext covid = new CovidCoinContext()) { var findUser = covid.Users.Where(x => x.Id == user.Id && x.IsActive == true).FirstOrDefault(); if (user.IsActive == false) { findUser.IsActive = false; } if (user.Freeze == true) { findUser.Freeze = true; } else { findUser.Freeze = false; } if (user.IsActive == true && user.Freeze == false) { findUser.Name = user.Name; findUser.Username = user.Username; findUser.Password = user.Password; findUser.Balance = user.Balance; findUser.Email = user.Email; findUser.Phone = user.Phone; } covid.Entry(findUser).State = EntityState.Modified; covid.SaveChanges(); return(findUser); } }
public bool CloseDeal(CloseDealInput closeDealInput) { //profit / loss of the user = (Closing price – buy price) x quantity of the same deal. using (CovidCoinContext covidCoinEntities = new CovidCoinContext()) { var user = covidCoinEntities.Users.Where(x => x.Id == closeDealInput.userId && x.IsActive == true).FirstOrDefault(); var deal = covidCoinEntities.Deals.Where(d => d.Id == closeDealInput.dealId && d.IsActive == true).FirstOrDefault(); var userDeal = covidCoinEntities.UserDeals.Where(ud => ud.dealId == deal.Id && ud.userId == closeDealInput.userId && ud.isActive == true).FirstOrDefault(); //calculating profit/loss deal.ClosingPrice = closeDealInput.closingPrice; var profitLoss = (deal.ClosingPrice - userDeal.dealPrice) * userDeal.dealShares; //updating wallet if (deal.ClosingPrice > userDeal.dealPrice) { user.Balance = user.Balance + profitLoss; } else { if (profitLoss < 0) { user.Balance = user.Balance + profitLoss; } else { user.Balance = user.Balance - profitLoss; } } //updating leverage wallet if (user.LeverageId == 1) { user.LeverageBalance = user.Balance * 50; } else if (user.LeverageId == 2) { user.LeverageBalance = user.Balance * 100; } else if (user.LeverageId == 2) { user.LeverageBalance = user.Balance * 500; } userDeal.isActive = false; covidCoinEntities.Entry(user).State = EntityState.Modified; covidCoinEntities.Entry(deal).State = EntityState.Modified; covidCoinEntities.Entry(userDeal).State = EntityState.Modified; covidCoinEntities.SaveChanges(); return(true); } }
public bool AddDeal(Deal d) { d.IsActive = true; d.CreatedAt = DateTime.Now; using (CovidCoinContext covidCoinEntities = new CovidCoinContext()) { covidCoinEntities.Deals.Add(d); covidCoinEntities.SaveChanges(); return(true); } }
public bool AddUser(User user) { using (CovidCoinContext covidCoinEntities = new CovidCoinContext()) { var getCurrentUser = covidCoinEntities.Users.Where(x => x.Role == 2 && (x.Username.Equals(user.Username) || x.Email.Equals(user.Email) || x.Phone == user.Phone || x.Address.Equals(user.Address)) && x.IsActive == true).FirstOrDefault(); if (getCurrentUser != null) { return(false); } else { covidCoinEntities.Users.Add(user); covidCoinEntities.SaveChanges(); return(true); } } }