public async Task <IActionResult> SignUpPost([FromForm] MUserinfo input, string password2) { if (input.PASSWORD.Trim() != password2.Trim()) { return(Json(new { msg = "비밀번호와 비밀번호 확인을 일치시켜주세요" })); } try { _db.BeginTransaction(); var r = await input.SignUpAsync(_db); if (r < 1) { throw new Exception("회원 등록 오류"); } _db.Commit(); } catch (Exception ex) { _db.Rollback(); return(Json(new { msg = ex.Message })); } return(await LoginPost(input.EMAIL, password2, null, false)); }
public bool AuthorizeEmployee(string userId, string password) { using (IDapperHelper dapper = DapperHelper.GetInstance()) { var trans = dapper.BeginTransaction(); try { using (IRepository repo = new Repository()) { var user = repo.Query <User>(x => x.Password == Encrypt.GetMd5Hash(password)).Find(x => x.IsActive && (x.UserName.Equals(userId, StringComparison.OrdinalIgnoreCase) || x.EmployeeNo.Equals(userId, StringComparison.OrdinalIgnoreCase))); if (user != null) { user.LastLoginDate = DateTime.Now; repo.Update(user); trans.Commit(); return(SetSession(user.ID)); } } } catch { trans.Rollback(); } } return(false); }
public ActionResult MenuDelete(MenuDto model) { if (ModelState.IsValid) { using (IDapperHelper dapper = DapperHelper.GetInstance()) { var trans = dapper.BeginTransaction(); try { if (model.ID > 0 && _repo.Delete <Menu>(model.ID) > 0) { var list = _repo.Query <Order>(x => x.MenuID == model.ID); if (list != null && list.Count > 0) { foreach (var o in list) { o.IsActive = false; } } list.Update(); trans.Commit(); Entities.Menu.Cache.RefreshCache(); return(RedirectToAction("MenuManagement", "Console")); } } catch (Exception ex) { trans.Rollback(); ModelState.AddModelError("Warn", ex.Message); } } } return(RedirectToAction("Menu", "Console", new { model.ID })); }
public void DailyMenu_Test() { IRepository repo = new Repository(); if (!repo.Any <Menu>(x => x.MenuDate == DateTime.Today)) { // Today's menu no exist var menuL1 = new Menu { MenuDate = DateTime.Today, MenuType = MenuTypeEnum.Lunch, MenuFlag = "A", Meat = "红烧大排", MeatSmall = "芙蓉鸡片", Vegetable1 = "酸辣土豆丝", Vegetable2 = "麻婆豆腐", CreateTime = DateTime.Now, CreateUser = "******", IsApproved = false, IsActive = true, Remark = "TEST Lunch A" }; var menuL2 = new Menu { MenuDate = DateTime.Today, MenuType = MenuTypeEnum.Lunch, MenuFlag = "B", Meat = "咖喱牛肉", MeatSmall = "肉饼蒸蛋", Vegetable1 = "油焖笋", Vegetable2 = "凉拌马兰头", CreateTime = DateTime.Now, CreateUser = "******", IsApproved = false, IsActive = true, Remark = "TEST Lunch B" }; var menuS1 = new Menu { MenuDate = DateTime.Today, MenuType = MenuTypeEnum.Supper, MenuFlag = "A", Meat = "啤酒鸭", MeatSmall = "番茄炒蛋", Vegetable1 = "上汤菠菜", Vegetable2 = "清炒冬瓜", CreateTime = DateTime.Now, CreateUser = "******", IsApproved = false, IsActive = true, Remark = "TEST Supper A" }; var menuS2 = new Menu { MenuDate = DateTime.Today, MenuType = MenuTypeEnum.Supper, MenuFlag = "B", Meat = "香煎带鱼", MeatSmall = "雪菜炒鸡", Vegetable1 = "香菇青菜", Vegetable2 = "手撕包心菜", CreateTime = DateTime.Now, CreateUser = "******", IsApproved = false, IsActive = true, Remark = "TEST Supper B" }; using (IDapperHelper dapper = DapperHelper.GetInstance()) { var trans = dapper.BeginTransaction(); try { repo.Insert(menuL1); repo.Insert(menuL2); repo.Insert(menuS1); repo.Insert(menuS2); trans.Commit(); } catch { trans.Rollback(); throw; } } } Assert.IsTrue(repo.Count <Menu>(x => x.MenuDate == DateTime.Today) == 4 || repo.Count <Menu>(x => x.MenuDate == DateTime.Today) == 2); }
public User SyncUserWithWeChat(string userId, string deviceId = null) { // 调用Wechat接口,凭userid获取通讯录成员信息 var client = new WeChatUserClient(); var result = client.GetUser(userId); if (!string.IsNullOrEmpty(result)) { var json = JToken.Parse(result); if (json["errcode"] != null && json["errmsg"] != null && json["errcode"].Value <int>() == 0 && json["errmsg"].Value <string>() == "ok") { var user = new User { Password = Encrypt.GetMd5Hash("shsict"), Email = string.Empty, Role = UserRoleEnum.Employee, CreateDate = DateTime.Now, IsActive = true }; var userWeChat = new UserWeChat(); // user: { "errcode":0,"errmsg":"ok","userid":"cyrano","name":"陈继麟","department":[17],"position":"技术工程师","mobile":"13818059707", // "gender":"1","avatar":"http:\/\/shp.qpic.cn\/bizmp\/sfQa6NT594TUfQ42suia698Kz8KNY8eNmeogXYCNQicsaicnCMy5I1mfQ\/","status":1,"extattr":{"attrs":[]}} // { "UserId":"xudanfu1015","DeviceId":"c90af29b945abf19b1a3cace63ac9d45"} // user: { "errcode":0,"errmsg":"ok","userid":"xudanfu1015","name":"徐旦复","department":[34],"position":"系统开发主任","mobile":"13482045112", // "gender":"1","avatar":"http:\/\/shp.qpic.cn\/bizmp\/sfQa6NT594Qm6CnIQicHUTLTDCib0QlmdrlfI3GIsLxknRhBYc7JFb2Q\/","status":1, // "extattr":{"attrs":[{"name":"班组","value":"信息技术组"},{"name":"出生年月","value":"198509"},{"name":"政治面貌","value":"中共党员"},{"name":"工号","value":"1015"},{"name":"座机","value":""},{"name":"英文名","value":"xudanfu"}]}} // 获得微信用户的扩展属性 var extattr = json["extattr"].Value <JToken>(); var attrs = extattr?["attrs"].Value <JArray>(); var userdict = new Dictionary <string, string>(); if (attrs?.Count > 0) { foreach (var kvp in attrs) { userdict.Add(kvp["name"].Value <string>(), kvp["value"].Value <string>()); } } using (IDapperHelper dapper = DapperHelper.GetInstance()) { var trans = dapper.BeginTransaction(); try { using (IRepository repo = new Repository()) { // 通过userid,从数据库中获取对应用户 if (json["userid"] != null && repo.Any <User>(x => x.UserName == json["userid"].Value <string>())) { user = repo.Single <User>(x => x.UserName == json["userid"].Value <string>()); } #region 封装 User 实例 user.UserName = json["userid"] != null ? json["userid"].Value <string>() : string.Empty; user.EmployeeName = json["name"] != null ? json["name"].Value <string>() : string.Empty; user.EmployeeNo = userdict.ContainsKey("工号") && userdict["工号"] != null ? userdict["工号"] : string.Empty; if (json["department"]?.Value <JArray>() != null && json["department"].Value <JArray>().Count > 0) { user.Department = GetDepartment(json["department"].Value <JArray>()[0].Value <int>()); } else { user.Department = string.Empty; } user.Team = userdict.ContainsKey("班组") && userdict["班组"] != null ? userdict["班组"] : string.Empty; user.Position = json["position"] != null ? json["position"].Value <string>() : string.Empty; user.Mobile = json["mobile"] != null ? json["mobile"].Value <string>() : string.Empty; user.IsApproved = json["status"]?.Value <bool>() ?? true; user.LastLoginDate = DateTime.Now; user.Remark = json.ToString(); repo.Save(user, out var key); #endregion #region 封装 UserWeChat 实例 userWeChat.ID = (Guid)key; userWeChat.UserName = json["userid"] != null ? json["userid"].Value <string>() : string.Empty; userWeChat.LastAuthorizeDate = DateTime.Now; userWeChat.Gender = json["gender"]?.Value <short>() ?? -1; userWeChat.Avatar = json["avatar"] != null ? json["avatar"].Value <string>() : string.Empty; if (!string.IsNullOrEmpty(deviceId)) { userWeChat.DeviceId = deviceId; } repo.Save(userWeChat, out key); #endregion trans.Commit(); return(user); } } catch { trans.Rollback(); } } } } return(null); }