public bool IsUserMsgInfoPrefect(PersonalUser user)
 {
     //资料完善、给邀请人奖励5爽币
     if (user.RecommendNum == 0 && user.QQ != null && user.WeChat != null && user.Email != null && user.Birthday != null && user.Contacts != null && user.ContactNum != null)
     {
         user.RecommendNum = 1;
         PersonalUserBll.Update(user);
         UserMessage um = new UserMessage()
         {
             UserId  = user.ReferrerId,
             Title   = "邀请小伙伴—'," + user.UName + ",'注册成功'",
             Msg     = "亲爱的爽赞会员恭喜您,您邀请的'," + user.UName + ",'已经成功加入爽赞大家庭了,特此奖励5爽币,请注意查收哦。想要更多的福利,请继续关注“淘福利”版块哟~",
             State   = 0,
             PayType = "1",
             Pay     = 5,
             InTime  = DateTime.Now
         };
         UserMessageBll.Add(um);
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemple #2
0
        /// <summary>
        /// 我的礼包
        /// </summary>
        /// <param name="user">当前用户的id</param>
        /// <param name="type">礼包类型</param>
        /// <param name="pageIndex">当前页</param>
        /// <param name="pageSize">一夜多少条</param>
        /// <param name="count">总数量</param>
        /// <returns></returns>
        public IQueryable <Package_Card> GerMyPackage(PersonalUser user, string type, int pageIndex, int pageSize, out int count)
        {
            var allCard    = dbSession.PackageCardDal.LoadEntities(c => true);
            var allPackage = dbSession.PackageDal.LoadEntities(p => p.Id > 0);
            var data       = from c in allCard
                             join p in allPackage on c.PackageId equals p.Id
                             where c.UserId == user.Id
                             select new Package_Card()
            {
                EndDate   = p.EndDate,
                StartDate = p.StartDate,
                State     = p.State,
                GameName  = p.GameName,
                InTime    = c.InTime,
                Id        = p.Id,
                Url       = p.Url,
                Card      = c.Code,
                GiftType  = p.Type,
                GiftName  = p.GiftName
            };

            if (!string.IsNullOrEmpty(type))
            {
                data = data.Where(d => d.GiftType.Contains(type));
            }
            count = data.Count();
            return(data.OrderByDescending(p => p.InTime)
                   .Skip(pageSize * (pageIndex - 1))
                   .Take(pageSize).AsQueryable()
                   );
        }
        public ActionResult DeleteConfirmed(int id)
        {
            PersonalUser personalUser = db.PersonalUsers.Find(id);

            db.PersonalUsers.Remove(personalUser);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "Id,Name,Email,Password,AcceptsTextNotifications,AcceptsEmailNotifications")] PersonalUser personalUser)
 {
     if (ModelState.IsValid)
     {
         db.Entry(personalUser).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(personalUser));
 }
        /// <summary>
        /// 爽币余额
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public int GetCoinsUsedCount(PersonalUser user)
        {
            var earnCoins  = dbSession.UserMessageDal.LoadEntities(um => um.UserId == user.Id && um.PayType == "1").Sum(um => um.Pay == null ? 0 : um.Pay);
            var payCoins   = dbSession.UserMessageDal.LoadEntities(um => um.UserId == user.Id && um.PayType == "2").Sum(um => um.Pay == null ? 0 : um.Pay);
            var expenCoins = dbSession.UserMessageDal.LoadEntities(um => um.UserId == user.Id && um.PayType == "3").Sum(um => um.Pay == null ? 0 : um.Pay);
            ////爽币余额=赚的总额+充值的总额-消费的总额
            var CoolCoinsUsedCount = (int)(earnCoins + payCoins + (expenCoins));

            return(CoolCoinsUsedCount);
        }
