Example #1
0
        public ActionResult ClaimPrizeStep2(AddressValidation av,int? selectedAddr)
        {
            
            if (selectedAddr.HasValue) { 
                var dr = _uow.DrawingsService.Get(o => o.Id == av.DrawId.Value);
                if (dr == null)
                    throw new IchariException(string.Format("未找到相应的抽奖记录:drawId={0}",av.DrawId));
                dr.AddressId = selectedAddr.Value;
                
                _uow.Commit();
                return RedirectToAction("DrawDetail", "Account", new { id = dr.Id });
            }

            if (ModelState.IsValid)
            {
                var usr = base.CurrentUser;
                if (_uow.UserInfoService.Get(o => o.Id == usr.Id && o.UserName == usr.UserName && o.Password == usr.Password) != null)
                {
                    Address addr = new Address();
                    addr.UserId = usr.Id;
                    addr.Address1 = av.Street;
                    addr.Area = av.Area;
                    addr.City = av.City;
                    addr.Email = av.Email;
                    addr.Mobile = av.Cell;
                    addr.PostCode = av.Postal;
                    addr.Province = av.Province;
                    addr.Tel = av.Tel;
                    addr.TrueName = av.Name;
                    _uow.AddressService.Add(addr);
                    _uow.Commit();

                    long drId = av.DrawId  ?? 0; //long.Parse((string)Session[SessionKey.DrawId]);
                    Drawings dr = _uow.DrawingsService.Get(o => o.Id == drId);
                    dr.AddressId = addr.Id;
                    dr.IsHandled = true;
                    _uow.Commit();
                    return RedirectToAction("DrawDetail", "Account", new { id = dr.Id });
                }
            }
            return View();
        }
Example #2
0
 public ActionResult ClaimPrizeStep2(int? drawId)
 {
     drawId = drawId ?? (int)Session[SessionKey.DrawId];
     var usr = base.CurrentUser;
     //check draw id
     var draw = _uow.DrawingsService.Get(t => t.Id == drawId.Value);
     if (draw == null)
         throw new IchariException(string.Format("未找到相应的抽奖记录:drawId={0}",drawId));
     if(draw.UserId != usr.Id)
         throw new IchariException(string.Format("抽奖记录异常:drawId={0}",drawId));
     if(draw.IsHandled != null && draw.IsHandled.Value)
         throw new IchariException(string.Format("已经登记领奖信息:drawId={0}",drawId));
     //对应的奖品
     var prize = _uow.PrizeService.Get(t => t.Id == draw.PrizeId.Value);
     ViewData["prize"] = prize;
     if (prize.IsVirtual) {
         if (Session[SessionKey.DeliveryFreeCard] == null)
         {
             var fc = _uow.FreeCardService.Delivery(FreeCardType.UnionCard);
             draw.CardId = fc.Id; 
             ViewData["freeCard"] = fc;
             Session[SessionKey.DeliveryFreeCard] = fc;
             _uow.Commit();
         }
         else {
             ViewData["freeCard"] = Session[SessionKey.DeliveryFreeCard] as FreeCard;
         }
         return View();
     }
     if (_uow.UserInfoService.Get(o => o.Id == usr.Id && o.Password == usr.Password) != null)
     {
         var addrList = _uow.AddressService.GetQueryList(t => t.UserId == usr.Id).ToList();
         ViewData["addrList"] = addrList;
         Address addr = addrList.FirstOrDefault(t => t.IsDefault == true);
         if (addr != null)
         {
             AddressValidation av = new AddressValidation();
             av.Area = addr.Area;
             av.Cell = addr.Mobile;
             av.City = addr.City;
             av.DefaultAddr = true;
             av.Email = addr.Email;
             av.Name = addr.TrueName;
             av.Postal = addr.PostCode;
             av.Province = addr.Province;
             av.Street = addr.Address1;
             av.Tel = addr.Tel;
             av.DrawId = drawId ?? 0;
             
             return View(av);
         }
         
         return View();
     }
     return RedirectToAction("Login", "Account", new { returnUrl = "/Account/MyDrawings" });
 }