示例#1
0
        public void InsertMessages(Models.Messages msg)

        {
            DBcontext.Messages.Add(msg);

            DBcontext.SaveChanges();
        }
示例#2
0
文件: ChatRoomsEF.cs 项目: hehek/CHBD
 public  void AddRoom(string name)
 {          
     var newRoom = _context.Rooms.Create();
     newRoom.Name = name;
     _context.Rooms.Add(newRoom);
     _context.SaveChanges();
 }
示例#3
0
 /// <summary>
 /// 添加用户
 /// </summary>
 /// <param name="us"></param>
 /// <returns></returns>
 public bool CreateUser(User us)
 {
     using (ChatEntities db = new ChatEntities())
     {
         db.User.Add(us);
         return(db.SaveChanges() > 0);
     }
 }
示例#4
0
 /// <summary>
 /// 添加一条代理关系
 /// </summary>
 /// <param name="a"></param>
 /// <returns></returns>
 public bool AddAgent(Agent a)
 {
     using (ChatEntities db = new ChatEntities())
     {
         db.Agent.Add(a);
         return(db.SaveChanges() > 0);
     }
 }
示例#5
0
 /// <summary>
 /// 添加当前用户生成的邀请码
 /// </summary>
 /// <param name="iv"></param>
 /// <returns></returns>
 public bool CreaeteInvitation(Invitation iv)
 {
     using (ChatEntities db = new ChatEntities())
     {
         db.Invitation.Add(iv);
         return(db.SaveChanges() > 0);
     }
 }
示例#6
0
 /// <summary>
 /// 添加一条充值记录
 /// </summary>
 /// <param name="up"></param>
 /// <returns></returns>
 public bool AddUserPay(UserPay up)
 {
     using (ChatEntities db = new ChatEntities())
     {
         db.UserPay.Add(up);
         return(db.SaveChanges() > 0);
     }
 }
 /// <summary>
 /// 添加消息记录
 /// </summary>
 /// <param name="ms"></param>
 /// <returns></returns>
 public bool CreateMessages(Messages ms)
 {
     using (ChatEntities db = new ChatEntities())
     {
         db.Messages.Add(ms);
         return(db.SaveChanges() > 0);
     }
 }
示例#8
0
 /// <summary>
 /// 修改用户登陆时间
 /// </summary>
 public void UpdateUser(int userid, DateTime time)
 {
     using (ChatEntities db = new ChatEntities())
     {
         User user = db.User.SingleOrDefault(u => u.ID == userid);
         user.LastLoginAt = time;
         db.SaveChanges();
     }
 }
示例#9
0
 /// <summary>
 /// 删除当前用户的消费记录
 /// </summary>
 /// <param name="up"></param>
 /// <returns></returns>
 public bool DeleteUserPay(UserPay up)
 {
     using (ChatEntities db = new ChatEntities())
     {
         UserPay ups = db.UserPay.Find(up.ID);
         db.UserPay.Remove(ups);
         return(db.SaveChanges() > 0);
     }
 }
示例#10
0
 /// <summary>
 /// 设置用户的迷惑密码
 /// </summary>
 /// <returns></returns>
 public bool EditChatSwitch(int id)
 {
     using (ChatEntities db = new ChatEntities())
     {
         User us = db.User.SingleOrDefault(u => u.ID == id);
         us.ChatSwitch = true;
         return(db.SaveChanges() > 0);
     }
 }
示例#11
0
 /// <summary>
 /// 如果没有迷惑密码,默认1111
 /// </summary>
 public bool UpdatePassword(User user)
 {
     using (ChatEntities db = new ChatEntities())
     {
         User us = db.User.SingleOrDefault(u => u.ID == user.ID);
         us.PassWords = user.PassWords;
         return(db.SaveChanges() > 0);
     }
 }
示例#12
0
 /// <summary>
 /// 根据ID删除用户,修改状态
 /// </summary>
 /// <param name="user">当前选中的用户</param>
 /// <returns></returns>
 public bool DeleteUser(int id)
 {
     using (ChatEntities db = new ChatEntities())
     {
         User us = db.User.SingleOrDefault(u => u.ID == id);
         db.User.Remove(us);
         return(db.SaveChanges() > 0);
     }
 }