Exemple #6
0
        public PersonalUserCreatedConfirmation CreateAdmin(PersonalUser user)
        {
            var userRole = roleRepository.GetRoles("Admin")[0];

            user.Role = userRole;
            context.Role.Attach(userRole);
            var createdUser = context.Add(user);

            return(mapper.Map <PersonalUserCreatedConfirmation>(createdUser.Entity));
        }
        public ActionResult Create([Bind(Include = "Id,Name,Email,Password,AcceptsTextNotifications,AcceptsEmailNotifications")] PersonalUser personalUser)
        {
            if (ModelState.IsValid)
            {
                db.PersonalUsers.Add(personalUser);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(personalUser));
        }
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PersonalUser personalUser = db.PersonalUsers.Find(id);

            if (personalUser == null)
            {
                return(HttpNotFound());
            }
            return(View(personalUser));
        }
        /// <summary>
        /// 0/待发货、1、待收货/2、已收货
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult AcceptOrderInfo(int id)
        {
            PersonalUser user  = GetCurrentUser();
            var          order = OrderBll.LoadEntities(o => o.UserId == user.Id && o.state == "1" && o.Id == id).FirstOrDefault();

            order.state       = "2";//确认收货
            order.ReceiveTime = DateTime.Now;
            if (OrderBll.Update(order))
            {
                return(Content("ok"));
            }
            else
            {
                return(Content("no"));
            }
        }
Exemple #10
0
        public ActionResult <PersonalUserDto> UpdateUser([FromBody] PersonalUserUpdateDto personalUser, Guid userId)
        {
            try
            {
                var userWithId = _personalUsersService.GetUserByUserId(userId);
                if (userWithId == null)
                {
                    return(NotFound());
                }
                PersonalUser user = _mapper.Map <PersonalUser>(personalUser);
                _personalUsersService.UpdateUser(user, userWithId);

                return(Ok(_mapper.Map <PersonalUserDto>(userWithId)));
            }
            catch (Exception ex)
            {
                if (ex.GetType().IsAssignableFrom(typeof(ForeignKeyConstraintViolationException)))
                {
                    return(StatusCode(StatusCodes.Status409Conflict, ex.Message));
                }
                if (ex.GetType().IsAssignableFrom(typeof(UniqueValueViolationException)))
                {
                    return(StatusCode(StatusCodes.Status422UnprocessableEntity, ex.Message));
                }
                if (ex.GetBaseException().GetType() == typeof(SqlException))
                {
                    Int32 ErrorCode = ((SqlException)ex.InnerException).Number;
                    switch (ErrorCode)
                    {
                    case 2627:      // Unique constraint error
                        break;

                    case 547:       // Constraint check violation; FK violation
                        return(StatusCode(StatusCodes.Status422UnprocessableEntity));

                    case 2601:      // Duplicated key row error; Unique violation
                        return(StatusCode(StatusCodes.Status409Conflict));

                    default:
                        return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
                    }
                }
                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }
        }
Exemple #11
0
        public IQueryable <Models.MapModel.MyGameDemo> GetMyGameDemo(PersonalUser user, int pageIndex, int pageSize, out int count)
        {
            var demoUser     = dbSession.DemoUserDal.LoadEntities(du => du.UserId == user.Id).Distinct();
            var demoAccounts = dbSession.GameDemoAccountsDal.LoadEntities(da => da.Id > 0);
            var gameDemo     = dbSession.GameDemoDal.LoadEntities(d => d.Id > 0);
            var demoRequires = dbSession.GameDemoRequiresDal.LoadEntities(dr => dr.Id > 0);
            var data         = (from da in demoAccounts
                                join du in demoUser on da.Id equals du.AccountId
                                join d in gameDemo on da.GameDemoId equals d.Id
                                let Coins = (from dr in demoRequires where dr.GameDemoId == d.Id select dr.AwardCoins).Sum()
                                            let passCheck = (from duu in demoUser where duu.GameDemoId == da.GameDemoId && duu.AccountId == du.AccountId && duu.UserId == user.Id && duu.State == "1" select duu).Count()
                                                            let all = (from duu in demoUser where duu.GameDemoId == da.GameDemoId && duu.AccountId == du.AccountId && duu.UserId == user.Id select duu).Count()
                                                                      select new MyGameDemo()
            {
                GameDemoId = da.GameDemoId,
                AccountId = du.AccountId,
                GameName = d.GameName,
                SystemName = da.SystemName,
                Url = da.Url,
                Account = da.UName,
                Pwd = da.Pwd,
                Coins = Coins,
                InTime = d.InTime,
                Type = d.Type,
                PassCheck = passCheck,
                Progress = all,
            }).Distinct();

            count = data.Count();
            return(data.OrderByDescending(d => d.InTime)
                   .Skip(pageSize * (pageIndex - 1)));

            #region sql
            //string sql = "select da.GameDemoId,du.accountid,d.Type,d.gamename,da.systemname,da.uname as  account,da.Pwd,da.url, (select count(1) from demouser where GameDemoId=da.GameDemoId and accountid=du.accountid and userid=@userid)as progress,(select count(1) from demouser where GameDemoId=da.GameDemoId and accountid=du.accountid and userid=@userid and state=1) as passCheck,(select sum(cast(AwardCoins as int)) from GameDemoRequires where GameDemoId=d.id)as Coins from (select distinct accountid from DemoUser where userid=@userid) du inner join GameDemoAccounts da on du.accountid=da.id inner join GameDemo d on d.id=da.GameDemoId   order  by  d.InTime  desc offset @pageIndex rows fetch next @pageSize row only";
            //SqlParameter[] pms = {
            //                         new SqlParameter("@userid",SqlDbType.Int){Value=user.Id},
            //                         new SqlParameter("@pageIndex",SqlDbType.Int){Value=pageIndex},
            //                         new SqlParameter("@pageSize",SqlDbType.Int){Value=pageSize},
            //                     };
            //var  data =dbSession.ExecuteQuery<MyGameDemo>(sql, pms).AsQueryable();
            //count = data.Count();
            //return data;
            #endregion
        }
