public ActionResult Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                // Attempt to register the user
                MembershipCreateStatus createStatus;
                Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus);

                if (createStatus == MembershipCreateStatus.Success)
                {
                    var user = entities.AppUsers.Where(x => x.Username == model.UserName).FirstOrDefault();

                    user.Addresses = new List <Address>();
                    user.Addresses.Add(new Address()
                    {
                        City = model.City, State = model.State, Country = model.Country
                    });

                    entities.SaveChanges();

                    FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */);
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    ModelState.AddModelError("", ErrorCodeToString(createStatus));
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
 /// <summary>
 /// 检测用户是否合法并买票
 /// </summary>
 /// <param name="userName"></param>
 /// <param name="userPassword"></param>
 /// <param name="ticket"></param>
 /// <returns></returns>
 public int buyTicket(string userName, string userPassword, Ticket ticket)
 {
     try
     {
         using (AppDbEntities context = new AppDbEntities())
         {
             bool   isOk            = false;
             string userPasswordTmp = MD5.generateMD5(userPassword);
             var    users           = from t in context.UserInfoes
                                      where t.UserName == userName && t.Password == userPasswordTmp
                                      select t;
             foreach (var item in users)
             {
                 if (item.MoneySum - ticket.TotalPrice < 0)
                 {
                     return(-1);//金额不足返回-1
                 }
                 else
                 {
                     item.MoneySum -= ticket.TotalPrice;
                     //创建购票细节对象
                     DateTime    dt         = DateTime.Now;
                     UserDetails userDetail = new UserDetails()
                     {
                         Name         = item.Name,
                         UserName     = item.UserName,
                         LineNumber   = ticket.LineNumber,
                         StartStation = ticket.Source,
                         EndStation   = ticket.Destination,
                         TicketsNum   = ticket.Number,
                         Time         = dt,
                         Money        = ticket.TotalPrice,
                         StartTag     = ticket.SourceNum,
                         EndTag       = ticket.DestinationNum,
                         TicketsState = "未使用"
                     };
                     context.UserDetails.Add(userDetail);
                     isOk = true;
                 }
             }
             if (isOk)
             {
                 context.SaveChanges();
                 return(1);//购票成功返回1
             }
         }
     }
     catch (Exception ee)
     {
         //  MessageBox.Show(ee.Message+"路线号:"+ticket.LineNumber+"起始站号:"+ticket.SourceNum+"终点站号:"+ticket.DestinationNum);
         return(0); //异常出错返回0
     }
     return(2);     //用户信息出错返回2
 }
        public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion,
                                                  string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
        {
            ValidatePasswordEventArgs args =
                new ValidatePasswordEventArgs(username, password, true);

            OnValidatingPassword(args);

            if (args.Cancel)
            {
                status = MembershipCreateStatus.InvalidPassword;
                return(null);
            }

            if (RequiresUniqueEmail && !string.IsNullOrEmpty(GetUserNameByEmail(email)))
            {
                status = MembershipCreateStatus.DuplicateEmail;
                return(null);
            }

            MembershipUser user = GetUser(username, true);

            if (user == null)
            {
                var userObj = new AppUser();
                userObj.Username         = username;
                userObj.Password         = GetMD5Hash(password);
                userObj.Email            = email;
                userObj.DateCreated      = DateTime.UtcNow;
                userObj.LastActivityDate = DateTime.UtcNow;

                entities.AppUsers.Add(userObj);
                entities.SaveChanges();

                status = MembershipCreateStatus.Success;

                return(GetUser(username, true));
            }
            else
            {
                status = MembershipCreateStatus.DuplicateUserName;
            }

            return(null);
        }
Exemple #4
0
        private void in_MouseDown(object sender, MouseButtonEventArgs e)
        {
            if (isUser)
            {
                bool isOk = false;
                using (AppDbEntities context = new AppDbEntities())
                {
                    var q = from t in context.UserDetails
                            where t.UserName == tbUserName.Text && t.TicketsState == "未使用"
                            select t;
                    foreach (var v in q)
                    {
                        v.TicketsState = "进站";
                        isOk           = true;
                    }

                    if (isOk)
                    {
                        isIn = true;
                        //数据显示
                        tictetsState(tbUserName.Text);
                        context.SaveChanges();
                        //成功图标显示
                        imgIsSuccess.Source  = new BitmapImage(new Uri("/images/成功.png", UriKind.Relative));
                        imgIsSuccess.ToolTip = "进站成功";
                    }
                    else
                    {
                        imgIsSuccess.Source  = new BitmapImage(new Uri("/images/失败.png", UriKind.Relative));
                        imgIsSuccess.ToolTip = "未购票或已进站";
                    }
                }
            }
            else
            {
                imgIsSuccess.Source  = new BitmapImage(new Uri("/images/失败.png", UriKind.Relative));
                imgIsSuccess.ToolTip = "不存在此用户";
            }
            //输入框清空
            tbUserName.Text         = "";
            imgIsSuccess.Visibility = System.Windows.Visibility.Visible;
        }
