public MsgModel AddConfig(sys_config sys_Config) { sys_Config.id = new Snowflake().GetId(); var result = _baseSysConfigService.AddRange(sys_Config); return(result ? MsgModel.Success("新增配置成功!") : MsgModel.Fail("新增配置失败!")); }
public MsgModel DeleteOrg(sys_org sys_org) { List <sys_org> myChilds = _baseSysOrgService.GetModels(a => a.org_pids.Contains("[" + sys_org.org_pid + "]")).ToList(); if (myChilds.Count > 0) { // "不能删除有下级组织的组织机构" throw new CustomException((int)HttpStatusCode.Status500InternalServerError, "不能删除有下级组织的组织机构"); } List <sys_org> myFatherChilds = _baseSysOrgService.GetModels(a => a.org_pids.Contains("[" + "]")).ToList(); //我的父节点只有我这一个子节点,而我还要被删除,更新父节点为叶子节点。 if (myFatherChilds.Count == 1) { sys_org parent = new sys_org { id = sys_org.org_pid, is_leaf = true// 更新父节点为叶子节点。 }; _baseSysOrgService.Update(parent); } // 删除节点 _baseSysOrgService.Remove(sys_org); return(MsgModel.Success("删除组织机构成功!")); }
public async Task Send(string message, string emailFrom, string emailTo, string idFrom, string idTo) { MsgModel msg = new MsgModel { IdFrom = idFrom, IdTo = idTo, Time = DateTimeOffset.Now, Message = message, EmailFrom = emailFrom, EmailTo = emailTo }; using (ChatDbContext db = new ChatDbContext()) { var a = await db.Msgs.AddAsync(msg); await db.SaveChangesAsync(); var msgs = (from m in db.Msgs where m.EmailTo == emailTo && !m.Read select m).ToList(); await Clients.Caller.SendAsync("SendLeft", emailFrom.Remove(emailFrom.IndexOf('\x40')) + ": ", message, DateTime.Now.ToString("hh.mm")); if (idFrom == idTo) { msg.Read = true; await db.SaveChangesAsync(); } else { await Clients.User(idTo).SendAsync("GetMsg", idFrom, emailFrom.Remove(emailFrom.IndexOf('\x40')) + ": ", message, DateTime.Now.ToString("hh.mm"), a.Entity.MsgId); await Clients.User(idTo).SendAsync("NewMsg", msgs.Count()); foreach (var item in msgs) { await Clients.User(idTo).SendAsync("NewMsgU", item.IdFrom, msgs.Where(l => l.IdFrom == item.IdFrom).Count()); } } } }
public MsgModel SaveCheckedKeys(int roleId, List <int> checkedIds) { // 保存之前先删除 _baseSysRoleMenuService.DeleteRange(_baseSysRoleMenuService.GetModels(a => a.role_id == roleId).ToList()); _mySystemService.InsertRoleMenuIds(roleId, checkedIds); return(MsgModel.Success("保存菜单权限成功!")); }
public void verify_that_culture_change_affects_message_sent_to_client() { var model = new MsgModel(); var metadata = GetModelMetadata(model, m => m.Lang); var controllerContext = GetControllerContext(); var assert = new AssertThatValidator(metadata, controllerContext, new AssertThatAttribute("1 > 2") { ErrorMessage = "{Lang:n}" }); var assertRule = assert.GetClientValidationRules().Single(); Assert.Equal("default", assertRule.ErrorMessage); // change culture var culture = Thread.CurrentThread.CurrentUICulture; Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("pl"); // simulate next request - create new validator assert = new AssertThatValidator(metadata, controllerContext, new AssertThatAttribute("1 > 2") { ErrorMessage = "{Lang:n}" }); assertRule = assert.GetClientValidationRules().Single(); Assert.Equal("polski", assertRule.ErrorMessage); // restore culture Thread.CurrentThread.CurrentUICulture = culture; }
public void verify_that_culture_change_affects_message_sent_to_client() { var model = new MsgModel(); var metadata = GetModelMetadata(model, m => m.Lang); var controllerContext = GetControllerContext(); CulturalExecutionUI(() => { var assert = new AssertThatValidator(metadata, controllerContext, new AssertThatAttribute("1 > 2") { ErrorMessage = "{Lang:n}" }); var assertRule = assert.GetClientValidationRules().Single(); Assert.Equal("default", assertRule.ErrorMessage); }, "en"); // simulate next request - create new validator CulturalExecutionUI(() => { var assert = new AssertThatValidator(metadata, controllerContext, new AssertThatAttribute("1 > 2") { ErrorMessage = "{Lang:n}" }); var assertRule = assert.GetClientValidationRules().Single(); Assert.Equal("polski", assertRule.ErrorMessage); }, "pl"); }
//标记一条邀请我入群的信息为已处理 public void markInviteGroupProcessed(MsgModel mode) { foreach (var item in vmList) { Debug.Print(item.MsgType + item.From + item.To + item.Time); Debug.Print(mode.MsgType + mode.From + mode.To + mode.Time); if (item.MsgType == MessageProtocol.BE_INVITE_TO_GROUP_SRES) { if (item.From == mode.From && item.To == mode.To) { item.IsDealed = true; } } } foreach (var item in formMessageVerify.flowLayoutPanel.Controls) { MsgVerifyItem mvi = (MsgVerifyItem)item; if (mvi.m_MsgModel.MsgType == MessageProtocol.BE_INVITE_TO_GROUP_SRES) { if (mvi.m_MsgModel.From == mode.From && mvi.m_MsgModel.To == mode.To) { mvi.setProcessedSafePost(); } } } }
//Sends the answer to the database private async void SubmitAnswerButton_Clicked(object sender, EventArgs e) { MsgModel msg = new MsgModel(); msg.Subject = $"Re: {_message.Subject}"; msg.Description = Answer.Text.Trim(); //msg.Description = Answer.Text; msg.SenderId = User.UserId; if (_message.RecipientsIdCsv.Contains(_message.SenderId)) { msg.RecipientsIdCsv = _message.RecipientsIdCsv; } msg.RecipientsIdCsv = $"{_message.RecipientsIdCsv};{msg.SenderId}"; msg.SendDate = DateTime.Now.ToLocalTime(); msg.Category = 2; msg.Favorite = true; msg.State = 0; msg.ThreadId = _message.ThreadId; try { string Url = "http://qaiku.azurewebsites.net/api/messages/post"; var content = JsonConvert.SerializeObject(msg); var response = await httpClient.PostAsync(Url, new StringContent(content, Encoding.UTF8, "application/json")); Console.WriteLine(response.Content.ReadAsStringAsync()); Toast.MakeText(Android.App.Application.Context, "Your answer was sent!", ToastLength.Long).Show(); Answer.Text = "Your answer"; await this.Navigation.PopAsync(); } catch (Exception) { Toast.MakeText(Android.App.Application.Context, "Something went wrond. Please, try sending your answer again.", ToastLength.Long).Show(); } }
/// <summary> /// 用户登录 /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <returns></returns> public MsgModel Login(string username, string password) { if (string.IsNullOrWhiteSpace(username) || string.IsNullOrWhiteSpace(password)) { return(MsgModel.Fail("用户名或密码为空!")); } // 加密登陆密码 string encodePassword = PasswordEncoder.Encode(password); sys_user sys_user = _baseService.GetModels(a => a.username == username && a.password == encodePassword).SingleOrDefault(); if (sys_user == null) { return(MsgModel.Fail("用户名或密码不正确!")); } else if (sys_user.enabled == false) { return(MsgModel.Fail("账户已被禁用!")); } // 将一些个人数据写入token中 var dict = new Dictionary <string, object> { { ClaimAttributes.UserId, sys_user.id }, { ClaimAttributes.UserName, username } }; var data = JwtHelper.IssueJwt(dict); return(MsgModel.Success((object)data)); }
/// <summary> /// 构造方法 /// </summary> public MsgModel(bool result, MsgType type, string content) { this.Result = result; this.Type = type; this.Title = MsgModel.GetDefaultTitle(type); this.Content = content; }
//Api public JsonResult getCategories() { CategoryModel cgm = new CategoryModel(); int count = cgm.getAllCatagory().Count(); MsgModel msg = new MsgModel(); if (cgm.response == "500") { msg.status = "500"; msg.data = null; } else { msg.status = "200"; if (count < 1) { msg.data = null; } else { msg.data = cgm.getAllCatagory(); } } return(Json(msg, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 根据合并的2个消息设置新消息模型的Content属性 /// </summary> private static void SetMsgModelContent(MsgModel msg1, MsgModel msg2, MsgModel newModel) { if (newModel.Type == MsgType.Success || newModel.Type == MsgType.SuccessButNoRowAffected) { newModel.Content = "执行成功"; return; } if (newModel.Type == MsgType.Error) { newModel.Content = msg2.Content; return; } if (msg1.Type == MsgType.Warning) { newModel.Content = string.Join("\r\n", new string[] { newModel.Content, msg1.Content }); } if (msg2.Type == MsgType.Warning) { newModel.Content = string.Join("\r\n", new string[] { newModel.Content, msg2.Content }); } }
/// <summary> /// 用户登录 /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <returns></returns> public MsgModel Login(string username, string password) { if (string.IsNullOrWhiteSpace(username) || string.IsNullOrWhiteSpace(password)) { return(MsgModel.Fail("用户名或密码为空!")); } // 加密登陆密码 string encodePassword = PasswordEncoder.Encode(password); sys_user sys_user = _baseService.GetModels(a => a.username == username && a.password == encodePassword).SingleOrDefault(); if (sys_user == null) { return(MsgModel.Fail("用户名或密码不正确!")); } else if (sys_user.enabled == false) { return(MsgModel.Fail("账户已被禁用!")); } // 将一些个人数据写入token中 var customClaims = new List <Claim> { new Claim(ClaimAttributes.UserId, Convert.ToString(sys_user.id)), new Claim(ClaimAttributes.UserName, username) }; var data = _jwtHelper.IssueJwt(customClaims); return(MsgModel.Success((object)data)); }
/// <summary> /// 新增数据字典项 /// </summary> /// <param name="sys_Dict"></param> public MsgModel Add(sys_dict sys_Dict) { sys_Dict.id = new Snowflake().GetId(); var result = _baseSysDictService.AddRange(sys_Dict); return(result ? MsgModel.Success("新增数据字典项成功!") : MsgModel.Fail("新增数据字典项失败!")); }
/// <summary> /// 查询所有 /// </summary> /// <returns></returns> public MsgModel All() { List <sys_dict> list = _baseSysDictService.GetModels(null).ToList(); var data = list.BuildAdapter().AdaptToType <List <SysDict> >(); return(MsgModel.Success(data, "查询成功!")); }
public ShowSingleAnswer(MsgModel message, UserModel user) { _answer = message; User = user; InitializeComponent(); BindingContext = new ShowSingleAnswerModel(_answer, User); }
//移除成员按钮被点击 private void buttonRemove_Click(object sender, EventArgs e) { MsgModel mm = new MsgModel(MessageProtocol.FORCE_REMOVE_GROUP_CREQ, ((FormShowGroupInfo)FindForm()).m_groupItem.getGroupMode().Gid.ToString(), m_memberUsername, "您已被移出群" + ((FormShowGroupInfo)FindForm()).m_groupItem.getGroupMode().Name + "。", DateTime.Now.ToString()); MainMgr.Instance.msgMgr.sendMessage(MessageProtocol.GROUP, mm); }
/// <summary> /// 发送模板消息 /// </summary> /// <param name="UserOpenid"></param> /// <param name="MsgTemplate"></param> /// <param name="Data"></param> /// <param name="ReturnUrl"></param> public static void SendMsg(string UserOpenid, string MsgTemplate, object Data, string ReturnUrl = "") { try { string url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + WxPayConfig.APPID + "&secret=" + WxPayConfig.APPSECRET; //请求url以获取数据 string resultStr = HttpService.Get(url); //保存access_token,用于收货地址获取 LitJson.JsonData jd = LitJson.JsonMapper.ToObject(resultStr); if (((System.Collections.IDictionary)jd).Contains("access_token")) { //判断是否有key var access_token = (string)jd["access_token"]; MsgModel msgData = new MsgModel() { template_id = MsgTemplate, touser = UserOpenid, url = ReturnUrl, data = Data }; // 发送模板消息 SendMsgPoth(JsonHelper.SerializeObject(msgData), access_token); } else { MYLog.Debug("发送消息通知:" + SessionTools.UserName, "获取AccessToken结果:" + resultStr); } } catch (Exception ex) { MYLog.Error("发送消息通知:" + SessionTools.UserName, ex.ToString()); } }
public MsgModel GetSysConfigList() { List <sys_config> list = _baseSysConfigService.GetModels(null).ToList(); var data = list.BuildAdapter().AdaptToType <List <SysConfig> >(); return(MsgModel.Success(data, "查询成功!")); }
//Api public JsonResult getPosts() { PostModel pm = new PostModel(); int count = pm.getAllPost().Count(); MsgModel msg = new MsgModel(); if (pm.response == "500") { msg.status = "500"; msg.data = null; } else { msg.status = "200"; if (count < 1) { msg.data = null; } else { msg.data = pm.getAllPost(); } } return(Json(msg, JsonRequestBehavior.AllowGet)); }
public MsgModel DeleteMenu(sys_menu sys_menu) { //查找被删除节点的子节点 List <sys_menu> myChilds = _baseSysMenuService.GetModels(a => a.menu_pids.Contains("[" + sys_menu.id + "]")).ToList(); if (myChilds.Count > 0) { // "不能删除含有下级菜单的菜单" return(MsgModel.Fail("不能删除含有下级菜单的菜单")); } //查找被删除节点的父节点 List <sys_menu> myFatherChilds = _baseSysMenuService.GetModels(a => a.menu_pids.Contains("[" + sys_menu.menu_pid + "]")).ToList(); //我的父节点只有我这一个子节点,而我还要被删除,更新父节点为叶子节点。 if (myFatherChilds.Count == 1) { sys_menu parent = _baseSysMenuService.GetModels(a => a.id == sys_menu.menu_pid).SingleOrDefault(); parent.id = sys_menu.menu_pid; parent.is_leaf = true;//更新父节点为叶子节点。 _baseSysMenuService.Update(parent); } // 删除节点 _baseSysMenuService.Remove(sys_menu); return(MsgModel.Success("删除菜单项成功!")); }
/// <summary> /// 根据当前登录用户所属组织,查询组织树 /// </summary> /// <param name="rootOrgId">当前登录用户的组织id</param> /// <param name="orgNameLike">组织名称参数</param> /// <param name="orgStatus">组织状态参数</param> /// <returns>组织列表</returns> public MsgModel GetOrgTreeById(int rootOrgId, string orgNameLike, bool?orgStatus) { MsgModel msg = new MsgModel() { isok = true, message = "查询成功!" }; List <sys_org> sysOrgs = _mySystemService.SelectOrgTree(rootOrgId, orgNameLike, orgStatus); List <SysOrgNode> sysOrgNodes = new List <SysOrgNode>(); foreach (sys_org sys_org in sysOrgs) { SysOrgNode sysOrgNode = sys_org.BuildAdapter().AdaptToType <SysOrgNode>(); sysOrgNodes.Add(sysOrgNode); } if (!string.IsNullOrEmpty(orgNameLike)) { //根据组织名称查询,返回平面列表 msg.data = sysOrgNodes; return(msg); } else { //否则返回树型结构列表 msg.data = DataTreeUtil <SysOrgNode, long> .BuildTree(sysOrgNodes, rootOrgId); return(msg); } }
/// <summary> /// 根据某用户的用户名查询该用户可以访问的菜单项(系统左侧边栏菜单) /// </summary> /// <param name="username"></param> /// <returns></returns> public MsgModel GetMenuTreeByUsername(string username) { MsgModel msg = new MsgModel() { isok = true, message = "查询成功!" }; List <sys_menu> sysMenus = _mySystemService.SelectMenuByUserName(username); if (sysMenus.Count > 0) { int rootMenuId = sysMenus.First().id; List <SysMenuNode> sysMenuNodes = new List <SysMenuNode>(); foreach (sys_menu sys_menu in sysMenus) { SysMenuNode sysMenuNode = sys_menu.BuildAdapter().AdaptToType <SysMenuNode>(); sysMenuNodes.Add(sysMenuNode); } msg.data = DataTreeUtil <SysMenuNode, int> .BuildTreeWithoutRoot(sysMenuNodes, rootMenuId); return(msg); } msg.data = new List <SysMenuNode>(); return(msg); }
//创建群按钮 private void buttonCreateGroup_Click(object sender, EventArgs e) { checkGroupAmount(); if (tomanyGroup) { return; } if (textBoxGroupName.Text == "") { labelTip.Text = "请输入公司名字..."; return; } //群的基本信息 CreateGroupModel createGroupModel = new CreateGroupModel(); createGroupModel.Groupname = this.textBoxGroupName.Text; if (this.radioButtonNoVerify.Checked) //不需要验证按钮被勾选 { createGroupModel.VerifyModel = 1; } else { createGroupModel.VerifyModel = 0; } string msgContent = Coding <CreateGroupModel> .encode(createGroupModel); MsgModel mm = new MsgModel(MessageProtocol.CREATE_GROUP_CREQ, AppInfo.USER_NAME, "", msgContent, DateTime.Now.ToString()); MainMgr.Instance.msgMgr.sendMessage(MessageProtocol.GROUP, mm); this.textBoxGroupName.Text = ""; }
/// <summary> /// IExceptionFilter接口会要求实现OnException方法,当系统发生未捕获异常时就会触发这个方法。 /// OnException方法有一个ExceptionContext异常上下文,其中包含了具体的异常信息,HttpContext及mvc路由信息。 /// 系统一旦出现未捕获异常后,比较常见的做法就是使用日志工具,将异常的详细信息记录下来,方便调试 /// </summary> /// <param name="context"></param> public void OnException(ExceptionContext context) { MsgModel msgModel; var exception = context.Exception; if (exception is CustomException) { var customException = exception as CustomException; msgModel = MsgModel.Fail(customException.Code, customException.Msg); } else { msgModel = MsgModel.Fail(exception.Message); } //if (_env.IsDevelopment()) //{ // json.message = context.Exception.StackTrace;// 堆栈信息 //} context.Result = new InternalServerErrorObjectResult(msgModel); // 采用Serilog日志框架记录 _logger.LogError(msgModel.message, WriteLog(msgModel.message, exception)); context.ExceptionHandled = true; }
public MsgModel AddNewUser(UsersModel model) { var msg = new MsgModel { State = false, Msg = "无法添加新用户!", Data = null }; try { var sql = "INSERT INTO USERS(username,password,realname,email,state,`group`) VALUES('" + model.EmployeeNo + "','" + model.Password + "','" + model.RealName + "','" + model.Email + "'," + (model.State ? 1 : 0) + "," + model.Group + ");"; if (DbHelper.ExecuteNonQuery(CommandType.Text, sql) > 0) { msg.State = true; msg.Msg = "成功添加新用户"; } } catch (Exception) { //ignore } return(msg); }
public MsgModel GetApiTreeById(string apiNameLike, bool apiStatus) { MsgModel msg = new MsgModel { isok = true, message = "查询成功!" }; //查找level=1的API节点,即:根节点 sys_api rootSysApi = _baseService.GetModels(s => s.level == 1).Single(); if (rootSysApi != null) { int rootApiId = rootSysApi.id; List <sys_api> sysApis = _mySystemService.SelectApiTree(rootApiId, apiNameLike, apiStatus); List <SysApiNode> sysApiNodes = new List <SysApiNode>(); foreach (sys_api sys_Api in sysApis) { SysApiNode sysApiNode = sys_Api.BuildAdapter().AdaptToType <SysApiNode>(); sysApiNodes.Add(sysApiNode); } if (!string.IsNullOrEmpty(apiNameLike)) { //根据api名称等查询会破坏树形结构,返回平面列表 msg.data = sysApiNodes; return(msg); } //否则返回树型结构列表 msg.data = DataTreeUtil <SysApiNode, long> .BuildTree(sysApiNodes, rootApiId); return(msg); } return(msg); }
public MsgModel CheckUserName(string username) { var msg = new MsgModel { State = false, Msg = "无法获取到改员工号!", Data = null }; var sql = "select count(1) from users where username='******'"; var obj = DbHelper.ExecuteScalar(CommandType.Text, sql); if (obj != null) { var i = Convert.ToInt32(obj); if (i > 0) { msg = new MsgModel { State = true, Msg = "成功获取到该员工号!", Data = i }; } } return(msg); }
public MsgModel AddData(string sql) { var msg = new MsgModel { State = false, Msg = "无法提交数据!", Data = null }; try { var result = DbHelper.ExecuteNonQuery(CommandType.Text, sql) > 0; if (result) { msg = new MsgModel { State = true, Msg = "成功提交数据!", Data = null } } ; } catch (Exception) { // } return(msg); }
public MsgModel UpdateUserInfo(UsersModel model) { var msg = new MsgModel { State = false, Msg = "无法更新用户信息!", Data = null }; try { var sql = "update USERS set password='******',realname='" + model.RealName + "',email='" + model.Email + "',state=" + model.State + ",`group`=" + model.Group + " where username='******';"; if (string.IsNullOrEmpty(model.Password)) { sql = "update USERS set realname='" + model.RealName + "',email='" + model.Email + "',state=" + (model.State ? 1 : 0) + ",`group`=" + model.Group + " where username='******';"; } if (DbHelper.ExecuteNonQuery(CommandType.Text, sql) > 0) { msg.State = true; msg.Msg = "成功更新用户信息"; } } catch (Exception) { //ignore } return(msg); }
public void verify_that_culture_change_affects_message_sent_to_client() { var model = new MsgModel(); var metadata = GetModelMetadata(model, m => m.Lang); var controllerContext = GetControllerContext(); var assert = new AssertThatValidator(metadata, controllerContext, new AssertThatAttribute("1 > 2") {ErrorMessage = "{Lang:n}"}); var assertRule = assert.GetClientValidationRules().Single(); Assert.Equal("default", assertRule.ErrorMessage); // change culture var culture = Thread.CurrentThread.CurrentUICulture; Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("pl"); // simulate next request - create new validator assert = new AssertThatValidator(metadata, controllerContext, new AssertThatAttribute("1 > 2") {ErrorMessage = "{Lang:n}"}); assertRule = assert.GetClientValidationRules().Single(); Assert.Equal("polski", assertRule.ErrorMessage); // restore culture Thread.CurrentThread.CurrentUICulture = culture; }
public void verify_formatted_message_sent_to_client() { var model = new MsgModel(); var metadata = GetModelMetadata(model, m => m.Value); var controllerContext = GetControllerContext(); var assert = new AssertThatValidator(metadata, controllerContext, new AssertThatAttribute("1 > 2") { ErrorMessage = "_{0}{1}{Value:n}{Value:N}{Value}{Value}_{{Value}}{{{Value}}}{{{{Value}}}}_" }); var assertRule = assert.GetClientValidationRules().Single(); var map = JsonConvert.DeserializeObject<dynamic>((string) assertRule.ValidationParameters["errfieldsmap"]); var expected = "_Value1 > 2_{Value}__{Value}_" + map.Value + map.Value + "_{Value}" + "{" + map.Value + "}" + "{{Value}}_"; Assert.Equal(expected, assertRule.ErrorMessage); }