public JsonResult GetCurrentPKInfo() { var result = new ResponseResult(); try { var pkModel = new PKService().GetCurrentPKModel(); var pkRates = new PKRateService().GetPKRateModels(pkModel.PK.PKId); var bets = new BetService().GetBets(pkModel.PK.PKId, LoginUser.UserId); var rebates = new UserRebateService().GetUserRebates(LoginUser.UserId); result.Data = new { PKModel = pkModel, PKRates = pkRates, Bets = bets, Rebates = rebates }; } catch (Exception ex) { result.Success = false; result.Message = MessageConst.System_Error; _logger.Info(ex); } return(Json(result)); }
public bool UpdateBet(UpdateBetModelView Updatemodel) { var Itemrepo = new ItemService(); string id = Itemrepo.GetById(Updatemodel.id.Substring(Updatemodel.id.IndexOf('-') + 1)).ItemRef; using (var Betrepo = new BetService()) { var model = Betrepo.GetById(Updatemodel.id); try { model.IsAccept = Updatemodel.ans; if (Updatemodel.ans == 2) { var item = Itemrepo.GetById(id); item.status = "Sold"; Itemrepo.Update(item); } Betrepo.Update(model); return(true); } catch { return(false); } } }
public void Initialize() { _bet = ObjectMother.ValidBetWithContest(); _mockBetRepository = new Mock <IBetRepository>(); _betService = new BetService(_mockBetRepository.Object); }
public void CantUpdateMissingBet() { Assert.Null(BetService.UpdateBet(new Bet() { Id = Guid.NewGuid().ToString() })); }
public void Run() { var pkService = new PKService(); var bonusService = new PKBonusService(); var betService = new BetService(); var pks = pkService.GetNotBonusPKs(); foreach (var pk in pks) { if (pk != null && !string.IsNullOrEmpty(pk.Ranks)) { // 生成奖金 if (!pk.IsBonused) { // 更新 奖金生成标志, 防止多次计算 pkService.UpdateIsBonused(pk.PKId, true); // 生成奖金 bonusService.GenerateBonus(pk); var msg = string.Format("Generate Bonus - PKId : {0} - Time : {1}", pk.PKId, DateTime.Now.ToString(DateFormatConst.yMd_Hms)); _logger.Info(msg); } } } // 更新Bet表已结算标志 betService.UpdateSettlementDone(); }
public ActionResult GetThrowModels([DataSourceRequest] DataSourceRequest req, int id) { var result = new List <ThrowModel>(); result = new BetService().GetThrowModels(id); return(Json(result.ToDataSourceResult(req))); }
public IHttpActionResult GetById(int id) { BetService betService = CreateBetService(); var bet = betService.GetBetById(id); return(Ok(bet)); }
private BetService CreateBetService() { var userId = Guid.Parse(User.Identity.GetUserId()); var betService = new BetService(userId); return(betService); }
public ActionResult GetBetParticipants(int betID) { var result = new List <ParticipantModel>(); result = new BetService().GetBetParticipantModels(betID); return(Json(result, JsonRequestBehavior.AllowGet)); }
public void UpdateRead(string itemref) { var Betrepo = new BetService(); var item = Betrepo.GetById(itemref); item.IsRead = true; Betrepo.Update(item); }
public IHttpActionResult Get() //Get([FromBody] int playerId) { //var bets = _service.PlayerGetBets(); BetService betService = CreateBetService(); var bets = betService.PlayerGetBets(); return(Ok(bets)); }
public void PrepareBetGroup_WithMissingGroupId_ShoudReturnNull() { var service = new BetService(this.dbContext, null); var result = service.PrepareBetGroup(1); Assert.IsNull(result); }
public async Task AddBetGroup_WithNoTeams_AddsNothing() { var service = new BetService(this.dbContext, null); var result = await service.AddBetGroupAsync(null, new BetGroupBindingModel()); var betsCount = this.dbContext.BetsForPosition.Count(); Assert.AreEqual(0, betsCount); }
public EventServiceTests() { var eventRepo = new EventRepository(); var marketRepo = new MarketRepository(); var betRepo = new BetRepository(); var betService = new BetService(betRepo, eventRepo, marketRepo); EventService = new EventService(eventRepo, new MarketService(marketRepo, betService)); }
protected void Init() { context = new TestContext(); betService = new BetService(context); userService = new UserService(context); teamService = new TeamService(context); eventService = new EventService(context); AddUser(); AddTeam(); AddEvent(); }
public void CanCreateBet() { var mockEvent = Common.CreateAndSaveMockEvent(EventController); var mockMarket = Common.CreateAndSaveMockMarket(mockEvent.Id, "Market Desc", 0.5m, MarketController); var newBet = BetService.CreateBet(new Bet() { BetAmount = 100, MarketId = mockMarket.Id }); Assert.NotNull(newBet.Id); }
public String PlaceBet(BetDTO bet) { try { BetService.PlaceBet(bet); return("Success"); } catch (Exception ex) { return("ERROR: " + ex.Message); } }
public void CanGetSpecificBet() { var mockEvent = Common.CreateAndSaveMockEvent(EventController); var mockMarket = Common.CreateAndSaveMockMarket(mockEvent.Id, "Market Desc", 0.5m, MarketController); var newBet = BetService.CreateBet(new Bet() { BetAmount = 123, MarketId = mockMarket.Id }); Assert.Equal(BetService.GetById(newBet.Id).BetAmount, newBet.BetAmount); }
public MarketTests() { var betRepo = new BetRepository(); var marketRepo = new MarketRepository(); var eventRepo = new EventRepository(); var betService = new BetService(betRepo, eventRepo, marketRepo); var marketService = new MarketService(marketRepo, betService); var eventService = new EventService(eventRepo, marketService); MarketController = new MarketController(marketService); EventController = new EventController(eventService); BetController = new BetController(betService); }
public void PrepareBetGroup_WithExistingGroupId_ShoudReturnModel() { var group = new Group(); this.dbContext.Groups.Add(group); this.dbContext.SaveChanges(); var service = new BetService(this.dbContext, null); var result = service.PrepareBetGroup(group.Id); Assert.IsNotNull(result); }
public ActionResult SaveBetGridModel([DataSourceRequest] DataSourceRequest req, BetGridModel model) { var result = model; try { result = new BetService().SaveBetGridModel(model); } catch (Exception e) { ModelState.AddModelError("Error", e.Message); } return(Json(new[] { result }.ToDataSourceResult(req))); }
/// <summary> /// 按wechat单号生成奖金+退水 /// </summary> /// <param name="orderNo"></param> /// <returns></returns> public decimal GetBonusAndRebateAmount(long orderNo) { var rebateAmount = 0M; //退水 var bonusAmount = 0M; //奖金 var dbBetItems = new BetItemService().GetBetItemsByOrderNo(orderNo); // 计算退水 var userIds = dbBetItems.Select(bi => bi.Bet.UserId).Distinct().ToList(); var users = new UserService().GetUsers(userIds); var userRebates = new UserRebateService().GetUserRebates(userIds); foreach (var userId in userIds) { var user = users.Where(u => u.UserId == userId).First(); var userBetItems = dbBetItems.Where(bi => bi.Bet.UserId == userId).ToList(); foreach (var userBetItem in userBetItems) { var userRebate = userRebates.Where(e => e.UserId == userId && e.RebateNo == userBetItem.Num).FirstOrDefault(); if (userRebate != null) { var rebate = UserRebateService.GetDefaultRebate(userRebate, user.DefaultRebateType); rebateAmount += Math.Round(userBetItem.Amount * rebate, 4); } } } // 计算奖金 var betService = new BetService(); var pkIds = dbBetItems.Select(bi => bi.Bet.PKId).Distinct().ToList(); var pks = new PKService().GetPKs(pkIds); var dbPKRates = new PKRateService().GetPKRates(pkIds); foreach (var pk in pks) { var bets = betService.ConvertRanksToBets(pk.Ranks); foreach (var bet in bets) { var pkRate = dbPKRates.Where(r => r.PKId == pk.PKId && r.Rank == bet.Rank && r.Num == bet.Num).First(); var betAmount = dbBetItems.Where(bi => bi.Bet.PKId == pk.PKId && bi.Rank == bet.Rank && bi.Num == bet.Num).Sum(bi => (decimal?)bi.Amount ?? 0); bonusAmount += Math.Round(betAmount * pkRate.Rate, 4); } } return(rebateAmount + bonusAmount); }
public void CanUpdateExistingBet() { var mockEvent = Common.CreateAndSaveMockEvent(EventController); var mockMarket = Common.CreateAndSaveMockMarket(mockEvent.Id, "Market Desc", 0.5m, MarketController); var createdBet = BetService.CreateBet(new Bet() { BetAmount = 123, MarketId = mockMarket.Id }); createdBet.BetAmount = 234; BetService.UpdateBet(createdBet); Assert.Equal(234, BetService.GetById(createdBet.Id).BetAmount); }
public ActionResult DeleteParticipant([DataSourceRequest] DataSourceRequest req, ParticipantModel model) { var result = model; try { result = new BetService().DeleteParticipantModel(model); } catch (Exception e) { ModelState.AddModelError("Error", e.Message); } return(Json(new[] { result }.ToDataSourceResult(req, ModelState))); }
public void MakeBetEntity_Should_BeCalledOnce_WhenTheCorrectRepositoryIsPassed() { var betRepositoryMock = MockRepository.GenerateMock <IBetRepository>(); //Arrange betRepositoryMock.Expect(dao => dao.MakeBetEntity(Arg <string> .Is.Anything, Arg <int> .Is.Anything)).Repeat.Once();; var betService = new BetService(betRepositoryMock); //Act betService.MakeBetEntity("1", 1); //Assert betRepositoryMock.VerifyAllExpectations(); }
public void GetAllUserBets_Should_BeCalledOnce_WhenTheCorrectRepositoryIsPassed() { //Arrange var betRepositoryMock = MockRepository.GenerateMock <IBetRepository>(); betRepositoryMock.Expect(dao => dao.GetAllUserBets(Arg <Guid> .Is.Anything)).Return(Arg <IEnumerable <Bet> > .Is.Anything).Repeat.Once(); var unitOfWorkMockMock = MockRepository.GenerateStub <IUnitOfWork>(); unitOfWorkMockMock.Stub(uow => uow.BetRepository).Return(betRepositoryMock); var betService = new BetService(unitOfWorkMockMock); //Act betService.GetAllUserBets(default);
public void GetAllUserBets_Should_BeCalledOnce_WhenTheCorrectRepositoryIsPassed() { var betRepositoryMock = MockRepository.GenerateMock <IBetRepository>(); //Arrange betRepositoryMock.Expect(dao => dao.GetAllUserBets(Arg <string> .Is.Anything)).Return(Arg <IEnumerable <Bet> > .Is.Anything).Repeat.Once();; var betService = new BetService(betRepositoryMock); //Act betService.GetAllUserBets("1"); //Assert betRepositoryMock.VerifyAllExpectations(); }
public async Task BetService_GetByIdWithDetails_ReturnsProperBet() { var expected = GetTestBetsModels().First(); var mockUnitOfWork = new Mock <IUnitOfWork>(); mockUnitOfWork .Setup(m => m.BetRepository.GetByIdWithDetailsAsync(It.IsAny <int>())) .ReturnsAsync(GetTestBets().First()); var betService = new BetService(mockUnitOfWork.Object, UnitTestHelper.CreateMapperProfile()); var actual = await betService.GetByIdAsync(expected.Id); Assert.AreEqual(expected.Id, actual.Id); Assert.AreEqual(expected.Sum, actual.Sum); Assert.AreEqual(expected.BetDate.Date, actual.BetDate.Date); }
public async Task BetService_DeleteByIdAsync_DeletesBet() { var mockUnitOfWork = new Mock <IUnitOfWork>(); mockUnitOfWork.Setup(m => m.BetRepository.DeleteByIdAsync(It.IsAny <int>())); var betService = new BetService(mockUnitOfWork.Object, UnitTestHelper.CreateMapperProfile()); var id = 1; var result = await betService.DeleteByIdAsync(id); Assert.IsTrue(result.Succedeed); mockUnitOfWork.Verify( m => m.BetRepository.DeleteByIdAsync(id), Times.Once); mockUnitOfWork.Verify( m => m.SaveAsync(), Times.Once); }
public void GetAllBets() { //initiallizing var unitOfWork = new Mock <IUnitOfWork>(); var finder = new Mock <IBetFinder>(); var collection = new Mock <IRepository <Bet> >(); var service = new BetService(unitOfWork.Object, finder.Object, collection.Object); //act finder.Setup(x => x.FindAllBets()) .Returns(new List <Bet>()); service.GetAllBets(); //assert finder.Verify(x => x.FindAllBets()); }