示例#13
0
 /// <summary>
 /// Зберігає повідомлення в бд
 /// </summary>
 /// <param name="idFrom"></param>
 /// <param name="idTo"></param>
 /// <param name="date"></param>
 /// <param name="message"></param>
 public void SaveMessage(int idFrom, int idTo, DateTime date, string message)
 {
     using (ChatEntities db = new ChatEntities())
     {
         db.Messages.Add(new Message {
             Id_user_from = idFrom, Id_user_to = idTo, Created_at = date, Message1 = message
         });
         db.SaveChanges();
     }
 }
示例#14
0
 /// <summary>
 /// Добавляє користувача в БД
 /// </summary>
 /// <param name="login"></param>
 /// <param name="email"></param>
 /// <param name="password"></param>
 /// <param name="image"></param>
 public void AddUser(string login, string email, string password, string image)
 {
     using (ChatEntities db = new ChatEntities())
     {
         db.Users.Add(new User {
             Login = login, Email = email, Password = password, Image = image
         });
         db.SaveChanges();
     }
 }
示例#15
0
        /// <summary>
        /// Получить токен для входа. Если строка начинается с "Error!" - ошибка
        /// </summary>
        /// <param name="email">Адрес электронной почты</param>
        /// <param name="password">Пароль</param>
        /// <returns>Токен</returns>
        public String LogIn(String email, String password)
        {
            if (String.IsNullOrWhiteSpace(email))
            {
                return($"Error! {nameof(email)} can't be null");
                //throw new ArgumentNullException($"Error! {nameof(email)} can't be null");
            }
            if (String.IsNullOrWhiteSpace(password))
            {
                return($"Error! {nameof(password)} can't be null");
                // throw new ArgumentNullException($"Error! {nameof(password)} can't be null");
            }
            RegexUtilities regex = new RegexUtilities();

            if (!regex.IsValidEmail(email))
            {
                return($"Error! Invalid Email adress");
                // throw new ArgumentException($"Error! Invalid Email adress");
            }
            if (!regex.IsValidPassword(password))
            {
                return("Error! Invalid password. This requires at least one digit, at least one alphabetic character, no special characters, and from 6-15 characters in length.");
                //throw new ArgumentException("Error! Invalid password. This requires at least one digit, at least one alphabetic character, no special characters, and from 6-15 characters in length.");
            }
            try
            {
                using (chatContext = new ChatEntities())
                {
                    var user = chatContext.Users.FirstOrDefault(x => x.Email == email);
                    if (user == null)
                    {
                        return("Error! User not found!");
                    }
                    if (user == null || !PasswordCrypt.ComparePasswords(password, user.PasswordHash, user.PasswordSalt))
                    {
                        return("Error! Login and/or password do not match");
                    }
                    var token = GenerateToken(user);
                    chatContext.AccessTokens.Add(token);
                    int res = chatContext.SaveChanges();
                    if (res == 1)
                    {
                        return(token.Token);
                    }
                    else
                    {
                        return("Error! Internal service Error");
                    }
                }
            }
            catch (Exception)
            {
                return("Error! Internal service Error");
            }
        }
示例#16
0
 /// <summary>
 /// 修改消息状态
 /// </summary>
 public bool EditMessage(int touserid, DateTime time)
 {
     using (ChatEntities db = new ChatEntities())
     {
         List <Messages> list = db.Messages.Where(m => m.ToUserID == touserid && m.Time < time).ToList();
         foreach (var temp in list)
         {
             temp.Status = 1;
         }
         return(db.SaveChanges() > 0);
     }
 }
