public IActionResult Delete(int id) { try { MessageUser db_message = _userContext.GetWithId(id); if (db_message == null) { return(StatusCode(StatusCodes.Status500InternalServerError, new Response { Status = "Error", Messages = new Message[] { new Message { Lang_id = 1, MessageLang = "Model state isn't valid!" }, new Message { Lang_id = 2, MessageLang = "Состояние модели недействительно!" }, new Message { Lang_id = 3, MessageLang = "Model vəziyyəti etibarsızdır!" } } })); } db_message.IsDeleted = true; _userContext.Update(db_message); return(Ok()); } catch (Exception e) { return(StatusCode(StatusCodes.Status500InternalServerError, e.Message)); } }
public void logClient() { Console.WriteLine("\t\tLogin : "******"\t\tPassword : "******"\t/!\\ ** ERROR of client password / Login ** /!\\"); logClient(); } else { //Assign the user the session MessageUser mu = (MessageUser)Net.receiveMessage(comm.GetStream()); user = mu.getUser(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("You are connected as " + user.Login); } }
public IActionResult Post([FromForm] MessageUser userMesssage) { try { if (!ModelState.IsValid) { return(StatusCode(StatusCodes.Status500InternalServerError, new Response { Status = "Error", Messages = new Message[] { new Message { Lang_id = 1, MessageLang = "Model state isn't valid!" }, new Message { Lang_id = 2, MessageLang = "Состояние модели недействительно!" }, new Message { Lang_id = 3, MessageLang = "Model vəziyyəti etibarsızdır!" } } })); } _userContext.Add(userMesssage); return(Ok()); } catch (Exception e) { return(StatusCode(StatusCodes.Status500InternalServerError, e.Message)); } }
/// <summary> /// 添加到分组 /// </summary> /// <param name="name"></param> /// <param name="groupName"></param> public void AddToGroup(string name, string groupName) { if (string.IsNullOrEmpty(groupName)) { ShowMessage(name, "分组不能为空。"); } else if (!Cache.GroupList.Contains(groupName)) { ShowMessage(name, string.Format("用户组{0},不存在。", groupName)); } else if (Cache.MsgUserDict.ContainsKey(Context.ConnectionId)) { MessageUser user = Cache.MsgUserDict[Context.ConnectionId]; if (!string.IsNullOrEmpty(user.GroupName)) { ShowMessage(name, string.Format("已经存在用户组{0},不能重复添加。", user.GroupName)); } else { user.GroupName = groupName; Groups.Add(Context.ConnectionId, groupName);//加入聊天分组 ShowMessage(name, string.Format("用户组{0},加入成功。", user.GroupName)); //Program.MainForm.ShowLog(string.Format("连接ID:{0}({1})加入分组{2}", Context.ConnectionId, name, groupName)); } } }
/// <summary> /// 退出分组 /// </summary> /// <param name="name">用户名</param> /// <param name="groupName">分组信息</param> public void ExitGroup(string name, string groupName) { if (!string.IsNullOrEmpty(groupName) && Cache.GroupList.Contains(groupName)) { if (Cache.MsgUserDict.ContainsKey(Context.ConnectionId)) { MessageUser user = Cache.MsgUserDict[Context.ConnectionId]; if (string.IsNullOrEmpty(user.GroupName)) { ShowMessage(name, string.Format("当前用户还未加入任何分组。", groupName)); } else if (user.GroupName == groupName) //是该组 退出组 { Groups.Remove(Context.ConnectionId, groupName); //退出聊天分组 user.GroupName = string.Empty; // Program.MainForm.ShowLog(string.Format("连接ID:{0}({1})退出分组{2}", Context.ConnectionId, name, groupName)); ShowMessage(name, string.Format("分组{0}退出成功。", groupName)); } else { ShowMessage(name, string.Format("所在分组与{0}不一致,退出失败。", groupName)); } } } else { ShowMessage(name, "分组为空或者不存在。"); } }
private void ok_Click(object sender, EventArgs e) { Net.sendMessage(comm.GetStream(), new MessageUser(loginText.Text, passwordText.Text, true)); MessageUser resUser = (MessageUser)Net.receiveMessage(comm.GetStream()); //Check the boolean received. If false, means you are connected if (resUser.Err == true) { MessageBox.Show("** ERROR of client password / Login ** "); } else { //Assign the user the session MessageUser mu = (MessageUser)Net.receiveMessage(comm.GetStream()); user = mu.getUser(); MainPage mainPage = new MainPage(comm, user); mainPage.Show(); this.Hide(); MessageBox.Show("You are connected as " + user.Login); } loginText.Text = ""; passwordText.Text = ""; }
public void joinTopic() { //Receive the topic chosen and the user MessageMenu choice = (MessageMenu)Net.receiveMessage(comm.GetStream()); MessageUser mu = (MessageUser)Net.receiveMessage(comm.GetStream()); //Get the topic Topic topic = topics[choice.MessageSend - 1]; //Add the client to the topic bool searchClient = false; foreach (User u in topic.Chatters) { if (u.Id_user.Equals(mu.Id_user)) { searchClient = true; } } if (searchClient == false) { topic.Chatters.Add(mu.getUser()); } Net.sendMessage(comm.GetStream(), new MessageTopic(topic)); //Create the thread to display messages Thread displayTopicThread = new Thread(new ParameterizedThreadStart(displayTopic)); displayTopicThread.Start(topic); }
public void createUser() { //Receive the datas from the client side MessageUser user = (MessageUser)Net.receiveMessage(comm.GetStream()); //Add the client to the tab users.Add(new User(users.Count + 1, user.Login, user.Password)); //Update the file of users UserSerialize us = new UserSerialize(users); us.SerializeNow(); //Print the users created Console.WriteLine("Table users updated : "); foreach (User u in users) { Console.WriteLine(u.Login + " " + u.Password); } Console.WriteLine("\n"); //Relaunche the menu when finish creation launchApp(); }
public void updateMessageUser(MessageUser user, bool addUserIfNotExist = true) { if (this.membersDict.TryGetValue(user.id, out var member)) { member.user.id = user.id; member.user.username = user.username; member.user.fullName = user.fullname; member.user.avatar = user.avatar; member.user.title = user.title; member.user.coverImage = user.coverImage; member.user.followCount = user.followCount; member.presenceStatus = user.presenceStatus; return; } if (addUserIfNotExist) { this.membersDict[user.id] = new ChannelMember { user = new User { id = user.id, username = user.username, fullName = user.fullname, avatar = user.avatar, title = user.title, coverImage = user.coverImage, followCount = user.followCount }, id = user.id, presenceStatus = user.presenceStatus }; } }
public void AddListener(MessageListener listener, string identity) { lock (_syncLock) { //立即验证凭据 if (string.IsNullOrEmpty(identity)) { identity = listener.GetIdentity(); } MessageUser user = MessageUser.GetUserFromMessageString(identity); if (user == null) { listener.Response(0, "订阅失败:不合法的客户端凭据!"); //OnNotifyError(listener, new Exception("不合法的客户端凭据!")); //RemoveListener(listener); OnEventMessage(listener, "注册监听器失败:不合法的客户端凭据!"); listener.Close(0); return; } ValidateUser(user); if (!user.Validated) { listener.Response(0, "订阅失败:服务器用户验证未通过!"); //OnNotifyError(listener, new Exception("用户验证未通过!")); //RemoveListener(listener); OnEventMessage(listener, "注册监听器失败:用户验证未通过!"); listener.Close(0); return; } //取出注册数据 string splitChar = "&"; string key = listener.FromIP + splitChar + listener.FromPort + splitChar + user.HID; if (!_userIdentity.ContainsKey(key)) { //客户端标识策略代码已经修改,下面一行代码注释 //throw new InvalidOperationException("重复注册相同的客户端标识:" + key); _userIdentity.Add(key, user); } listener.Identity = user.HID; listener.SessionID = key + splitChar + DateTime.Now.ToString("HHmmssfff"); listener.User = user; if (_listeners.Contains(listener)) { //throw new InvalidOperationException("重复注册相同的监听器!"); } else { _listeners.Add(listener); } } if (this.ListenerAdded != null) { this.ListenerAdded(this, new MessageListenerEventArgs(listener)); } }
public async Task MensajePrivado(MessageUser messageUser) { var id = messageUser.Id; messageUser.Id = Context.ConnectionId; await Clients.Client(id).SendAsync("MensajePrivado", messageUser); }
public async static Task <bool> sendMessageComplex(MessageUser messageUser) { var allUsers = await conectDB.getAllUsers(); var correctUser = allUsers.FirstOrDefault(p => p.Marker.NameAndPhone.Equals(messageUser.UserName)); return(await conectDB.setNewErrorToUser(correctUser, messageUser.Message, messageUser.Group)); }
public async Task <Task> Message(MessageUser message) { if (message == null || message.Title == "" || message.Body == "" || message.Id == "") { return(Clients.Caller.SendAsync("Message", "Mensaje Invalido")); } return(Clients.Group(message.Id).SendAsync("Message", message)); }
public void SendContactInvite(string email) { User Contact = GetUserByEmail(email); Message msg = new Message(User, Contact, true); MessageUser mu = new MessageUser(msg.MessageId, Contact.UserId, msg, null);//Insert id error as it also tries overwritting the user receiver, versioning error AddMessageUser(mu); }
private async void enviarMensaje(MessageUser msg) { message mensaje = new message() { body = msg.Body, title = msg.Title }; await _sk.Clients.Groups(msg.Id).SendAsync("Message", mensaje); }
public void SendJoinWishlistRequest(int wishlistId) { User wishlistOwner = GetOwnerByWishlistId(wishlistId); Message msg = new Message(User, wishlistOwner, false, GetWishlistById(wishlistId)); msg.RelatedWishlist = null; MessageUser mu = new MessageUser(msg.MessageId, wishlistOwner.UserId, msg, null);//Insert id error as it also tries overwritting the user receiver, versioning error AddMessageUser(mu); }
public void SendJoinWishlistInvite(string email, int wishlistId) { User Contact = GetUserByEmail(email); Message msg = new Message(User, Contact, true, GetWishlistById(wishlistId)); msg.RelatedWishlist = null; //Prevent id overwrite error MessageUser mu = new MessageUser(msg.MessageId, Contact.UserId, msg, null); //Insert id error as it also tries overwritting the user receiver, versioning error AddMessageUser(mu); }
/// <summary> /// 验证消息的用户是否合法 /// </summary> /// <param name="user"></param> private void ValidateUser(MessageUser user) { if (user.Name == "PDF.NET" && user.Password == "20111230") { user.Validated = true; } else { user.Validated = false; } }
public IActionResult SendEmail(int id, [FromForm] MessageAdmin sendMessage) { try { if (!ModelState.IsValid) { return(StatusCode(StatusCodes.Status500InternalServerError, new Response { Status = "Error", Messages = new Message[] { new Message { Lang_id = 1, MessageLang = "Model state isn't valid!" }, new Message { Lang_id = 2, MessageLang = "Состояние модели недействительно!" }, new Message { Lang_id = 3, MessageLang = "Model vəziyyəti etibarsızdır!" } } })); } MessageUser user = _userContext.GetWithId(id); var email = user.Email; sendMessage.Email = email; MailMessage message = new MailMessage(); message.From = new MailAddress("*****@*****.**", "Camex Support"); message.To.Add(new MailAddress(sendMessage.Email)); message.Subject = sendMessage.Subject; message.IsBodyHtml = true; message.Body = sendMessage.Message; SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; smtp.Port = 587; smtp.EnableSsl = true; smtp.Credentials = new NetworkCredential("*****@*****.**", "seynur2462736"); smtp.Send(message); user.IsAnswered = true; _userContext.Update(user); return(Ok()); } catch (Exception e) { return(StatusCode(StatusCodes.Status500InternalServerError, e.Message)); } }
public JsonResult Post([FromBody] MessageUser msg) { try { enviarMensaje(msg); } catch (Exception) { return(new JsonResult(0)); } return(new JsonResult(1)); }
public void joinTopic() { MessageMenu mn = new MessageMenu(0); MessageUser mu = new MessageUser(user.Id_user, user.Login, user.Password, false); Console.WriteLine("\t\tChoose to join / update a topic : "); //Send the choice and the user mn.MessageSend = Int32.Parse(Console.ReadLine()); Net.sendMessage(comm.GetStream(), mn); Net.sendMessage(comm.GetStream(), mu); displayTopic(); }
public void AddMessageUser(MessageUser mu) { try { using (WishlistDbContext context = new WishlistDbContext()) { context.Notifications.Add(mu); context.SaveChanges(); } } catch (Exception eContext) { Debug.WriteLine("Exception: " + eContext.Message); } }
public async Task <IHttpActionResult> sendMessageComplex([FromBody] MessageUser message) { try { if (await BL.Managment.sendMessageComplex(message) == true) { return(Ok(true)); } return(Content(HttpStatusCode.BadRequest, false)); } catch (Exception ex) { return(Content(HttpStatusCode.NotFound, ex.Message)); } }
public IActionResult LogOut() { //记录日志-退出系统 MessageUser mu = ManageProvider.Current; if (mu != null && mu.ID != Guid.Empty) { string message = string.Format("{0}({1})退出系统", mu.Cn, mu.UID); //logcache.AddSystemLog(Guid.Empty, message, true, "", ""); } //GlobalStatus.connection.Dispose(); //退出系统方法 HttpContext.SignOutAsync(CookieAuthenInfo.WebCookieInstance); //Hasng.CadreFile.Utilities.HttpContext.Current.Authentication.SignOutAsync("MyCookieMiddlewareInstance"); //HttpContext.Authentication.SignOutAsync("MyCookieMiddlewareInstance"); return(Redirect("/Account/Login")); }
public void joinUser() { MessageMenu mn = new MessageMenu(0); MessageUser mu = new MessageUser(user.Id_user, user.Login, user.Password, false); Console.WriteLine("\t\tChoose to join a user : "); //Send the choice and the user mn.MessageSend = Int32.Parse(Console.ReadLine()); //Send the user that we want to send to Net.sendMessage(comm.GetStream(), mn); //Send our user Net.sendMessage(comm.GetStream(), mu); displayPrivateChat(); }
public void connectedActions() { //Get the choice on the menu from the user MessageMenu choice = (MessageMenu)Net.receiveMessage(comm.GetStream()); if (choice.MessageSend == 1) { //Launch the thread to create a new topic MessageMenu mn = new MessageMenu(1); Net.sendMessage(comm.GetStream(), mn); Thread newTopicThread = new Thread(new ThreadStart(createTopic)); newTopicThread.Start(); } else if (choice.MessageSend == 2) { //Launch the connection thread MessageMenu mn = new MessageMenu(2); Net.sendMessage(comm.GetStream(), mn); Thread displayTopicThread = new Thread(new ThreadStart(displayTopics)); displayTopicThread.Start(); } else if (choice.MessageSend == 3) { MessageMenu mn = new MessageMenu(3); Net.sendMessage(comm.GetStream(), mn); Thread displayUserThread = new Thread(new ThreadStart(displayUsers)); displayUserThread.Start(); } else if (choice.MessageSend == 4) { MessageMenu mn = new MessageMenu(4); Net.sendMessage(comm.GetStream(), mn); //Delete the log out user from the connected users MessageUser mu = (MessageUser)Net.receiveMessage(comm.GetStream()); Console.WriteLine(connectedUsers.Remove(mu.getUser())); launchApp(); } }
public IDictionary <MessageUser, IList <Message> > GetMessages([FromBody] SystemUser user) { var list = _service.GetList(m => m.FromUser == user.UserName || m.ToUser == user.UserName) .OrderByDescending(m => m.AddTime); var messages = from m in list group m by new { m.FromUser, m.ToUser }; var dic = new Dictionary <MessageUser, IList <Message> >(); foreach (var item in messages) { var mUser = new MessageUser() { ToUser = item.Key.ToUser, FromUser = item.Key.FromUser }; dic.Add(mUser, item.ToList()); } return(dic); }
/// <summary> /// 登录 /// </summary> /// <param name="name">用户</param> /// <param name="groupName">加入分组</param> public void Logined(string name, string groupName) { MessageUser user = new MessageUser() { UserName = name, GroupName = groupName, ConnectionId = Context.ConnectionId }; user.action += () => { //用户20s无心跳包应答,则视为掉线,会抛出事件,这里会接住,然后处理用户掉线动作。 MessageUser outValue = null; if (Cache.MsgUserDict.ContainsKey(user.ConnectionId)) { user.Dispose(); Cache.MsgUserDict.TryRemove(user.ConnectionId, out outValue); //Program.MainForm.ShowLog(string.Format("用户:{0},下线", user.ConnectionId), 2); //Program.MainForm.RefUserList(); UnLine(Context.ConnectionId, outValue.UserName); } }; Cache.MsgUserDict.TryAdd(Context.ConnectionId, user); if (!string.IsNullOrEmpty(groupName)) { if (!Cache.GroupList.Contains(groupName))//记录分组信息 { Cache.GroupList.Add(groupName); //Program.MainForm.ShowLog(string.Format("连接ID:{0}({1})创建分组{2}", Context.ConnectionId, name, groupName), 2); ShowMessage(name, string.Format("分组{0}创建成功。", groupName)); } Groups.Add(Context.ConnectionId, groupName);//加入聊天分组 } // Program.MainForm.RefUserList(); OnLine(Context.ConnectionId, name); }
public bool Validate(MessageUser user) { return(user.Name == this.UserName && user.Password == this.Password); }
public String LoginValidate(string uid, string password, string areaCode) { if (string.IsNullOrEmpty(uid) || string.IsNullOrEmpty(password) || string.IsNullOrEmpty(areaCode)) { return(GlobalStatus.GetStatus("HX06")); } //List<ParameterJson> list = new List<ParameterJson>(); //if (uid == "InforCenterAdmin") //{ // list.Add(new ParameterJson("U_IsValid", ConditionOperate.Equal.ToString(), "1")); // list.Add(new ParameterJson("UID", ConditionOperate.Equal.ToString(), uid)); // list.Add(new ParameterJson("PassWord", ConditionOperate.Equal.ToString(), MD5Helper.MD5Encrypt64(password))); // areaCode = "0CFD858E"; // list.Add(new ParameterJson("U_AreaCode", ConditionOperate.Equal.ToString(), areaCode)); //} //else //{ // list.Add(new ParameterJson("U_IsValid", ConditionOperate.Equal.ToString(), "1")); // list.Add(new ParameterJson("UID", ConditionOperate.Equal.ToString(), uid)); // list.Add(new ParameterJson("PassWord", ConditionOperate.Equal.ToString(), MD5Helper.MD5Encrypt64(password))); // list.Add(new ParameterJson("U_AreaCode", ConditionOperate.Equal.ToString(), areaCode)); //} //string sCondition = JsonConvert.SerializeObject(list); //#endregion string pwd = MD5Helper.MD5Encrypt32(password); Power_User model = _userRepository.List(x => x.U_IsValid == true && x.UID == uid && x.PassWord == pwd && x.U_AreaCode == areaCode).FirstOrDefault(); //用户、密码、区域验证不通过,不跳转页面 if (model == null) { return(GlobalStatus.GetStatus("HX02")); } //验证 账号同时只能一个在线 //bool IsOpenOnlyUser = _op.IsOpenOnlyUser; //if (IsOpenOnlyUser) //{ // bool flag = CacheHelper.HashExists((int)RedisDB.Power, "RegisterUCRelation", model.ID.ToString()); // if (flag) // { // return GlobalStatus.GetStatus("HX03"); // } //} //List<ParameterJson> listparam = new List<ParameterJson>(); //listparam.Add(new ParameterJson("U_IsValid", ConditionOperate.Equal.ToString(), "1")); //listparam.Add(new ParameterJson("UserId", ConditionOperate.Equal.ToString(), model.ID.ToString())); //string sCondition1 = JsonConvert.SerializeObject(listparam); //#endregion //string strRoleMenu = _userRolebll.GetListJson(sCondition1); //string roleIds = string.Empty; //if (!string.IsNullOrEmpty(strRoleMenu)) //{ // List<Power_RoleMenuView> aaa = JsonConvert.DeserializeObject<List<Power_RoleMenuView>>(strRoleMenu); // var ccc = aaa.Select(x => x.RoleID.ToString()).Distinct().ToList(); // roleIds = string.Join(",", ccc.ToArray()); //} //Guid? orgId = Guid.Empty; //#region 条件组合 //List<ParameterJson> listparam1 = new List<ParameterJson>(); //listparam1.Add(new ParameterJson("U_IsValid", ConditionOperate.Equal.ToString(), "1")); //listparam1.Add(new ParameterJson("UserId", ConditionOperate.Equal.ToString(), model.ID.ToString())); //string sCondition2 = JsonConvert.SerializeObject(listparam1); //#endregion //string strjson = _userorgbll.GetListJson(sCondition2); //if (strjson != null && strjson != "[]") //{ // List<Power_UserOrgView> userorglist = JsonConvert.DeserializeObject<List<Power_UserOrgView>>(strjson); // if (userorglist.Count > 0) // { // Power_UserOrgView entity = userorglist.FirstOrDefault(); // orgId = entity.OrgID; // } //} //else //{ // return GlobalStatus.GetStatus("HX04"); //} MessageUser mu = new MessageUser(); mu.ID = model.ID; mu.Cn = model.Cn; mu.IPAddress = CommonHelper.GetIP(); //??? mu.Isinitial = true; mu.IsSystem = true; mu.LogTime = DateTime.Now; mu.UID = model.UID; mu.U_AreaCode = model.U_AreaCode; //mu.RoleIds = roleIds; //mu.OrgId = orgId; //HttpContext.Current.Session.Set("CurrentUserId", ByteConvertHelper.Object2Bytes(mu.ID)); //HttpContext.Current.Session.Set("CurrentAreaCode", ByteConvertHelper.Object2Bytes(mu.U_AreaCode)); ManageProvider.UserId = mu.ID.ToString(); ManageProvider.Current = mu; //读取用户权限 //List<MenuPower> list11 = menuCache.GetAllMenuByRoleIds(roleIds, areaCode); //if (list11 == null || list11.Count == 0) //{ // return GlobalStatus.GetStatus("HX05"); //} //ManageProvider.CurrentMenuList = new LoginUserMenuPower() { UserId = mu.ID.ToString(), menuList = list11 }; //使用Form验证方式 List <Claim> claims = new List <Claim>(); claims.Add(new Claim(ClaimTypes.Name, model.Cn, ClaimValueTypes.String, model.ID.ToString())); var userIdentity = new ClaimsIdentity("管理员"); //角色 userIdentity.AddClaims(claims); var userPrincipal = new ClaimsPrincipal(userIdentity); HttpContext.SignInAsync(CookieAuthenInfo.WebCookieInstance, userPrincipal, new Microsoft.AspNetCore.Authentication.AuthenticationProperties { ExpiresUtc = DateTime.UtcNow.AddHours(12), IsPersistent = true, AllowRefresh = false }); //SignalR中缓存登录状态 //GlobalStatus.connection.Start().ContinueWith(task => //{ // if (!task.IsFaulted) // { // GlobalStatus.myHub.Invoke("Register", mu.ID, mu.U_AreaCode);//必須與 MyHub 的 Register 方法名稱一樣 // } // else // { // throw new Exception("连线失败!"); // } //}).Wait(); //记录日志 //string message = string.Format("{0}({1})登陆系统!", mu.Cn, mu.UID); //List<ParameterJson> areaList = new List<ParameterJson>(); //areaList.Add(new ParameterJson("U_IsValid", ConditionOperate.Equal.ToString(), "1")); //areaList.Add(new ParameterJson("Code", ConditionOperate.Equal.ToString(), areaCode)); //string areaCondition = JsonConvert.SerializeObject(areaList); //strJson = _areaBll.GetListJson(areaCondition); //Power_AreaView areaModel = !string.IsNullOrEmpty(strJson) ? JsonConvert.DeserializeObject<List<Power_AreaView>>(strJson).FirstOrDefault() : null; //if (areaModel != null) //{ // CookieOptions options = new CookieOptions(); // options.Expires = DateTime.Now.AddYears(6); // HttpContext.Response.Cookies.Append("loginAreaCode", areaCode, options); // HttpContext.Response.Cookies.Append("loginAreaName", areaModel.Title, options); //} //logcache.AddSystemLog(Guid.Empty, message, true, "", ""); return(GlobalStatus.GetStatus("HX00")); }