public UserTaskControllerTests() { _userDao = new UserDaoStub(); var taskService = new UserTaskService(_userDao); _controller = new UserTaskController(taskService); }
/// <summary> /// Initializes a new instance of the <see cref="UserTaskControllerTests"/> class. /// </summary> public UserTaskControllerTests() { this.userDao = new UserDaoStub(); var taskService = new UserTaskService(this.userDao); this.controller = new UserTaskController(taskService); }
public IHttpActionResult GetUserTaskByCode(string UserTaskCode) { LogHelper.WriteLog("GetUserTaskByCode UserTaskCode" + UserTaskCode); SimpleResult result = new SimpleResult(); IUserTaskService _service = new UserTaskService(); try { if (UserAuthorization) { var list = _service.GetUserTaskByCode(UserTaskCode); result.Resource = list; result.Status = Result.SUCCEED; } else { result.Status = ResultType; result.Resource = ReAccessToken; result.Msg = TokenMessage; } } catch (Exception ex) { LogHelper.WriteLog("GetUserTaskByCode UserTaskCode" + UserTaskCode, ex); result.Status = Result.FAILURE; result.Msg = ex.Message; } LogHelper.WriteLog("GetUserTaskByCode result" + Json(result)); return(Json(result)); }
public ActionResult ViewUserTask(int id) { if (id > 0) { var model = new UserTaskService().GetUserTask(id); return(View(model)); } return(View()); }
public void Should_throw_exception_when_creating_a_task_for_invalid_user() { var userRepositoryMock = new Mock <IUserRepository>(); userRepositoryMock.Setup(x => x.Get(It.IsAny <int>())).Returns <User>(null); var userTaskService = new UserTaskService(null, userRepositoryMock.Object); Assert.ThrowsAsync <Exception>(() => userTaskService.CreateUserTask(100, "this user doesnt exist")); }
public HomeController( DocumentService documentService, OrganizationService organizationService, UserTaskService userTaskService, UserService userService, SignatureRequestService signatureRequestService) { _documentService = documentService; _organizationService = organizationService; _userTaskService = userTaskService; _userService = userService; _signatureRequestService = signatureRequestService; }
public async Task Should_filter_tasks_from_user_one() { var mockRepository = new Mock <IUserTaskRepository>(); mockRepository.Setup(x => x.List()).Returns(UserTaskStub.AsQueryable()); var service = new UserTaskService(mockRepository.Object, null); var userOne = UserListStub.First(x => x.Id == 100); var userTasks = await service.GetUserTasks(100); // Shouldn't contain tasks from other users CollectionAssert.IsEmpty(userTasks.Where(x => x.User.Id != userOne.Id)); Assert.AreEqual(userTasks.Count(), 2); }
public IHttpActionResult GetUserTaskList(string userCode) { LogHelper.WriteLog("GetUserTaskList userCode" + userCode); var sharePictures = ConfigurationManager.AppSettings["sharePictures"].ToString(); var shareDescriptions = ConfigurationManager.AppSettings["shareDescriptions"].ToString(); var shareTitle = ConfigurationManager.AppSettings["shareTitle"].ToString(); SimpleResult result = new SimpleResult(); IUserTaskService _service = new UserTaskService(); try { if (UserAuthorization) { var list = _service.GetUserTaskList(userCode); foreach (var t in list) { if (t.TaskCode == "2") { t.ShareDescriptions = shareDescriptions; t.SharePictures = sharePictures; t.ShareTitle = shareTitle; } } result.Resource = list; result.Status = Result.SUCCEED; } else { result.Status = ResultType; result.Resource = ReAccessToken; result.Msg = TokenMessage; } } catch (Exception ex) { LogHelper.WriteLog("GetUserTaskList userCode" + userCode, ex); result.Status = Result.FAILURE; result.Msg = ex.Message; } LogHelper.WriteLog("GetUserTaskList result" + Json(result)); return(Json(result)); }
public async Task Should_correctly_create_task_for_user() { var userTaskRepositoryMock = new Mock <IUserTaskRepository>(); userTaskRepositoryMock.Setup(x => x.Create(It.IsAny <UserTask>())).Returns(200); var userRepositoryMock = new Mock <IUserRepository>(); userRepositoryMock.Setup(x => x.Get(100)).Returns(new User() { Id = 100 }); var service = new UserTaskService(userTaskRepositoryMock.Object, userRepositoryMock.Object); var newTaskId = await service.CreateUserTask(100, "my new task"); userTaskRepositoryMock.Verify(x => x.Create(It.Is <UserTask>(u => u.User.Id == 100 && u.Description == "my new task")), Times.Once); Assert.AreEqual(newTaskId, 200); }
public async Task Should_never_delete_tasks_from_other_users() { var userTaskRepositoryMock = new Mock <IUserTaskRepository>(); var taskList = new List <UserTask>() { new UserTask() { User = new User() { Id = 100 }, Id = 110, Description = "user 100, task 110" }, new UserTask() { User = new User() { Id = 100 }, Id = 120, Description = "user 100, task 120" }, new UserTask() { User = new User() { Id = 200 }, Id = 210, Description = "user 200, task 210" }, }; userTaskRepositoryMock.Setup(x => x.List()).Returns(taskList.AsQueryable()); var service = new UserTaskService(userTaskRepositoryMock.Object, null); await service.DeleteUserTask(100, new int[] { 110, 120, 210 }); userTaskRepositoryMock.Verify(x => x.Delete(110), Times.Once); userTaskRepositoryMock.Verify(x => x.Delete(120), Times.Once); userTaskRepositoryMock.Verify(x => x.Delete(200), Times.Never); }
//http://localhost:10010//api/Message/BangMessageOk?userCode=18235139350 public IHttpActionResult BangMessageOk(string userCode) { LogHelper.WriteLog("BangMessageOk :" + userCode); ICouponService _service = new CouponService(); IUserInfo _userservice = new UserInfo(); ICouponTypeService _couponTypeservice = new CouponTypeService(); IUserTaskService _userTaskservice = new UserTaskService(); IStoreService storeService = new StoreService(); IUserStoreService userStoreService = new UserStoreService(); SimpleResult result = new SimpleResult(); try { if (UserAuthorization) { var user = userInfo.GetUserByCode(userCode); if (user != null) { var userStore = userStoreService.GetUserStorebyUserCode(userCode); if (userStore != null) { var store = storeService.GetStore(userStore.MembershipCardStore); if (store != null) { var cardId = ConfigurationManager.AppSettings["cardId"].ToString(); var card = getcardlist(store.accessToken, userStore.OpenID, cardId); if (card != null && card.FirstOrDefault()?.code != null) { var code = card.FirstOrDefault()?.code; var cardstatus = getcardstatus(store.accessToken, code, cardId); if (cardstatus.user_card_status.Equals("NORMAL")) { //写入到手机号和和数据库 var count = userInfo.UpdateIsMemberByuserCode(userCode, code); if (count > 0) { if (!string.IsNullOrEmpty(user.RecommendedPhone)) { IUserStoreService _userStoreservice = new UserStoreService(); if (store != null) { var recouser = _userservice.GetUserByphone(user.RecommendedPhone, store.StoreCode); //判断是不是已经领够了2次 if (recouser != null && recouser.IsMember) { if (_service.checkCoupon(recouser.Code, "2")) { var couponType = _couponTypeservice.GetCouponTypeByIsGivedType("2"); if (couponType != null) { Coupon coupon = new Coupon(); coupon.CouponCode = Guid.NewGuid().ToString(); coupon.UserCode = recouser.Code; coupon.CouponTypeCode = couponType.CouponTypeCode; coupon.StratTime = DateTime.Now; coupon.VersionEndTime = DateTime.MaxValue; coupon.IsGiveed = true; coupon.CouponUseCode = Str(10, true); //没有添加任务优惠券 var re = _service.Insert(coupon); //更改任务状态 var userTask = _userTaskservice.GetUserTaskList(recouser.Code); var ut = userTask.Where(u => u.TaskCode == "2").FirstOrDefault(); ut.IsComplete = true; _userTaskservice.UpdateUserTask(ut.UserTaskCode, 1); result.Resource = re; result.Status = Result.SUCCEED; } else { result.Resource = "好友赠送任务已经结束"; result.Status = Result.SYSTEM_ERROR; } } else { result.Resource = "好友已经达到任务奖励上限"; result.Status = Result.SYSTEM_ERROR; } } else { result.Resource = "您还没有注册会员"; result.Status = Result.SYSTEM_ERROR; } } else { result.Resource = "店铺不存在"; result.Status = Result.SYSTEM_ERROR; } } if (!user.IsMember) { // //添加赠送本人 if (_service.checkCoupon(userCode, "1")) { var couponType = _couponTypeservice.GetCouponTypeByIsGivedType("1"); if (couponType != null) { Coupon coupon = new Coupon(); coupon.CouponCode = Guid.NewGuid().ToString(); coupon.UserCode = userCode; coupon.CouponTypeCode = couponType.CouponTypeCode; coupon.StratTime = DateTime.Now; coupon.VersionEndTime = DateTime.MaxValue; coupon.IsGiveed = true; coupon.CouponUseCode = Str(10, true); //没有添加任务优惠券 var re = _service.Insert(coupon); //更改任务状态 //更改任务状态 var userTask = _userTaskservice.GetUserTaskList(userCode); var ut = userTask.Where(u => u.TaskCode == "1").FirstOrDefault(); ut.IsComplete = true; _userTaskservice.UpdateUserTask(ut.UserTaskCode, 1); result.Resource = re; result.Status = Result.SUCCEED; } } } result.Resource = count; result.Status = Result.SUCCEED; } else { result.Status = Result.SYSTEM_ERROR; result.Resource = "添加没有成功,请重试。"; } } else { result.Status = Result.SYSTEM_ERROR; result.Resource = "添加没有成功,请重试。"; } } else { result.Status = Result.SYSTEM_ERROR; result.Resource = "添加没有成功,请重试。"; } } } else { result.Status = Result.SYSTEM_ERROR; result.Resource = "添加没有成功,请重试。"; } } else { result.Status = Result.SYSTEM_ERROR; result.Resource = "当前用户不存在"; } } else { result.Status = ResultType; result.Resource = ReAccessToken; result.Msg = TokenMessage; } } catch (Exception ex) { LogHelper.WriteLog("BangMessageOk:" + ex.Message, ex); LogHelper.WriteLog("BangMessageOk:" + ex.StackTrace, ex); result.Status = Result.FAILURE; result.Msg = ex.Message; } LogHelper.WriteLog("BangMessageOk result" + Json(result)); return(Json(result)); }
//http://localhost:10010//api/Message/BangMessageCode?phone=18235139350&verificationCode=232232&userCode=121ewe&birthday='yyyy-mm-dd' public IHttpActionResult BangMessageCode(string phone, string verificationCode, string userCode, string storeCode, string birthday, string recommendedPhone = null) { LogHelper.WriteLog("BangMessageCode phone" + phone); LogHelper.WriteLog("BangMessageCode verificationCode" + verificationCode); LogHelper.WriteLog("BangMessageCode userCode" + userCode); LogHelper.WriteLog("BangMessageCode storeCode" + storeCode); LogHelper.WriteLog("BangMessageCode birthday" + birthday); LogHelper.WriteLog("BangMessageCode recommendedPhone" + recommendedPhone); IStoreService storeService = new StoreService(); ICouponService _service = new CouponService(); IUserInfo _userservice = new UserInfo(); ICouponTypeService _couponTypeservice = new CouponTypeService(); IUserTaskService _userTaskservice = new UserTaskService(); IUserStoreService userStoreService = new UserStoreService(); SimpleResult result = new SimpleResult(); try { if (UserAuthorization) { if (verificationService.CheckVerification(phone, verificationCode)) { DateTime birthdaydate = new DateTime(); if (DateTime.TryParse(birthday, out birthdaydate)) { var store = storeService.GetStore(storeCode); if (store != null) { var use = userInfo.GetUserByCode(userCode); if (use != null) { var userStore = userStoreService.GetUserStorebyUserCode(userCode); if (userStore != null) { var recouser = _userservice.GetUserByphone(recommendedPhone, store.StoreCode); //判断是不是已经领够了2次 if (recouser != null && recouser.IsMember) { if (_service.checkCoupon(recouser.Code, "2")) { var couponType = _couponTypeservice.GetCouponTypeByIsGivedType("2"); if (couponType != null) { Coupon coupon = new Coupon(); coupon.CouponCode = Guid.NewGuid().ToString(); coupon.UserCode = recouser.Code; coupon.CouponTypeCode = couponType.CouponTypeCode; coupon.StratTime = DateTime.Now; coupon.VersionEndTime = DateTime.MaxValue; coupon.IsGiveed = true; coupon.CouponUseCode = Str(10, true); //没有添加任务优惠券 var re = _service.Insert(coupon); //更改任务状态 var userTask = _userTaskservice.GetUserTaskList(recouser.Code); var ut = userTask.Where(u => u.TaskCode == "2").FirstOrDefault(); ut.IsComplete = true; _userTaskservice.UpdateUserTask(ut.UserTaskCode, 1); result.Resource = re; result.Status = Result.SUCCEED; } else { result.Resource = "好友赠送任务已经结束"; result.Status = Result.SYSTEM_ERROR; } } } //添加赠送本人 if (_service.checkCoupon(userCode, "1")) { var couponType = _couponTypeservice.GetCouponTypeByIsGivedType("1"); if (couponType != null) { Coupon coupon = new Coupon(); coupon.CouponCode = Guid.NewGuid().ToString(); coupon.UserCode = userCode; coupon.CouponTypeCode = couponType.CouponTypeCode; coupon.StratTime = DateTime.Now; coupon.VersionEndTime = DateTime.MaxValue; coupon.IsGiveed = true; coupon.CouponUseCode = Str(10, true); //没有添加任务优惠券 var re = _service.Insert(coupon); //更改任务状态 //更改任务状态 var userTask = _userTaskservice.GetUserTaskList(userCode); var ut = userTask.Where(u => u.TaskCode == "1").FirstOrDefault(); ut.IsComplete = true; _userTaskservice.UpdateUserTask(ut.UserTaskCode, 1); result.Resource = re; result.Status = Result.SUCCEED; } } var cardId = ConfigurationManager.AppSettings["cardId"].ToString(); var card = getcardlist(store.accessToken, userStore.OpenID, cardId); if (card != null && card.FirstOrDefault()?.code != null) { var code = card.FirstOrDefault()?.code; var cardstatus = getcardstatus(store.accessToken, code, cardId); if (cardstatus.user_card_status.Equals("NORMAL")) { var count = userInfo.UpdateByuserCodePhone(userCode, phone, birthdaydate, code); if (count > 0) { result.Status = Result.SUCCEED; } else { result.Status = Result.SYSTEM_ERROR; result.Msg = "当前用户绑定手机号失败"; } } else { var wxc = Common.GetCardExt(store, userCode); if (wxc != null) { //写入到手机号和和数据库 var count = userInfo.UpdateByPhone(userCode, phone, birthdaydate, wxc.cardExt.code, recommendedPhone); if (count > 0) { result.Status = Result.SUCCEED; LogHelper.WriteLog("BangMessageCode :" + result.Status); LogHelper.WriteLog("wxc :" + wxc); LogHelper.WriteLog("code :" + wxc.cardExt.code); result.Resource = wxc; } else { result.Status = Result.SYSTEM_ERROR; result.Msg = "获取配置失败重新获取"; } } else { result.Status = Result.USER_AUTH_ERROR; result.Msg = "获取配置失败重新获取"; } } } else { var wxc = Common.GetCardExt(store, userCode); if (wxc != null) { //写入到手机号和和数据库 var count = userInfo.UpdateByPhone(userCode, phone, birthdaydate, wxc.cardExt.code, recommendedPhone); if (count > 0) { result.Status = Result.SUCCEED; LogHelper.WriteLog("BangMessageCode :" + result.Status); LogHelper.WriteLog("wxc :" + wxc); LogHelper.WriteLog("code :" + wxc.cardExt.code); result.Resource = wxc; } else { result.Status = Result.SYSTEM_ERROR; result.Msg = "获取配置失败重新获取"; } } else { result.Status = Result.USER_AUTH_ERROR; result.Msg = "获取配置失败重新获取"; } } } else { result.Status = Result.SYSTEM_ERROR; result.Msg = "当前用户不存在"; } } else { result.Status = Result.SYSTEM_ERROR; result.Msg = "当前用户不存在"; } } else { result.Status = Result.SYSTEM_ERROR; result.Msg = "店铺不存在"; } } else { result.Status = Result.SYSTEM_ERROR; result.Msg = "选择生日有误"; } } else { result.Status = Result.SYSTEM_ERROR; result.Msg = "验证码错误或者已经过期,请重新获取验证码。"; } } else { result.Status = ResultType; result.Resource = ReAccessToken; result.Msg = TokenMessage; } } catch (Exception ex) { LogHelper.WriteLog("BangMessageCode:", ex); result.Status = Result.FAILURE; result.Msg = ex.Message; } LogHelper.WriteLog("BangMessageCode result" + Json(result)); return(Json(result)); }
public JsonResult UserTasksByPaging(DataTablesPaging request) { var view = new UserTaskService().GetUserTasksByPaging(request); return(Json(view, JsonRequestBehavior.AllowGet)); }
public UserTaskUnitTest() { _userTaskService = new UserTaskService(); _userService = new UserService(); }
public IHttpActionResult GetUserInfoByCode(string usercode, string store) { LogHelper.WriteLog("GetUserInfoByCode usercode" + usercode); LogHelper.WriteLog("GetUserInfoByCode store" + store); SimpleResult result = new SimpleResult(); IUserInfo _service = new UserInfo(); ICustomerServiceS _customerServiceS = new CustomerServiceS(); IOrderService _OrderService = new OrderService(); ICouponService _CouponService = new CouponService(); UserInfoModel userInfo = new UserInfoModel(); IUseWalletService _useWalletService = new UseWalletService(); IUserTaskService _userTaskService = new UserTaskService(); try { if (UserAuthorization) { var user = _service.GetUserByCode(usercode); userInfo.user = user; var customerService = _customerServiceS.GetCustomerService(store); userInfo.customerService = customerService; var orders = _OrderService.GetOrderList(usercode); userInfo.useWalletInfo = _useWalletService.GetUseWalletInfoByUserCode(usercode); var conponList = _CouponService.GetUserCoupon(usercode); userInfo.useCouponCount = conponList.Any()?conponList.Count:0; if (orders != null) { userInfo.orders = orders.Where(p => p.PayTime != null && p.IsWriteOff == false).Count(); } var coupons = _CouponService.GetCouponList(usercode); if (coupons != null) { userInfo.coupons = coupons.Where(c => c.IsUsed == false).Count(); } var userTask = _userTaskService.GetUserTaskList(user.Code); if (userTask != null) { userInfo.userTask = userTask.Where(t => t.IsComplete == false).Count(); } userInfo.openCard = new OpenCard(); var cardId = ConfigurationManager.AppSettings["cardId"].ToString(); userInfo.openCard.cardId = cardId; userInfo.openCard.code = userInfo.user?.ReferenceNumber; result.Resource = userInfo; result.Status = Result.SUCCEED; } else { result.Status = ResultType; result.Resource = ReAccessToken; result.Msg = TokenMessage; } } catch (Exception ex) { LogHelper.WriteLog("GetUserInfoByCode usercode" + usercode + "store" + store, ex); result.Status = Result.FAILURE; result.Msg = ex.Message; } LogHelper.WriteLog("GetUserInfoByCode result" + Json(result)); return(Json(result)); }
public UserTaskController(UserTaskService userTaskService) { _userTaskService = userTaskService; }
public IHttpActionResult Getaccess_token(string authorizationCode, string membershipCardStore) { SimpleResult result = new SimpleResult(); try { var store = storeService.GetStore(membershipCardStore); if (store != null) { LogHelper.WriteLog("微信authorizationCode:" + authorizationCode + "membershipCardStore:" + membershipCardStore); var wxAccessToken = Common.wxCertification(authorizationCode, store); if (wxAccessToken != null && wxAccessToken.access_token != null) { Certification certification = new Certification(); //①请求判断是否用户已经存在认证②存在了更新 LogHelper.WriteLog("微信openid:" + wxAccessToken.openid + "membershipCardStore:" + membershipCardStore); if (certificationService.CheckCertification(wxAccessToken.openid)) { certification.CertificationCode = Guid.NewGuid().ToString(); certification.OpenID = wxAccessToken.openid; certification.AccessToken = Guid.NewGuid().ToString(); certification.CreateTime = DateTime.Now; certification.ReAccessToken = Guid.NewGuid().ToString(); certificationService.UpdateUserCertification(certification); } else { //③不存在 微信authorizationCode转化自己的authorizationCode certification.CertificationCode = Guid.NewGuid().ToString(); certification.OpenID = wxAccessToken.openid; certification.CreateTime = DateTime.Now; certification.AccessToken = Guid.NewGuid().ToString(); certification.ReAccessToken = Guid.NewGuid().ToString(); //3.1 创建认证信息 certificationService.CreateUserCertification(certification); } IUserTaskService _userTaskService = new UserTaskService(); //3.2用OpenID检查用户 没有的话创建用户信息待写 //using (var scope = new TransactionScope())//创建事务 //{ User user = new User(); var userStore = userStoreService.GetUserStoreby(wxAccessToken.openid); if (userStore != null) { user = userInfo.GetUserByCode(userStore.UserCode); if (_userTaskService.GetUserTaskList(user.Code).Count() != 2) { _userTaskService.InsertUserTask(user.Code, "1"); _userTaskService.InsertUserTask(user.Code, "2"); } } // 用OpenID获取用户信息然后创建用户信息 else { var wxuserinfo = Common.wxuserInfo(wxAccessToken.access_token, wxAccessToken.openid); if (wxuserinfo != null) { user.Code = Guid.NewGuid().ToString(); if (wxuserinfo.sex == 2) { user.Sex = true; } else { user.Sex = false; } user.UserIamgeUrl = wxuserinfo.headimgurl; user.UserName = wxuserinfo.nickname; user.CreateTime = DateTime.Now; userInfo.CreateUser(user); UserStore userStorew = new UserStore(); userStorew.OpenID = wxAccessToken.openid; userStorew.UserStoreCode = Guid.NewGuid().ToString(); userStorew.UserCode = user.Code; userStorew.MembershipCardStore = membershipCardStore; userStoreService.CreateUserStore(userStorew); _userTaskService.InsertUserTask(user.Code, "1"); _userTaskService.InsertUserTask(user.Code, "2"); } else { result.Msg = "请使用微信获取用户信息失败"; } } result.Status = Result.SUCCEED; FristModel fristModel = new FristModel(); fristModel.certification = certification; fristModel.userInfo = user; result.Resource = fristModel; result.Msg = "请使用AccessToken请求认证"; // scope.Complete();//这是最后提交事务 //} } else { result.Msg = "认证失败"; result.Msg = "请求微信认证失败重新获取Code"; } } else { result.Msg = "店铺没有配置"; } } catch (Exception e) { result.Msg = e.Message + e.StackTrace; LogHelper.WriteLog("Getaccess_token ", e); } LogHelper.WriteLog("Getaccess_token result" + Json(result)); return(Json(result)); }
public JsonResult UserTasks() { var items = new UserTaskService().GetUserTasks(); return(Json(items, JsonRequestBehavior.AllowGet)); }