示例#17
0
        public void Send(string fromUsername, string toUsername, string toId, string message)
        {
            string UserId   = System.Web.HttpContext.Current.User.Identity.GetUserId();
            Regex  reg      = new Regex("[a-zA-Z]+");
            string userName = Context.User.Identity.Name;

            if (reg.IsMatch(toId))
            {
                if (users.Keys.Contains(toUsername))
                {
                    var s = users[toUsername];
                    Clients.Client(users[toUsername]).addNewMessage(userName, message, toUsername);
                }
                Clients.Client(Context.ConnectionId).addNewMessage(userName, message, toUsername);
                _db.Messages.Add(new Messages
                {
                    Id          = _db.Messages.Count() + 1,
                    From        = UserId,
                    MessageText = message,
                    Date        = DateTime.Now,
                    To          = toId,
                    FromName    = fromUsername
                });
                _db.SaveChanges();
            }
            else
            {
                Clients.Group(toUsername).addNewMessage(userName, message);
                _db.Messages.Add(new Messages
                {
                    Id          = _db.Messages.Count() + 1,
                    From        = UserId,
                    MessageText = message,
                    Date        = DateTime.Now,
                    GroupID     = Int32.Parse(toId),
                    FromName    = fromUsername
                });
                _db.SaveChanges();
            }
        }
        // PUT api/Chats/5
        public HttpResponseMessage PutChat(int id, Chat.Models.Chat chat)
        {
            if (ModelState.IsValid && id == chat.ChatID)
            {
                db.Entry(chat).State = EntityState.Modified;

                try
                {
                    db.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    return(Request.CreateResponse(HttpStatusCode.NotFound));
                }

                return(Request.CreateResponse(HttpStatusCode.OK));
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }
        }
示例#19
0
 /// <summary>
 /// 设置用户的迷惑密码
 /// </summary>
 /// <returns></returns>
 public bool EditUsers(User user)
 {
     using (ChatEntities db = new ChatEntities())
     {
         User us = db.User.SingleOrDefault(u => u.ID == user.ID);
         us.PassWords     = user.PassWords;
         us.FirstProblem  = user.FirstProblem;
         us.FirstAnswer   = user.FirstAnswer;
         us.SecondProblem = user.SecondProblem;
         us.SecondAnswer  = user.SecondAnswer;
         return(db.SaveChanges() > 0);
     }
 }
示例#20
0
 /// <summary>
 /// 修改用户的一条消费记录
 /// </summary>
 /// <param name="up"></param>
 /// <returns></returns>
 public bool UpdateUserPay(UserPay up)
 {
     using (ChatEntities db = new ChatEntities())
     {
         UserPay userpay = db.UserPay.SingleOrDefault(u => u.ID == up.ID);
         userpay.ID       = up.ID;
         userpay.UserID   = up.UserID;
         userpay.PayMoney = up.PayMoney;
         userpay.PayTime  = up.PayTime;
         userpay.Type     = up.Type;
         return(db.SaveChanges() > 0);
     }
 }
示例#21
0
        public void Message(string message, string userid)
        {
            Message msg = new Models.Message
            {
                Content = message,
                Time    = DateTime.Now,
                UserId  = userid
            };
            var q = dbUser.Users.Find(userid);

            db.Messages.Add(msg);
            db.SaveChanges();
            Clients.All.sendMessage(message, msg.Time.ToShortTimeString(), q.UserName);
        }
示例#22
0
 /// <summary>
 /// 修改代理关系
 /// </summary>
 /// <param name="a"></param>
 public bool UpdateAgent(Agent a)
 {
     using (ChatEntities db = new ChatEntities())
     {
         Agent agent = db.Agent.FirstOrDefault(ag => ag.ID == a.ID);
         agent.ID       = a.ID;
         agent.ParentID = a.ParentID;
         agent.UserID   = a.UserID;
         agent.Status   = a.Status;
         agent.Percent  = a.Percent;
         agent.Level    = a.Level;
         return(db.SaveChanges() > 0);
     }
 }
