コード例 #1
0
        public DrawDetailDto GetDrawDetail(int drawId)
        {
            var r = from dr in DrawingsService.GetQueryList()
                    join p in PrizeService.GetQueryList()
                    on dr.PrizeId equals p.Id
                    join a in AddressService.GetQueryList()
                    on dr.AddressId equals a.Id into xx
                    where dr.Id == drawId
                    from x in xx.DefaultIfEmpty()
                    select new DrawDetailDto
            {
                Id         = dr.Id,
                Area       = x.Area,
                City       = x.City,
                Email      = x.Email,
                Name       = x.TrueName,
                Phone      = x.Mobile,
                PrizeName  = p.Name,
                Province   = x.Province,
                Street     = x.Address1,
                Tel        = x.Tel,
                OrderNo    = dr.OrderNo,
                CreateTime = dr.CreateTime,
                Source     = dr.Source,
                IsVirtual  = p.IsVirtual
            };

            return(r.FirstOrDefault());
        }
コード例 #2
0
 protected override async Task OnInitializedAsync()
 {
     Prize = new RafflePrize();
     if (!PrizeService.IsInitialized)
     {
         await PrizeService.InitializeService();
     }
 }
コード例 #3
0
 public PrizeFacadeService(
     PrizeService weiXinPrizeService,
     PrizeConfigService weiXinPrizeConfigService,
     PrizeUserService weiXinPrizeUserService)
 {
     _weiXinPrizeService       = weiXinPrizeService;
     _weiXinPrizeConfigService = weiXinPrizeConfigService;
     _weiXinPrizeUserService   = weiXinPrizeUserService;
 }
コード例 #4
0
 public IQueryable <DrawListDto> GetDrawList(int source)
 {
     //throw new NotImplementedException();
     if (source == (int)Ichari.Model.Enum.GameSource.ChangeOfCare)
     {
         var r = from d in DrawingsService.GetQueryList()
                 join o in LoveChangeService.GetQueryList() on d.OrderNo equals o.UnionOrder
                 join p in PrizeService.GetQueryList() on d.PrizeId equals p.Id into px
                 from gp in px.DefaultIfEmpty()
                 join u in UserInfoService.GetQueryList() on d.UserId equals u.Id into ux
                 from g in ux.DefaultIfEmpty()
                 select new DrawListDto()
         {
             Id          = d.Id,
             PrizeId     = gp.Id,
             PrizeName   = gp.Name,
             UserId      = g.Id,
             UserName    = g.UserName,
             IsConfirmed = d.IsConfirrmed,
             IsWin       = d.IsWinner,
             IsHandled   = d.IsHandled ?? false,
             Source      = d.Source,
             DrawTime    = d.CreateTime,
             OrderNo     = o.UnionOrder,
             OrderState  = o.State
         };
         return(r);
     }
     else if (source == (int)Ichari.Model.Enum.GameSource.IchariDonation)
     {
         var r = from d in DrawingsService.GetQueryList()
                 join o in OrderService.GetQueryList() on d.OrderNo equals o.TradeNo
                 join p in PrizeService.GetQueryList() on d.PrizeId equals p.Id into px
                 from gp in px.DefaultIfEmpty()
                 join u in UserInfoService.GetQueryList() on d.UserId equals u.Id into x
                 from g in x.DefaultIfEmpty()
                 select new DrawListDto()
         {
             Id          = d.Id,
             PrizeId     = gp.Id,
             PrizeName   = gp.Name,
             UserId      = g.Id,
             UserName    = g.UserName,
             IsConfirmed = d.IsConfirrmed,
             IsWin       = d.IsWinner,
             IsHandled   = d.IsHandled ?? false,
             Source      = d.Source,
             DrawTime    = d.CreateTime,
             OrderNo     = o.TradeNo,
             OrderState  = o.Status
         };
         return(r);
     }
     return(null);
 }
コード例 #5
0
        public ActionResult DeletePrizeModel([DataSourceRequest] DataSourceRequest req, PrizeModel model)
        {
            var result = model;

            try
            {
                result = new PrizeService().DeletePrizeModel(model);
            }
            catch (Exception e)
            {
                ModelState.AddModelError("Error", e.Message);
            }

            return(Json(new[] { result }.ToDataSourceResult(req, ModelState)));
        }
コード例 #6
0
        public async Task AddPrize_WithValidInfo_ReturnsSuccessful()
        {
            // ARRANGE
            _storageMock
            .Setup(x => x.AddItemToRepository(It.IsAny <RafflePrize>()))
            .ReturnsAsync(0);
            _storageMock.SetupProperty(x => x.IsInitialized).SetReturnsDefault(true);
            var svc   = new PrizeService(_storageMock.Object, _loggerMock.Object);
            var prize = new RafflePrize {
                Name = "Test Prize", Quantity = 1
            };

            // ACT
            await svc.InitializeService();

            var result = await svc.AddRafflePrize(prize);

            // ASSERT
            Assert.IsTrue(result == RafflePrizeStatus.Successful);
        }
コード例 #7
0
        public async Task AddPrize_WithInvalidInfo_ThrowsArgumentException()
        {
            // ARRANGE
            _storageMock
            .Setup(x => x.AddItemToRepository(It.IsAny <RafflePrize>()))
            .ReturnsAsync(0);
            _storageMock.SetupProperty(x => x.IsInitialized).SetReturnsDefault(true);
            var svc   = new PrizeService(_storageMock.Object, _loggerMock.Object);
            var prize = new RafflePrize {
                Quantity = 0
            };

            // ACT
            await svc.InitializeService();

            var result = await svc.AddRafflePrize(prize);

            // ASSERT
            await Assert.ThrowsExceptionAsync <ArgumentException>(async() => await svc.AddRafflePrize(prize));
        }
コード例 #8
0
        public async Task GetCurrentPrize_ReturnCurrentPrize()
        {
            // arrange
            _storageMock
            .Setup(x => x.AddItemToRepository(It.IsAny <RafflePrize>()))
            .ReturnsAsync(0);
            _storageMock.SetupProperty(x => x.IsInitialized).SetReturnsDefault(true);

            var prize = new RafflePrize {
                Name = "Current Prize", Quantity = 1, IsSelectedPrize = true
            };
            var svc = new PrizeService(_storageMock.Object, _loggerMock.Object);
            await svc.InitializeService();

            var result = await svc.AddRafflePrize(prize);

            // act
            var selected = await svc.GetCurrentPrize();

            // assert
            Assert.IsNotNull(selected);
            Assert.AreEqual(prize.Name, "Current Prize");
        }
コード例 #9
0
 public PrizesController(PrizeService prizeService)
 {
     _prizeService = prizeService;
 }
コード例 #10
0
        public async Task AddNewPrize()
        {
            await PrizeService.AddRafflePrize(Prize);

            ModalService.Close(ModalResult.Ok(Prize));
        }
コード例 #11
0
        public ActionResult GetPrizeModelsByLosingParticipant([DataSourceRequest] DataSourceRequest req, int id)
        {
            List <PrizeModel> result = new PrizeService().GetPrizeModelsByLosingParticipant(id);

            return(Json(result.ToDataSourceResult(req)));
        }
コード例 #12
0
 public UsersController(UserService userService, RecordService recordService, PrizeService prizeService)
 {
     _userService   = userService;
     _recordService = recordService;
     _prizeService  = prizeService;
 }