Exemple #12
0
        public ActionResult <PersonalUserCreatedConfirmationDto> CreateAdmin([FromBody] PersonalUserCreationDto personalUser)
        {
            try
            {
                PersonalUser userEntity = _mapper.Map <PersonalUser>(personalUser);

                //Adding to userdbcontext tables
                PersonalUserCreatedConfirmation userCreated = _personalUsersService.CreateAdmin(userEntity, personalUser.Username);

                string location = _linkGenerator.GetPathByAction("GetUserById", "PersonalUser", new { userId = userCreated.UserId });
                return(Created(location, _mapper.Map <PersonalUserCreatedConfirmationDto>(userCreated)));
            }
            catch (Exception ex)
            {
                if (ex.GetType().IsAssignableFrom(typeof(ForeignKeyConstraintViolationException)))
                {
                    return(StatusCode(StatusCodes.Status409Conflict, ex.Message));
                }
                if (ex.GetType().IsAssignableFrom(typeof(UniqueValueViolationException)))
                {
                    return(StatusCode(StatusCodes.Status422UnprocessableEntity, ex.Message));
                }
                if (ex.GetBaseException().GetType() == typeof(SqlException))
                {
                    Int32 ErrorCode = ((SqlException)ex.InnerException).Number;
                    switch (ErrorCode)
                    {
                    case 2627:      // Unique constraint error
                        break;

                    case 547:       // Constraint check violation; FK violation
                        return(StatusCode(StatusCodes.Status422UnprocessableEntity, ex.Message));

                    case 2601:      // Duplicated key row error; Unique violation
                        return(StatusCode(StatusCodes.Status409Conflict, ex.Message));

                    default:
                        return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
                    }
                }
                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }
        }
        public ActionResult <PersonalUserCreatingConfirmationDto> CreateUser([FromBody] PersonalUserCreatingDto personalUser)
        {
            try
            {
                PersonalUser persUserEntity = _mapper.Map <PersonalUser>(personalUser);

                PersonalUserCreatingConfirmation persUserCreated = _personalUsersService.CreateUser(persUserEntity, personalUser.Password);

                string location = _linkGenerator.GetPathByAction("GetUserById", "PersonalUser", new { userId = persUserCreated.UserId });

                return(Created(location, _mapper.Map <PersonalUserCreatingConfirmationDto>(persUserCreated)));
            }
            catch (Exception ex)
            {
                if (ex.GetType().IsAssignableFrom(typeof(ForeignKeyConstraintViolationException)))
                {
                    return(StatusCode(StatusCodes.Status409Conflict, ex.Message));
                }
                if (ex.GetType().IsAssignableFrom(typeof(UniqueValueViolationException)))
                {
                    return(StatusCode(StatusCodes.Status422UnprocessableEntity, ex.Message));
                }
                if (ex.GetBaseException().GetType() == typeof(SqlException))
                {
                    Int32 ErrorCode = ((SqlException)ex.InnerException).Number;
                    switch (ErrorCode)
                    {
                    case 2627:
                        break;

                    case 547:
                        return(StatusCode(StatusCodes.Status422UnprocessableEntity, ex.Message));

                    case 2601:
                        return(StatusCode(StatusCodes.Status409Conflict, ex.Message));

                    default:
                        return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
                    }
                }
                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }
        }
