//// [EnableQuery]
        //public SingleResult<AwardUser> Get([FromODataUri] String keyTargetUser, String keySupervior)
        //{
        //    return SingleResult.Create(_context.AwardUsers.Where(p => p.TargetUser == keyTargetUser && p.Supervisor == keySupervior));
        //}

        // POST: /AwardUsers
        /// <summary>
        /// Support for creating award user
        /// </summary>
        public async Task <IActionResult> Post([FromODataBody] AwardUser item)
        {
            if (!ModelState.IsValid)
            {
                foreach (var value in ModelState.Values)
                {
                    foreach (var err in value.Errors)
                    {
                        System.Diagnostics.Debug.WriteLine(err.Exception?.Message);
                    }
                }

                return(BadRequest());
            }

            String usrId = ControllerUtil.GetUserID(this);

            if (String.IsNullOrEmpty(usrId))
            {
                throw new Exception("Failed ID");
            }

            if (item.Supervisor != usrId)
            {
                throw new Exception("Wrong User");
            }

            _context.AwardUsers.Add(item);
            await _context.SaveChangesAsync();

            return(Created(item));
        }
        public bool AddAwardUser(int userId, int awardId)
        {
            var users  = usersDAO.GetAll();
            var awards = awardsDAO.GetAll();

            var user  = users.FirstOrDefault(usr => usr.Id == userId);
            var award = awards.FirstOrDefault(awrd => awrd.Id == awardId);

            if ((user == null) & (award == null))
            {
                return(false);
            }
            else
            {
                AwardUser awardUser = new AwardUser {
                    UserId = userId, AwardId = awardId,
                };

                if (awardsUsersDAO.GetAll().Contains(awardUser))
                {
                    throw new Exception("The user has already paired with the award");
                }
                else
                {
                    var result = awardsUsersDAO.Add(awardUser);

                    return(result);
                }
            }
        }
        /// <summary>
        /// 修改兑换联系信息
        /// </summary>
        /// <param name="User"></param>
        /// <returns></returns>
        public int updateAwardUser(AwardUser User)
        {
            StringBuilder sqlQuery = new StringBuilder();

            sqlQuery.Append("UPDATE AwardUser SET ")
            .Append("Compellation=@Compellation, ")
            .Append("MobilePhone=@MobilePhone, ")
            .Append("Province=@Province, ")
            .Append("City=@City, ")
            .Append("Area=@Area, ")
            .Append("DetailAddress=@DetailAddress ")
            .Append("WHERE UserID=@UserID");

            var prams = new List <DbParameter>
            {
                Database.MakeInParam("UserID", User.UserID),
                Database.MakeInParam("Compellation", User.Compellation),
                Database.MakeInParam("MobilePhone", User.MobilePhone),
                Database.MakeInParam("Province", User.Province),
                Database.MakeInParam("City", User.City),
                Database.MakeInParam("Area", User.Area),
                Database.MakeInParam("DetailAddress", User.DetailAddress)
            };

            return(Database.ExecuteNonQuery(CommandType.Text, sqlQuery.ToString(), prams.ToArray()));
        }
