示例#1
0
        /// <summary>
        /// 根据卡片类别调用名称和用户名,为用户创建卡片
        /// </summary>
        /// <param name="callindex">卡片类别调用名称</param>
        /// <param name="username">用户名</param>
        /// <param name="token">token</param>
        /// <returns></returns>
        public int CreateUserCard(string callindex, string username)
        {
            BLL.Card         cardBll         = new BLL.Card();
            BLL.CardCategory cardCategoryBll = new BLL.CardCategory();
            BLL.UserCard     ucBLL           = new BLL.UserCard();
            BLL.users        usersBll        = new BLL.users();

            var user         = usersBll.GetModel(username);
            var cardCategory = cardCategoryBll.GetModel(callindex);
            var card         = new Model.Card();

            card.CardCategoryId = cardCategory.CardCategoryId;
            card.Code           = Common.Utils.GetCheckCode(7);
            card.CreateDate     = DateTime.Now;
            card.StartDate      = DateTime.Now;
            card.EndDate        = card.StartDate.AddDays(double.Parse(cardCategory.Duration.ToString()));

            int cardId = cardBll.Add(card);
            var uc     = new Model.UserCard();

            uc.CardId         = cardId;
            uc.UserId         = user.id;
            uc.CardCategoryId = cardCategory.CardCategoryId;
            return(ucBLL.Add(uc));
        }
示例#2
0
        public void Read()
        {
            userCards = new List <Model.UserCard>();

            SqlCommand command = new SqlCommand("select u.Id as Id, u.Name as Name," +
                                                "u.Surname as Surname, u.Cash as Cash," +
                                                "l.Name as Location, l.Zip as Zip from [dbo].[User] " +
                                                "u inner join [dbo].[Location] l on u.Id = l.UserId", connection);

            connection.Open();

            SqlDataReader reader = command.ExecuteReader();

            while (reader.Read())
            {
                Model.User user = new Model.User();
                user.Id      = reader["Id"].ToString();
                user.Name    = reader["Name"].ToString();
                user.Surname = reader["Surname"].ToString();
                user.Cash    = reader["Cash"].ToString();

                Model.Location location = new Model.Location();
                location.Name   = reader["Location"].ToString();
                location.UserId = reader["Id"].ToString();
                location.Zip    = reader["Zip"].ToString();

                Model.UserCard userCard = new Model.UserCard();
                userCard.UserInfo     = user;
                userCard.LocationInfo = location;

                userCards.Add(userCard);
            }

            connection.Close();
        }
示例#3
0
        public void Update(Model.UserCard userCard)
        {
            SqlCommand commandForUserUpdate = new SqlCommand(string.Format("update [dbo].[User]" +
                                                                           "set Name = '{0}'," +
                                                                           "Surname = '{1}'," +
                                                                           "Cash = '{2}'" +
                                                                           "where Id = '{3}'",
                                                                           userCard.UserInfo.Name,
                                                                           userCard.UserInfo.Surname,
                                                                           userCard.UserInfo.Cash,
                                                                           userCard.UserInfo.Id),
                                                             connection);

            SqlCommand commandForLocationDelete = new SqlCommand(string.Format("delete from [dbo].[Location] where UserId = '{0}'", userCard.UserInfo.Id),
                                                                 connection);


            SqlCommand commandForLocationInsert = new SqlCommand(string.Format("insert into [dbo].[Location] values ('{0}','{1}','{2}')",
                                                                               userCard.LocationInfo.Name, userCard.LocationInfo.Zip, userCard.LocationInfo.UserId),
                                                                 connection);

            connection.Open();

            commandForUserUpdate.ExecuteNonQuery();
            commandForLocationDelete.ExecuteNonQuery();
            commandForLocationInsert.ExecuteNonQuery();

            connection.Close();
        }
示例#4
0
        public void Delete(Model.UserCard userCard)
        {
            SqlCommand commandForUserDelete = new SqlCommand(string.Format("delete from [dbo].[User] where Id = '{0}'", userCard.UserInfo.Id),
                                                             connection);

            SqlCommand commandForLocationDelete = new SqlCommand(string.Format("delete from [dbo].[Location] where UserId = '{0}'", userCard.UserInfo.Id),
                                                                 connection);

            connection.Open();

            commandForUserDelete.ExecuteNonQuery();
            commandForLocationDelete.ExecuteNonQuery();

            connection.Close();
        }
示例#5
0
        public string Create(Model.User user, Model.Location location)
        {
            string msg = "Created!";

            Model.UserCard userCard = new Model.UserCard();
            userCard.LocationInfo = location;
            userCard.UserInfo     = user;

            SaveToMemory(userCard);
            dataHub.Create(userCard);

            msg = string.Format("{0} Now we have {1} items", msg, dataHub.Count() + 1);

            return(msg);
        }