示例#23
0
 /// <summary>
 /// 修改用户信息
 /// </summary>
 /// <param name="user"></param>
 /// <returns></returns>
 public bool EditUser(User user)
 {
     using (ChatEntities db = new ChatEntities())
     {
         User us = db.User.SingleOrDefault(u => u.ID == user.ID);
         us.ID                   = user.ID;
         us.LoginID              = user.LoginID;
         us.NickeName            = user.NickeName;
         us.PassWord             = user.PassWord;
         us.SignaTure            = user.SignaTure;
         us.Sex                  = user.Sex;
         us.Birthday             = user.Birthday;
         us.Telephone            = user.Telephone;
         us.Name                 = user.Name;
         us.Email                = user.Email;
         us.HeadPortrait         = user.HeadPortrait;
         us.Age                  = user.Age;
         us.VIP                  = user.VIP;
         us.Level                = user.Level;
         us.Gold                 = user.Gold;
         us.UserLogoID           = user.UserLogoID;
         us.Vocation             = user.Vocation;
         us.NationID             = user.NationID;
         us.ProvinceID           = user.ProvinceID;
         us.CityID               = user.ProvinceID;
         us.FriendshipPolicyID   = user.FriendshipPolicyID;
         us.UserStateID          = user.UserStateID;
         us.FriendPolicyQuestion = user.FriendPolicyQuestion;
         us.FriendPolicyAnswer   = user.FriendPolicyAnswer;
         us.FriendPolicyPassword = user.FriendPolicyPassword;
         us.PassWords            = user.PassWords;
         us.Picture              = user.Picture;
         us.PhoneNumber          = user.PhoneNumber;
         us.USearchState         = user.USearchState;
         us.PSearchState         = user.PSearchState;
         us.FirstProblem         = user.FirstProblem;
         us.FirstAnswer          = user.FirstAnswer;
         us.SecondProblem        = user.SecondProblem;
         us.SecondAnswer         = user.SecondAnswer;
         us.BurnAfterReading     = user.BurnAfterReading;
         us.ChatTimeLimit        = user.ChatTimeLimit;
         us.ThemeTypeID          = user.ThemeTypeID;
         us.SecondThemeTypeID    = user.SecondThemeTypeID;
         us.IsEnterSendMsg       = user.IsEnterSendMsg;
         us.ChatSwitch           = user.ChatSwitch;
         us.LastLoginAt          = user.LastLoginAt;
         us.SearchStateId        = user.SearchStateId;
         return(db.SaveChanges() > 0);
     }
 }
示例#24
0
 /// <summary>
 /// 将通过申请的好友状态改变
 /// </summary>
 /// <returns></returns>
 public bool EditFirends(int userid, int firendid)
 {
     using (ChatEntities db = new ChatEntities())
     {
         List <Friends> friendlist            = db.Friends.Where(f => f.UserID == userid && f.FirendID == firendid || f.UserID == firendid && f.FirendID == userid && f.Status == 0 && f.OverdueTime > DateTime.Now).ToList();
         List <IGrouping <int, Friends> > res = friendlist.GroupBy(aa => aa.UserID).ToList();
         foreach (var temp in res)
         {
             Friends fd = temp.ToList().LastOrDefault();
             fd.Status = 1;
         }
         return(db.SaveChanges() > 0);
     }
 }
        public async Task <HttpResponseMessage> Post(string sessionKey)
        {
            string folderName = @"Uploads";
            string PATH       = HttpContext.Current.Server.MapPath("~/" + folderName);
            string rootUrl    = Request.RequestUri.AbsoluteUri.Replace(Request.RequestUri.AbsolutePath, String.Empty);

            if (Request.Content.IsMimeMultipartContent())
            {
                var streamProvider = new MultipartFormDataStreamProvider(PATH);

                try
                {
                    // Read the form data.
                    await Request.Content.ReadAsMultipartAsync(streamProvider);

                    IQueryable <User> users = this.userRepository.GetAll();

                    var result = from u in users
                                 where u.SessionKey == sessionKey
                                 select u;

                    User dbUser = result.FirstOrDefault();
                    db.Set <User>().Attach(dbUser);
                    var uploader  = new DropboxUploader();
                    var avatarUrl = "";
                    foreach (MultipartFileData file in streamProvider.FileData)
                    {
                        string fileName = file.LocalFileName;
                        var    url      = uploader.UploadFileToDropBox(fileName.Trim(), file.Headers.ContentDisposition.FileName.Replace("\"", ""));
                        avatarUrl = url;
                        break;
                    }
                    dbUser.Avatar = avatarUrl;


                    db.SaveChanges();
                    return(Request.CreateResponse(HttpStatusCode.OK, dbUser));
                }
                catch (System.Exception e)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e));
                }
            }
            else
            {
                throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotAcceptable, "This request is not properly formatted"));
            }
        }