Beispiel #4
0
        public bool RemoveAwardFromUser(int userId, int awardId)
        {
            User user = this.usersLogic.GetUserById(userId);

            if (user == null)
            {
                return(false);
            }

            Award award = this.awardsLogic.GetAwardById(awardId);

            if (award == null)
            {
                return(false);
            }

            if (!user.UserAwards.Contains(award))
            {
                return(false);
            }

            this.cacheLogic.Delete(AllUsersCacheKey);

            AwardUser awardUser = new AwardUser
            {
                UserId  = user.UserId,
                AwardId = award.AwardId,
            };

            return(this.awardsUsersDao.RemoveAwardFromUser(awardUser));
        }
 public bool Add(AwardUser awardUser)
 {
     try
     {
         File.AppendAllLines(awardUsersFilePath, new[] { ToText(awardUser) });
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Beispiel #6
0
 public bool Add(AwardUser awardUser)
 {
     try
     {
         File.AppendAllLines(this.awardUsersFilePath, new[] { AwardUsersSerialize(awardUser) });
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Beispiel #7
0
        public bool RemoveAwardFromUser(AwardUser awardUser)
        {
            using (var con = new SqlConnection(this.conStr))
            {
                var cmd = con.CreateCommand();
                cmd.CommandText = "AwardsUsers_RemoveAwardFromUser";
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.AddWithValue("@UserId", awardUser.UserId);
                cmd.Parameters.AddWithValue("@AwardId", awardUser.AwardId);

                con.Open();
                return(cmd.ExecuteNonQuery() == 1);
            }
        }
        /// <summary>
        /// 添加兑换联系信息
        /// </summary>
        /// <param name="User"></param>
        /// <returns></returns>
        public int insertAwardUser(AwardUser User)
        {
            string sqlQuery =
                @"INSERT INTO AwardUser(UserID,Compellation,MobilePhone,Province,City,Area,DetailAddress,CollectDate) 
                            VALUES(@UserID,@Compellation,@MobilePhone,@Province,@City,@Area,@DetailAddress,getdate())";
            var prams = new List <DbParameter>
            {
                Database.MakeInParam("UserID", User.UserID),
                Database.MakeInParam("Compellation", User.Compellation),
                Database.MakeInParam("MobilePhone", User.MobilePhone),
                Database.MakeInParam("Province", User.Province),
                Database.MakeInParam("City", User.City),
                Database.MakeInParam("Area", User.Area),
                Database.MakeInParam("DetailAddress", User.DetailAddress)
            };

            return(Database.ExecuteNonQuery(CommandType.Text, sqlQuery, prams.ToArray()));
        }
        public bool AddAwardUser(int userId, int awardId)
        {
            var users = this.usersDao.GetAll();
            var user  = users.FirstOrDefault(u => u.Id == userId);

            if (user == null)
            {
                return(false);
            }

            var awards = this.awardsDao.GetAll();
            var award  = awards.FirstOrDefault(a => a.Id == awardId);

            if (award == null)
            {
                return(false);
            }

            AwardUser awardUser = new AwardUser
            {
                UserId  = userId,
                AwardId = awardId,
            };

            var awardsUser = this.awardUsersDao.GetAll();

            if (awardsUser.Contains(awardUser))
            {
                throw new ArgumentException($"User with id {userId} allready has award with id {awardId}");
            }

            this.cacheLogic.Delete(AllUsersCacheKey);
            this.cacheLogic.Delete(AllAwardsCacheKey);

            return(this.awardUsersDao.Add(awardUser));
        }
 private static string ToText(AwardUser awardUser)
 {
     return($"{awardUser.UserId.ToString()}{separator}{awardUser.AwardId.ToString()}");
 }
Beispiel #11
0
        /// <summary>
        /// 购买商品
        /// </summary>
        /// <param name="context"></param>
        private void BuyAward(HttpContext context)
        {
            Message       msg      = new Message();
            AjaxJsonValid ajaxJson = new AjaxJsonValid();
            int           userid   = GameRequest.GetQueryInt("userid", 0);
            //判断登录
            //if (!Fetch.IsUserOnline())
            //{
            //    ajaxJson.code = 1;
            //    ajaxJson.msg = "请先登录";
            //    context.Response.Write(ajaxJson.SerializeToJson());
            //    return;
            //}

            //获取参数
            // int typeID = GameRequest.GetQueryInt("TypeID", 0);
            int          awardID  = GameRequest.GetQueryInt("awardID", 0); //商品ID
            int          counts   = GameRequest.GetQueryInt("counts", 0);  //购买数量
            AccountsInfo userinfo = FacadeManage.aideAccountsFacade.GetAccountsInfoByUserID(userid);

            //验证奖品
            if (awardID == 0)
            {
                ajaxJson.msg = "非常抱歉,你所选购的商品不存在!";
                context.Response.Write(ajaxJson.SerializeToJson());
                return;
            }

            //验证数量
            if (counts <= 0)
            {
                ajaxJson.msg = "请输入正确的兑换数量!";
                context.Response.Write(ajaxJson.SerializeToJson());
                return;
            }
            if (counts > 100)
            {
                ajaxJson.msg = "兑换数量不能超过100!";
                context.Response.Write(ajaxJson.SerializeToJson());
                return;
            }

            AwardInfo awardInfo = FacadeManage.aideNativeWebFacade.GetAwardInfo(awardID);

            AwardUser awardUser = FacadeManage.aideNativeWebFacade.GetAwardUser(userid);


            //验证用户
            UserCurrency Currency = FacadeManage.aideTreasureFacade.GetUserCurrency(userid);


            //验证余额
            int totalAmount = awardInfo.UnitPrice * counts;     //总金额

            if (totalAmount <= 0)
            {
                ajaxJson.msg = "很抱歉!兑换的奖品配置额度太大或为零";
                context.Response.Write(ajaxJson.SerializeToJson());
                return;
            }
            if (totalAmount > (Currency == null?0:Currency.AwardTicket))
            {
                ajaxJson.msg  = "很抱歉!您的奖券数不足,不能兑换该奖品";
                ajaxJson.code = -1;
                context.Response.Write(ajaxJson.SerializeToJson());
                return;
            }

            //验证库存
            if (awardInfo.Inventory <= 0 && awardInfo.AwardType != 1)
            {
                ajaxJson.msg = "很抱歉!奖品的库存数不足,请更新其他奖品或者等待补充库存";
                context.Response.Write(ajaxJson.SerializeToJson());
                return;
            }

            //扣除奖牌
            Currency.AwardTicket = Currency.AwardTicket - totalAmount;

            //更新奖牌
            AwardOrder awardOrder = new AwardOrder();

            awardOrder.OrderID       = Fetch.GetOrderIDByPrefix("XT");
            awardOrder.UserID        = Currency.UserID;
            awardOrder.GameID        = userinfo.GameID;
            awardOrder.AwardID       = awardID;
            awardOrder.AwardType     = awardInfo.AwardType;
            awardOrder.AwardName     = awardInfo.AwardName;
            awardOrder.UnitPrice     = awardInfo.UnitPrice;
            awardOrder.BuyNum        = counts;
            awardOrder.PayTicket     = totalAmount;
            awardOrder.Gold          = awardInfo.Gold;
            awardOrder.Diamond       = awardInfo.Diamond;
            awardOrder.Compellation  = awardUser == null?"": awardUser.Compellation;
            awardOrder.MobilePhone   = awardUser == null ? "" : awardUser.MobilePhone;
            awardOrder.Province      = awardUser == null ? "" : awardUser.Province;
            awardOrder.City          = awardUser == null ? "" : awardUser.City;
            awardOrder.Area          = awardUser == null ? "" : awardUser.Area;
            awardOrder.DetailAddress = awardUser == null ? "" : awardUser.DetailAddress;
            awardOrder.ClinetIP      = Utility.UserIP;

            msg = FacadeManage.aideNativeWebFacade.BuyAward(awardOrder);
            if (msg.Success)
            {
                ajaxJson.SetValidDataValue(true);
                ajaxJson.msg = "兑换成功!实物商品请注意查收";
                if (awardInfo.AwardType == 1)
                {
                    ajaxJson.msg = "兑换成功!将在5分钟内发放至游戏中";
                }

                awardOrder = msg.EntityList[0] as AwardOrder;

                ajaxJson.SetDataItem("rs", 1);
                context.Response.Write(ajaxJson.SerializeToJson());
            }
            else
            {
                ajaxJson.msg = msg.Content;
                ajaxJson.SetDataItem("rs", -1);
                context.Response.Write(ajaxJson.SerializeToJson());
            }
        }
Beispiel #12
0
        private void SetAwardUser(HttpContext context)
        {
            AjaxJsonValid ajaxJson      = new AjaxJsonValid();
            Message       msg           = new Message();
            int           userid        = GameRequest.GetQueryInt("userid", 0);
            string        settype       = TextFilter.FilterScript(GameRequest.GetQueryString("settype")); //设置类型update修改insert添加
            string        compellation  = TextFilter.FilterScript(GameRequest.GetQueryString("name"));    //真实姓名
            string        mobilePhone   = TextFilter.FilterScript(GameRequest.GetQueryString("phone"));   //移动电话
            string        province      = GameRequest.GetQueryString("province");                         //省份
            string        city          = GameRequest.GetQueryString("city");                             //城市
            string        area          = GameRequest.GetQueryString("area");                             //地区
            string        dwellingPlace = TextFilter.FilterScript(GameRequest.GetQueryString("address")); //详细地址

            //验证真实姓名

            msg = CheckingRealNameFormat(compellation, false);
            if (!msg.Success)
            {
                ajaxJson.msg = "请输入正确的收件人";
                context.Response.Write(ajaxJson.SerializeToJson());
                return;
            }


            //验证手机号

            msg = CheckingMobilePhoneNumFormat(mobilePhone, false);
            if (!msg.Success)
            {
                ajaxJson.msg = "请输入正确的手机号码";
                context.Response.Write(ajaxJson.SerializeToJson());
                return;
            }
            //验证地址邮编

            if (province.Length < 1)
            {
                ajaxJson.msg = "请选择省份";
                context.Response.Write(ajaxJson.SerializeToJson());
                return;
            }
            if (city.Length < 1)
            {
                ajaxJson.msg = "请选择城市";
                context.Response.Write(ajaxJson.SerializeToJson());
                return;
            }
            if (area.Length < 1)
            {
                ajaxJson.msg = "请选择地区";
                context.Response.Write(ajaxJson.SerializeToJson());
                return;
            }
            if (string.IsNullOrEmpty(dwellingPlace))
            {
                ajaxJson.msg = "请输入详细地址";
                context.Response.Write(ajaxJson.SerializeToJson());
                return;
            }
            AwardUser awardUser = new AwardUser();

            awardUser.UserID        = userid;
            awardUser.Compellation  = compellation;
            awardUser.MobilePhone   = mobilePhone;
            awardUser.Province      = province;
            awardUser.City          = city;
            awardUser.Area          = area;
            awardUser.DetailAddress = dwellingPlace;
            if (settype == "update")
            {
                int rs = FacadeManage.aideNativeWebFacade.updateAwardUser(awardUser);
                if (rs > 0)
                {
                    ajaxJson.msg = "修改成功";
                    ajaxJson.SetValidDataValue(true);
                    ajaxJson.SetDataItem("rs", 1);
                    context.Response.Write(ajaxJson.SerializeToJson());
                    return;
                }
                else
                {
                    ajaxJson.msg = "修改失败";
                    ajaxJson.SetDataItem("rs", -1);
                    context.Response.Write(ajaxJson.SerializeToJson());
                    return;
                }
            }
            if (settype == "insert")
            {
                int rs = FacadeManage.aideNativeWebFacade.insertAwardUser(awardUser);
                if (rs > 0)
                {
                    ajaxJson.msg = "提交成功";
                    ajaxJson.SetValidDataValue(true);
                    ajaxJson.SetDataItem("rs", 1);
                    context.Response.Write(ajaxJson.SerializeToJson());
                    return;
                }
                else
                {
                    ajaxJson.msg = "提交失败";
                    ajaxJson.SetDataItem("rs", -1);
                    context.Response.Write(ajaxJson.SerializeToJson());
                    return;
                }
            }
        }
Beispiel #13
0
 private static string AwardUsersSerialize(AwardUser awardUser)
 {
     return($"{awardUser.UserId.ToString()}{Separator}{awardUser.AwardId.ToString()}");
 }
Beispiel #14
0
 /// <summary>
 /// 修改兑换联系信息
 /// </summary>
 /// <param name="User"></param>
 /// <returns></returns>
 public int updateAwardUser(AwardUser User)
 {
     return(webData.updateAwardUser(User));
 }
Beispiel #15
0
 /// <summary>
 /// 添加兑换联系信息
 /// </summary>
 /// <param name="User"></param>
 /// <returns></returns>
 public int insertAwardUser(AwardUser User)
 {
     return(webData.insertAwardUser(User));
 }