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); } }
/// <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); }
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")); } }
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)); } }
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 }
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)); } }
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()); }
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)); }