示例#26
0
        public ActionResult Add(Models.Group group)
        {
            string fileName  = Path.GetFileNameWithoutExtension(group.ImageFile.FileName);
            string extension = Path.GetExtension(group.ImageFile.FileName);

            fileName    = fileName + DateTime.Now.ToString("yymmssfff") + extension;
            group.Image = "~/Image/" + fileName;
            fileName    = Path.Combine(Server.MapPath("~/Image/"), fileName);
            group.ImageFile.SaveAs(fileName);
            _db.GroupChats.Add(new GroupChats {
                Name  = group.Name,
                Id    = _db.GroupChats.Count() + 1,
                Image = group.Image
            });
            _db.SaveChanges();
            return(RedirectToAction("Groups"));
        }
示例#27
0
 /// <summary>
 /// 删除邀请码先查询后删除
 /// </summary>
 /// <param name="invitecode"></param>
 /// <returns></returns>
 public bool DeleteInvitation(int invitecode)
 {
     using (ChatEntities db = new ChatEntities())
     {
         List <Invitation> ivlist = db.Invitation.Where(i => i.InviteCode == invitecode).ToList();
         bool flag = false;
         foreach (var temp in ivlist)
         {
             Invitation invitation = db.Invitation.Remove(temp);
             if (invitation != null)
             {
                 flag = true;
                 db.SaveChanges();
             }
         }
         return(flag);
     }
 }
示例#28
0
 /// <summary>
 /// 先将好友申请添加到好有实体中
 /// </summary>
 /// <param name="firendid"></param>
 /// <param name="status"></param>
 /// <returns></returns>
 public bool AddFirend(int userid, int friendsid, string name, int friendtypeid, int friendgroupsid, int status, DateTime time, string notes)
 {
     using (ChatEntities db = new ChatEntities())
     {
         Friends friend = new Friends();
         friend.UserID         = userid;
         friend.Notes          = notes;
         friend.Status         = status;
         friend.FirendID       = friendsid;
         friend.Name           = name;
         friend.FriendTypeID   = friendtypeid;
         friend.FriendGroupsID = friendgroupsid;
         friend.Status         = status;
         friend.OverdueTime    = time;
         db.Friends.Add(friend);
         return(db.SaveChanges() > 0);
     }
 }
示例#29
0
        /// <summary>
        /// Получить токен для входа.
        /// </summary>
        /// <param name="email">Адрес электронной почты</param>
        /// <param name="password">Пароль</param>
        /// <returns>Item1 - успех операции, Item2 - сообщение об ошибке или результат</returns>
        public Tuple <bool, String> LogIn(String email, String password)
        {
            var resultEmail = IsValidEmail(email);

            if (!resultEmail.Item1)
            {
                return(resultEmail);
            }
            var resultPassword = IsValidPassword(password);

            if (!resultPassword.Item1)
            {
                return(resultPassword);
            }
            try
            {
                using (chatContext = new ChatEntities())
                {
                    var user = chatContext.Users.FirstOrDefault(x => x.Email == email);
                    if (user == null || !PasswordCrypt.ComparePasswords(password, user.PasswordHash, user.PasswordSalt))
                    {
                        return(new Tuple <bool, string>(false, "Error! Login and/or password do not match"));
                    }
                    var token = GenerateToken(user);
                    chatContext.AccessTokens.Add(token);
                    int res = chatContext.SaveChanges();
                    if (res == 1)
                    {
                        return(new Tuple <bool, string>(true, token.Token));
                    }
                    else
                    {
                        return(new Tuple <bool, string>(false, "Error! Internal service Error"));
                    }
                }
            }
            catch (Exception ex)
            {
                return(new Tuple <bool, string>(false, ex.Message));
            }
        }
示例#30
0
        protected void ButtonSend_Click(object sender, EventArgs e)
        {
            if (TextBoxMessage.Text != "")
            {
                try
                {
                    ChatEntities context = new ChatEntities();

                    context.Messages.Add(new Message()
                    {
                        Username = TextBoxUsername.Text, Text = TextBoxMessage.Text
                    });
                    context.SaveChanges();

                    TextBoxMessage.Text = "";
                }
                catch (Exception ex)
                {
                }
            }
        }