Exemple #14
0
        public ActionResult InviteHostedEvents()
        {
            string          currentUserId = User.Identity.GetUserId();
            ApplicationUser currentUser   = db.Users.FirstOrDefault(x => x.Id == currentUserId);
            PersonalUser    personHosting = db.PersonalUsers.FirstOrDefault(x => x.Email == currentUser.Email);

            //Event modelEvent = new Event();
            //var personalUsers = new List<PersonalUser>();
            //foreach (var user in db.PersonalUsers)
            //{
            //    personalUsers.Add(user);
            //}
            //ViewBag.PersonalUsers = personalUsers;

            //List<Event> hostedEvents = personHosting.HostedEvents;

            //db.PersonalUsers.Where(x=>x.Id == personHosting.Id).Select()
            //var model = new PersonalUserAndHostedEvents { HostedEvents = hostedEvents, personalUser = personHosting, ModelEvent = modelEvent };
            //ViewBag.HostedEvents = personHosting.HostedEvents;
            return(View(/*hostedEvents*/));
        }
        public PersonalUserCreatedConfirmation CreateUser(PersonalUser personalUser, string password)
        {
            if (!CheckUniqueUsername(personalUser.Username, false, null))
            {
                //Unique violation
                throw new UniqueValueViolationException("Username should be unique");
            }
            if (!CkeckUniqueEmail(personalUser.Email))
            {
                throw new UniqueValueViolationException("Email should be unique");
            }
            if (!CheckCity(personalUser.CityId))
            {
                throw new ForeignKeyConstraintViolationException("Foreign key constraint violated");
            }

            ////Adding to userdbcontext tables
            PersonalUserCreatedConfirmation userCreated = _personalUserRepository.CreateUser(personalUser);

            _personalUserRepository.SaveChanges();

            //Adding to identityuserdbcontext tables
            string         username = string.Join("", personalUser.Username.Split(default(string[]), StringSplitOptions.RemoveEmptyEntries));
            var            acc      = new AccountInfo(username, personalUser.Email, userCreated.UserId);
            IdentityResult result   = _userManager.CreateAsync(acc, password).Result;

            if (result.Succeeded)
            {
                _userManager.AddToRoleAsync(acc, "Regular user").Wait();
            }
            else
            {
                _personalUserRepository.DeleteUser(userCreated.UserId);
                throw new ExectionException("Erorr trying to create user");
            }
            return(userCreated);
        }
        /// <summary>
        /// 得到我的爽币记录
        /// </summary>
        /// <param name="user">当前用户</param>
        /// <param name="pageIndex">当前页</param>
        /// <param name="pageSize">一夜多少条</param>
        /// <param name="total">总数量</param>
        /// <param name="payType">1-赚爽币记录;2-充值记录;3-消费记录</param>
        /// <returns></returns>
        public IQueryable <MyCoolCoins> GetCoolCoins(PersonalUser user, int pageIndex, int pageSize, out int total, string payType)
        {
            //id,intime,pay,title,msg,memo,memo1,memo2,
            var coinsList = dbSession.UserMessageDal.LoadEntities(um => true);
            var data      = from c in coinsList
                            let pays = (from d in coinsList where d.UserId == user.Id && d.PayType == payType select d.Pay).Sum()
                                       where c.UserId == user.Id && c.PayType == payType && c.Pay != 0
                                       select new MyCoolCoins {
                Id      = c.Id,
                InTime  = c.InTime,
                Pay     = c.Pay,
                Msg     = c.Msg,
                Title   = c.Title,
                Memo2   = c.Memo2,
                Memo1   = c.Memo1,
                Memo    = c.Memo,
                OrderNo = c.orderNo,
                Pays    = pays
            };

            total = data.Count();
            return(data.OrderByDescending(c => c.InTime).Skip(pageSize * (pageIndex - 1))
                   .Take(pageSize).AsQueryable());
        }
Exemple #17
0
 public void UpdateUser(PersonalUser user)
 {
     throw new NotImplementedException();
 }
        /// <summary>
        /// 第二种方式操作爽币余额
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>

        public int CoolCoinsUsed(PersonalUser user)
        {
            return(dbSession.UserMessageDal.LoadEntities(um => um.UserId == user.Id).Sum(um => um.Pay));
        }