public MyStatusCode UnfollowDog(long idLover, long idDog) { MyStatusCode state = MyStatusCode.Validated; DogLover lover = loverDao.Get(idLover); Dog dog = dogDao.Get(idDog); if (lover == null || dog == null) { state = MyStatusCode.Invalid; } else { using (var dbTransaction = dogDao.db.Database.BeginTransaction()) { try { if (followDao.Delete(idDog, idLover) != null) { loverDao.UpdateFollow(lover, -1); dbTransaction.Commit(); } else { state = MyStatusCode.Invalid; } } catch (Exception) { dbTransaction.Rollback(); state = MyStatusCode.InternalServerError; } } } return(state); }
public MyStatusCode PlayActivity(Activity activity) { MyStatusCode state = MyStatusCode.Validated; long[] idDogs = ConverterUtil.ConvertIds(activity.dogs); long[] idLovers = ConverterUtil.ConvertIds(activity.lovers); using (var dbTransaction = activityDao.db.Database.BeginTransaction()) { try { activityDao.Add(activity); foreach (long idLover in idLovers) { loverDao.IncLoves(idLover, DefaultUtil.PlayActivityLoversPoint); } foreach (long idDog in idDogs) { dogDao.IncLoves(idDog, DefaultUtil.PlayActivityLoversPoint); } dbTransaction.Commit(); } catch (Exception) { state = MyStatusCode.InternalServerError; dbTransaction.Rollback(); } } return(state); }
public MyStatusCode RegisterAccount(string username, string password, string gender) { MyStatusCode state = MyStatusCode.Invalid; if (!AccountUtil.CheckAccountInfo(username, password) || !(gender.Equals("M") || gender.Equals("F"))) { return(state); } if (loverDao.GetPw(username) != null) { logger.Debug("existing name :" + username); state = MyStatusCode.Existing; } else { DogLover lover = new DogLover() { name = username, password = password, gender = gender, figure = DefaultUtil.DefaultLoverFigure, loves = 0, loveDogs = 0, adoptDogs = 0 }; loverDao.Add(lover); state = MyStatusCode.Validated; } return(state); }
public MyStatusCode ValidateAccount(string username, string password, ref long userId) { MyStatusCode state = MyStatusCode.Invalid; if (!AccountUtil.CheckAccountInfo(username, password)) { return(state); } string pw = loverDao.GetPw(username); if (pw == null) { logger.Debug("no such user : "******"wrong pw : {0} of {1}", pw, username)); state = MyStatusCode.WrongPw; } else { userId = loverDao.GetId(username); state = MyStatusCode.Validated; } return(state); }
public HttpResponseMessage Donate(List <DonateItem> data) { HttpResponseMessage message = new HttpResponseMessage(); long userId = SupportFilter.GetUserIdFromCookie(); MyStatusCode state = loverService.Donate(data, userId); message.StatusCode = (HttpStatusCode)state; return(message); }
public HttpResponseMessage UnfollowDog(long idDog) { long userId = SupportFilter.GetUserIdFromCookie(); HttpResponseMessage message = new HttpResponseMessage(); MyStatusCode state = dogService.UnfollowDog(userId, idDog); message.StatusCode = (HttpStatusCode)state; return(message); }
public HttpResponseMessage Logout() { HttpResponseMessage message = Request.CreateResponse(); string username = SupportFilter.GetUsernameFromCookie(); MyStatusCode state = accountService.CleanSessionAndCookie(username); message.StatusCode = (HttpStatusCode)state; return(message); }
public HttpResponseMessage AdoptDog(dynamic data) { HttpResponseMessage message = new HttpResponseMessage(); Dictionary <String, Object> result = new Dictionary <string, object>(); long idDog = data.idDog; long idLover = SupportFilter.GetUserIdFromCookie(); MyStatusCode state = dogService.AdoptDog(idLover, idDog); message.StatusCode = (HttpStatusCode)state; return(message); }
public HttpResponseMessage Register(dynamic data) { HttpResponseMessage message = Request.CreateResponse(); Dictionary <String, Object> result = new Dictionary <string, object>(); string username = data.username; string password = data.password; string gender = data.gender; MyStatusCode state = accountService.RegisterAccount(username, password, gender); message.StatusCode = (HttpStatusCode)state; return(message); }
public MyStatusCode CleanSessionAndCookie(string username) { MyStatusCode state = MyStatusCode.Validated; if (username == null) { state = MyStatusCode.Invalid; } else { HttpContext.Current.Session.Remove(username); HttpContext.Current.Request.Cookies.Remove("Token"); } return(state); }
public HttpResponseMessage CommentDog(dynamic data) { HttpResponseMessage message = new HttpResponseMessage(); long userId = SupportFilter.GetUserIdFromCookie(); Comment comment = new Comment() { idComment = 0, commenter = userId, content = data.content, dog = data.dog, commentTime = DateTime.Now }; MyStatusCode state = loverService.CommentDog(comment); message.StatusCode = (HttpStatusCode)state; return(message); }
public MyStatusCode Donate(List <DonateItem> items, long userId) { MyStatusCode state = MyStatusCode.Validated; if (userId == 0) { state = MyStatusCode.Invalid; } else { int lovesInc = CalLovesInc(items); DonateRecord record = new DonateRecord() { lover = userId, items = items.Count(), lovesInc = lovesInc, donateTime = DateTime.Now }; using (var dbTransaction = loverDao.db.Database.BeginTransaction()) { try { long recordId = donateDao.Add(record).idDonateRecord; foreach (DonateItem item in items) { item.record = recordId; } donateDao.Donate(items); inventoryDao.Update(items); loverDao.IncLoves(userId, lovesInc); dbTransaction.Commit(); } catch (Exception) { dbTransaction.Rollback(); state = MyStatusCode.InternalServerError; } } } return(state); }
public HttpResponseMessage PlayActivity(dynamic data) { HttpResponseMessage message = new HttpResponseMessage(); Activity activity = new Activity() { idActivity = 0, kind = data.kind, desc = data.desc, images = data.images, admins = " " + data.admins, lovers = " " + data.lovers, dogs = " " + data.dogs }; MyStatusCode state = adminService.PlayActivity(activity); message.StatusCode = (HttpStatusCode)state; return(message); }
public MyStatusCode CommentDog(Comment comment) { MyStatusCode state = MyStatusCode.Validated; if (comment.commenter == 0) { state = MyStatusCode.Invalid; } else { try { commentDao.Add(comment); } catch (Exception) { state = MyStatusCode.InternalServerError; } } return(state); }
public MyStatusCode FollowDog(long idLover, long idDog) { MyStatusCode state = MyStatusCode.Validated; DogLover lover = loverDao.Get(idLover); Dog dog = dogDao.Get(idDog); if (lover == null || dog == null) { state = MyStatusCode.Invalid; } else if (lover.loveDogs >= DefaultUtil.DefaultFollowMaximum) { state = MyStatusCode.Limited; } else { using (var dbTransaction = dogDao.db.Database.BeginTransaction()) { try { Follow follow = new Follow() { dog_ = idDog, lover_ = idLover, followTime = DateTime.Now }; followDao.Add(follow); loverDao.UpdateFollow(lover, 1); dbTransaction.Commit(); } catch (Exception) { dbTransaction.Rollback(); state = MyStatusCode.InternalServerError; } } } return(state); }
public HttpResponseMessage Login(string username, string password) { HttpResponseMessage message = Request.CreateResponse(); Dictionary <String, Object> result = new Dictionary <string, object>(); logger.Debug(string.Format("name:{0} pw:{1}", username, password)); //数据库验证 long userId = 0; MyStatusCode state = accountService.ValidateAccount(username, password, ref userId); message.StatusCode = (HttpStatusCode)state; if (state == MyStatusCode.Validated) { //生成token string token = accountService.GenerateToken(username, password, userId); accountService.GenerateCookie(token); result.Add("Token", token); } string content = LitJson.JsonMapper.ToJson(result); message.Content = new StringContent(content, System.Text.Encoding.UTF8, "application/json"); return(message); }
public MyStatusCode AdoptDog(long idLover, long idDog) { MyStatusCode state = MyStatusCode.Validated; DogLover lover = loverDao.Get(idLover); Dog dog = dogDao.Get(idDog); if (dog == null || lover == null || dog.adopter != 0) { state = MyStatusCode.Invalid; } else if (lover.adoptDogs >= DefaultUtil.DefaultAdoptionMaximum) { state = MyStatusCode.Limited; } else if (lover.loves < dog.loves) { state = MyStatusCode.CannotAfford; } else { using (var dbTransaction = dogDao.db.Database.BeginTransaction()) { try { dogDao.BeAdopted(dog, lover.idUser); loverDao.AdoptDog(lover, dog.loves); dbTransaction.Commit(); } catch (Exception) { dbTransaction.Rollback(); state = MyStatusCode.InternalServerError; } } } return(state); }