示例#6
0
        public void Create(Model.UserCard userCard)
        {
            SqlCommand commandForUserInsert = new SqlCommand(string.Format("insert into [dbo].[User] values ('{0}','{1}','{2}','{3}')",
                                                                           userCard.UserInfo.Id, userCard.UserInfo.Name,
                                                                           userCard.UserInfo.Surname, userCard.UserInfo.Cash),
                                                             connection);

            SqlCommand commandForLocationInsert = new SqlCommand(string.Format("insert into [dbo].[Location] values ('{0}','{1}','{2}')",
                                                                               userCard.LocationInfo.Name, userCard.LocationInfo.Zip, userCard.LocationInfo.UserId),
                                                                 connection);

            connection.Open();

            commandForUserInsert.ExecuteNonQuery();
            commandForLocationInsert.ExecuteNonQuery();

            connection.Close();
        }
示例#7
0
        public IHttpActionResult PaySuccess(string ordernum, string tradeno)
        {
            var result = new PayResult();

            if (ordernum.StartsWith("R")) //充值订单
            {
                BLL.user_recharge   bll   = new BLL.user_recharge();
                Model.user_recharge model = bll.GetModel(ordernum);
                if (model == null)
                {
                    result.msg     = "该订单号不存在";
                    result.success = false;
                    result.status  = 201;
                }
                else
                {
                    if (model.status == 1)
                    {
                        result.msg     = "该订单已经支付,请不要重复支付";
                        result.success = false;
                        result.status  = 202;
                    }
                    //订单编号验证通过后执行
                    bool r = bll.Confirm(ordernum);
                    if (r)
                    {
                        result.msg     = "充值成功";
                        result.status  = 200;
                        result.success = true;
                    }
                    else
                    {
                        result.msg     = "充值订单信息更新失败";
                        result.status  = 204;
                        result.success = false;
                    }
                }
            }
            else if (ordernum.StartsWith("B"))
            {
                BLL.orders   bll   = new BLL.orders();
                Model.orders model = bll.GetModel(ordernum);
                if (model == null)
                {
                    result.msg     = "该订单号不存在";
                    result.success = false;
                    result.status  = 201;
                }
                else
                {
                    if (model.payment_status == 2) //已付款
                    {
                        result.msg     = "该订单已经支付,请不要重复支付";
                        result.success = false;
                        result.status  = 202;
                    }
                    //订单编号验证通过后执行
                    bool r = bll.UpdateField(ordernum, "trade_no='" + tradeno + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'");
                    if (r)
                    {
                        var articlebll = new BLL.article();
                        foreach (var g in model.order_goods)
                        {
                            //判断是否有卡片商品,如果有卡片商品,添加卡片和用户卡片
                            //todo:此处需要增加事务性操作
                            if (articlebll.IsCard(g.article_id))
                            {
                                var    article      = articlebll.GetModel(g.article_id);
                                string callindex    = article.fields["cardcategorycallindex"];
                                var    user         = new BLL.users().GetModel(model.user_name);
                                var    cardcategory = new BLL.CardCategory().GetModel(callindex);
                                var    card         = new Model.Card();
                                card.CardCategoryId = cardcategory.CardCategoryId;
                                card.Code           = Utils.GetCheckCode(7);
                                card.CreateDate     = DateTime.Now;
                                card.StartDate      = DateTime.Now;
                                card.EndDate        = DateTime.Now.AddDays((double)cardcategory.Duration);
                                var cardBll     = new BLL.Card();
                                int cardId      = cardBll.Add(card);
                                var usercardBll = new BLL.UserCard();
                                var usercard    = new Model.UserCard();
                                usercard.CardId         = cardId;
                                usercard.CardCategoryId = cardcategory.CardCategoryId;
                                usercard.UserId         = user.id;
                                usercardBll.Add(usercard);
                            }
                        }
                        result.msg     = "支付成功";
                        result.status  = 200;
                        result.success = true;
                    }
                    else
                    {
                        result.msg     = "商品订单信息更新失败";
                        result.status  = 204;
                        result.success = false;
                    }
                }
            }
            else
            {
                result.msg     = "订单号不正确";
                result.success = false;
                result.status  = 203;
            }
            return(Ok(result));
        }
示例#8
0
 public Model.UserCard ReadForIndex(int index)
 {
     currentUserCard = dataHub.Read(index);
     return(currentUserCard);
 }
示例#9
0
 public void SaveToMemory(Model.UserCard userCard)
 {
     currentUserCard = userCard;
 }