public List <List <Messages> > GetAllChats(int customUserId) { try { List <Chats> chatsInfo = _offlineMessagingDbContext.Chats.Where(x => x.SenderId == customUserId || x.ReceiverId == customUserId).ToList(); UsersAllChatsHelper usersAllChats = new UsersAllChatsHelper(); if (chatsInfo != null) { foreach (var chatInfo in chatsInfo) { List <Messages> messages = _offlineMessagingDbContext.Messages.Where(x => x.Chat.Id == chatInfo.Id && ((chatInfo.SenderId == customUserId && x.UploadDate >= chatInfo.SenderDeleteTime) || (chatInfo.ReceiverId == customUserId && x.UploadDate >= chatInfo.ReceiverDeleteTime))).ToList(); usersAllChats.AllChats.Add(messages); } } return(usersAllChats.AllChats); } catch (Exception ex) { PublicLogs publicLog = new PublicLogs(); publicLog.LogContent = ex.ToString(); publicLog.LogTime = DateTime.Now; InsertPublicLog(publicLog); return(null); } }
public CustomUser CreateCustomUser(CustomUser customUser) { try { var userControl = _offlineMessagingDbContext.CustomUsers.Where(x => x.UserName == customUser.UserName || x.Email == customUser.Email).FirstOrDefault(); if (userControl != null) { return(null); } CustomUser addCustomUser = new CustomUser(); addCustomUser.FirstName = customUser.FirstName; addCustomUser.LastName = customUser.LastName; addCustomUser.UserName = customUser.UserName; addCustomUser.Email = customUser.Email; addCustomUser.Password = customUser.Password; addCustomUser.IsActive = customUser.IsActive; addCustomUser.LastLoginTime = customUser.LastLoginTime; addCustomUser.UploadDate = customUser.UploadDate; _offlineMessagingDbContext.CustomUsers.Add(addCustomUser); _offlineMessagingDbContext.SaveChanges(); return(addCustomUser); } catch (Exception ex) { PublicLogs publicLog = new PublicLogs(); publicLog.LogContent = ex.ToString(); publicLog.LogTime = DateTime.Now; InsertPublicLog(publicLog); return(null); } }
public CustomUser LoginCustomUser(LoginInfoHelper loginInfo) { try { var customUser = _offlineMessagingDbContext.CustomUsers.Where(x => (x.Email == loginInfo.UserNameOrEmail || x.UserName == loginInfo.UserNameOrEmail) && x.Password == loginInfo.Md5Password && x.IsActive).FirstOrDefault(); if (customUser != null) { customUser.IsOnline = true; _offlineMessagingDbContext.CustomUsers.Update(customUser); _offlineMessagingDbContext.SaveChanges(); return(customUser); } else { return(null); } } catch (Exception ex) { PublicLogs publicLog = new PublicLogs(); publicLog.LogContent = ex.ToString(); publicLog.LogTime = DateTime.Now; InsertPublicLog(publicLog); return(null); } }
public bool SendMessage(MessageInfo messageInfo) { try { var senderUser = IsOnline(messageInfo.SenderUserName); var receiverUser = _offlineMessagingDbContext.CustomUsers.Where(x => x.UserName == messageInfo.ReceiverUserName).FirstOrDefault(); if (senderUser != null && receiverUser != null) { #region Block Control var blockingStatus = _offlineMessagingDbContext.BlockUser.Where(x => x.BlockedUser == senderUser && x.BlockerUser == receiverUser).FirstOrDefault(); if (blockingStatus != null) { return(false); } #endregion Chats chat = new Chats(); var dbChat = _offlineMessagingDbContext.Chats.Where(x => (x.SenderId == senderUser.ID || x.SenderId == receiverUser.ID) && (x.ReceiverId == receiverUser.ID || x.ReceiverId == senderUser.ID)).FirstOrDefault(); if (dbChat == null) { chat.SenderId = senderUser.ID; chat.ReceiverId = receiverUser.ID; chat.SenderDeleteTime = DateTime.Now; chat.ReceiverDeleteTime = DateTime.Now; _offlineMessagingDbContext.Chats.Add(chat); _offlineMessagingDbContext.SaveChanges(); } Messages message = new Messages(); message.SenderId = senderUser.ID; message.ReceiverId = receiverUser.ID; message.MessageContent = messageInfo.MessageContent; message.UploadDate = DateTime.Now; message.Chat = dbChat != null ? dbChat : chat; _offlineMessagingDbContext.Messages.Add(message); _offlineMessagingDbContext.SaveChanges(); return(true); } else { return(false); } } catch (Exception ex) { PublicLogs publicLog = new PublicLogs(); publicLog.LogContent = ex.ToString(); publicLog.LogTime = DateTime.Now; InsertPublicLog(publicLog); return(false); } }
public ActivityLogs InsertActivityLog(ActivityLogs activityLog) { try { _offlineMessagingDbContext.ActivityLogs.Add(activityLog); _offlineMessagingDbContext.SaveChanges(); return(activityLog); } catch (Exception ex) { PublicLogs publicLog = new PublicLogs(); publicLog.LogContent = ex.ToString(); publicLog.LogTime = DateTime.Now; InsertPublicLog(publicLog); return(null); } }
public CustomUser IsOnline(string userName) { try { var userDb = _offlineMessagingDbContext.CustomUsers.Where(x => x.UserName == userName && x.IsOnline).FirstOrDefault(); return(userDb); } catch (Exception ex) { PublicLogs publicLog = new PublicLogs(); publicLog.LogContent = ex.ToString(); publicLog.LogTime = DateTime.Now; InsertPublicLog(publicLog); return(null); } }
public void InsertPublicLog(PublicLogs publicLog) { _offlineMessagingDbContext.PublicLogs.Add(publicLog); _offlineMessagingDbContext.SaveChanges(); }