Exemple #5
0
 /// <summary>
 /// 开通账户
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void openImmediate_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 {
     sex_nan.Focus();
     try
     {
         string user_name     = userName.Text;
         string user_passwrod = MD5.generateMD5(userPassword.Password);
         string user_realName = realName.Text.Replace(" ", "");
         string user_sex      = "";
         if (sex_nan.IsChecked == true)
         {
             user_sex = "男";
         }
         else if (sex_nv.IsChecked == true)
         {
             user_sex = "女";
         }
         // DateTime user_birthday = DateTime.Parse(birthday.Text);
         string  user_birthday = birthday.Text;
         string  user_idCard   = idCard.Text;
         string  user_address  = address.Text.Replace(" ", "");
         string  user_phone    = phoneNumber.Text;
         decimal user_money    = 0;
         decimal.TryParse(money.Text, out user_money);
         UserInfoes user = new UserInfoes()
         {
             UserName    = user_name,
             Password    = user_passwrod,
             Name        = user_realName,
             Sex         = user_sex,
             Birthday    = user_birthday,
             OpenTime    = DateTime.Now,
             IdCard      = user_idCard,
             Address     = user_address,
             PhoneNumber = user_phone,
             MoneySum    = user_money
         };
         if (infoIsOk(user))
         {
             using (AppDbEntities context = new AppDbEntities())
             {
                 try
                 {
                     context.UserInfoes.Add(user);
                     if (CheckUser.rechargeToCo(user.MoneySum))
                     {
                         context.SaveChanges();
                         MessageBox.Show("开户成功");
                         setStateNormal();
                     }
                 }
                 catch (Exception ex)
                 {
                     MessageBox.Show(ex.Message);
                 }
             }
         }
     }
     catch (Exception ee)
     {
         MessageBox.Show("开户失败:" + ee.Message);
     }
 }
Exemple #6
0
        /// <summary>
        /// 出站按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void out_MouseDown(object sender, MouseButtonEventArgs e)
        {
            isSkip   = true;
            outMoney = 0;

            if (isUser)
            {
                if (!isOut)
                {
                    if (isOut)
                    {
                    }
                    bool isOk = false;

                    //坐过站
                    if (outNum > 0)
                    {
                        //超过金额计算
                        outMoney = 1 + (outNum - 1) / 6;
                        using (AppDbEntities context = new AppDbEntities())
                        {
                            var q1 = from f in context.UserDetails
                                     where f.UserName == tbUserName.Text && f.TicketsState == "进站"
                                     select f;
                            foreach (var v1 in q1)
                            {
                                outMoney *= v1.TicketsNum;
                            }


                            var q2 = from t in context.UserInfoes
                                     where t.UserName == tbUserName.Text
                                     select t;
                            foreach (var v2 in q2)
                            {
                                if (v2.MoneySum >= outMoney)
                                {
                                    v2.MoneySum -= outMoney;
                                    leftMoney    = (int)v2.MoneySum;
                                    isMoney      = true;
                                    isOk         = true;
                                    isYanshi     = false;
                                }
                                else
                                {
                                    isYanshi = true;
                                    isMoney  = true;
                                    isOk     = true;
                                    //数据显示
                                    tictetsState(tbUserName.Text);
                                    imgIsSuccess.Source  = new BitmapImage(new Uri("/images/警告.png", UriKind.Relative));
                                    imgIsSuccess.ToolTip = "账户余额不足";
                                }
                            }
                            //账户余额足够支付
                            if (isMoney && !isYanshi)
                            {
                                payState();
                                if (isOk)
                                {
                                    isOut = true;
                                    //数据显示
                                    tictetsState(tbUserName.Text);
                                    //存储至数据库
                                    context.SaveChanges();
                                    //成功图标显示
                                    imgIsSuccess.Source  = new BitmapImage(new Uri("/images/成功.png", UriKind.Relative));
                                    imgIsSuccess.ToolTip = "出站成功";
                                }
                                else
                                {
                                    imgIsSuccess.Source  = new BitmapImage(new Uri("/images/失败.png", UriKind.Relative));
                                    imgIsSuccess.ToolTip = "未进站或已出站";
                                }
                            }
                            //账户余额不足够支付
                            else
                            {
                                unPayState();
                            }
                        }
                    }

                    //未超坐站或已经支付过超坐的钱
                    if (outNum == 0 || isMoney)
                    {
                        using (AppDbEntities context = new AppDbEntities())
                        {
                            var q = from t in context.UserDetails
                                    where t.UserName == tbUserName.Text && t.TicketsState == "进站"
                                    select t;
                            foreach (var v in q)
                            {
                                v.TicketsState = "出站";
                                isOk           = true;
                            }

                            if (isOk)
                            {
                                isOut = true;
                                //数据显示
                                tictetsState(tbUserName.Text);
                                context.SaveChanges();
                                //成功图标显示
                                imgIsSuccess.Source  = new BitmapImage(new Uri("/images/成功.png", UriKind.Relative));
                                imgIsSuccess.ToolTip = "出站成功";
                            }
                            else
                            {
                                imgIsSuccess.Source  = new BitmapImage(new Uri("/images/失败.png", UriKind.Relative));
                                imgIsSuccess.ToolTip = "未购票或已出站";
                            }
                        }
                    }
                }
                else
                {
                    imgIsSuccess.Source  = new BitmapImage(new Uri("/images/失败.png", UriKind.Relative));
                    imgIsSuccess.ToolTip = "未购票或已出站";
                }
            }
            else
            {
                imgIsSuccess.Source  = new BitmapImage(new Uri("/images/失败.png", UriKind.Relative));
                imgIsSuccess.ToolTip = "不存在此用户";
            }

            if (isOut && !isMoney)
            {
                //输入框清空
                tbUserName.Text = "";
            }
            imgIsSuccess.Visibility = System.Windows.Visibility.Visible;
        }