public PrivateMessageScrollingCollection(WebClient web) { HasMoreItems = true; IsLoading = false; PageCount = 0; privateMessageManager = new PrivateMessageManager(web); }
private static (uint Results, IReadOnlyList <IPrivateMessage> PMs) ParseSqlMultiplePMs(Task <NpgsqlDataReader> task) { uint results = 0; List <IPrivateMessage> pms = new(); if (task.IsCompletedSuccessfully) { DbDataReader reader = task.Result; while (reader?.Read() ?? false) { if (results == 0) { results = (uint)(long)reader["results"]; } pms.Add(PrivateMessageManager.ParseSqlPrivateMessage(reader)); } } else if (task.IsFaulted) { PrivateMessageManager.logger.LogError(EventIds.PrivateMessageLoadFailed, task.Exception, $"Failed to load {nameof(IPrivateMessage)} from sql"); } return(results, pms); }
internal override void Handle(ClientSession session, JsonSendPmIncomingMessage message) { if (session.IsGuest) { return; } if (message.Message.Length > 0) { UserManager.TryGetUserDataByNameAsync(message.ReceiverUsername).ContinueWith((task) => { PlayerUserData userData = task.Result; if (userData != null) { PrivateMessageManager.SendTextPrivateMessageAsync(userData.Id, session.UserData.Id, message.Title, message.Message); } else { session.SendPacket(new AlertOutgoingMessage("User was not found!")); } }); } else { session.SendPacket(new AlertOutgoingMessage("What if you typed message before sending?")); } }
public ClientLink(TcpClient tcpC, ServerParameters serverParameters, TopicManager topicManager, PrivateMessageManager privateMessageManager) { Comm = tcpC; ServerParameter = serverParameters; TopicManager = topicManager; PrivateMessageManager = privateMessageManager; }
public void Test_CreateUpdateDeletePrivateMessage() { IUserBasic userBasic = Test_WorkmateMembershipProvider.CreateUser(this.DataStore, Workmate.Components.InstanceContainer.ApplicationSettings, this.Application, this.DummyDataManager); Inbox inbox = Test_Inboxs.Create(this.DataStore, Workmate.Components.InstanceContainer.ApplicationSettings, this.Application, this.Random); Folder folder = Test_Folders.Create(this.DataStore, Workmate.Components.InstanceContainer.ApplicationSettings, this.Application, inbox, this.Random); PrivateMessageManager manager = new PrivateMessageManager(this.DataStore); PrivateMessage record = Create(this.DataStore, Workmate.Components.InstanceContainer.ApplicationSettings, this.Application, userBasic, folder, this.Random); PrivateMessage recordToCompare; for (int i = 0; i < this.DefaultUpdateTestIterations; i++) { PopulateWithRandomValues(record, this.DummyDataManager, this.Random); recordToCompare = record; manager.Update(record); record = manager.GetPrivateMessage(record.PrivateMessageId); string errors = string.Empty; // TODO (Roman): relax datetime comparisons Assert.IsTrue(DebugUtility.ArePropertyValuesEqual(record, recordToCompare, out errors), errors); Trace.WriteLine("Update test successfull."); } Delete(this.DataStore, record); Test_Inboxs.Delete(this.DataStore, inbox); }
public async Task Init(PrivateMessage parameter) { IsLoading = true; if (WebManager == null) { LoginUser(); } _postManager = new PrivateMessageManager(WebManager); Selected = parameter; if (!string.IsNullOrEmpty(Selected.Title)) { Title = "Re: " + Selected.Title; Subject.Text = "Re: " + Selected.Title; } else { Title = "New Private Message"; } if (!string.IsNullOrEmpty(Selected.Sender)) { Recipient.Text = Selected.Sender; } IsLoading = false; }
public async Task GetPrivateMessageHtml() { IsLoading = true; var privateMessageManager = new PrivateMessageManager(); var postEntity = await privateMessageManager.GetPrivateMessageAsync(PrivateMessageEntity.MessageUrl); await FormatPmHtml(postEntity); IsLoading = false; }
public ActionResult KısaYollar() { VotedressUser kullanici = Session["login"] as VotedressUser; KısaYollarViewModel view_model = new KısaYollarViewModel(); PrivateMessageManager privatemessage_manager = new PrivateMessageManager(); view_model.GorulmemisMesajlar = privatemessage_manager.GorulmemisMesajlariGetir(kullanici.id).Select(x => new PrivateMessage_sade() { userId = x.User.id, adSoyad = x.User.UserDetail.Name + " " + x.User.UserDetail.SurName, GonderilmeTarihi = x.GöndermeTarihi.ToString(), Message = x.Message, ProfilImage = x.User.ProfileImage, Sahip = (x.User.id == kullanici.id) ? true : false }).ToList(); BahsedilenManager bahsedilenManager = new BahsedilenManager(); List <Bahsedilen_sade> bahsedenler = bahsedilenManager.BahsedenleriGetir(kullanici.id); view_model.Bahsedenler = bahsedenler; FriendManager friendManager = new FriendManager(); List <Friend> arkadaslikIstekleri = friendManager.ArkadaslikIsteklerimiGetir(kullanici.id); view_model.ArkadaslikIsteklerim = arkadaslikIstekleri.Select(x => new Friend_sade() { UserId = x.User.id, UserNameSurname = x.User.UserDetail.Name + " " + x.User.UserDetail.SurName, UserProfileImage = x.User.ProfileImage, Tarih = x.ArkadaslikTarihi, }).ToList(); CartManager cartManager = new CartManager(); Cart carts = cartManager.SepetimiGetir(kullanici.id); if (carts != null) { List <Cart_sade> cart_Sades = carts.CartDetail.Select(x => new Cart_sade() { id = x.id, Count = x.ProductCount, ProductId = x.Product.id, ProductName = x.Product.ProductName, ProductImage = x.Product.ProductImage, ProductPrice = x.Product.Price, ProductColorId = x.ProductColorId, Size = x.Size }).ToList(); view_model.Cart_Sades = cart_Sades; } return(View(view_model)); }
internal override void Handle(ClientSession session, JsonDeletePmsIncomingMessage message) { if (session.IsGuest) { return; } PrivateMessageManager.DeletePMsAsync(message.PMs, session.UserData.Id).Wait(); }
internal override void Handle(ClientSession session, JsonReportPmIncomingMessage message) { if (session.IsGuest) { return; } PrivateMessageManager.ReportPrivateMessageAsync(session.UserData.Id, message.MessageId); }
internal static void Delete(IDataStore dataStore, PrivateMessage privateMessage) { PrivateMessageManager manager = new PrivateMessageManager(dataStore); BusinessObjectActionReport <DataRepositoryActionStatus> report = manager.Delete(privateMessage); Assert.AreEqual(DataRepositoryActionStatus.Success, report.Status); Assert.IsNull(manager.GetPrivateMessage(privateMessage.PrivateMessageId)); Trace.WriteLine("Successfully deleted privateMessage " + privateMessage.Subject); }
public async override void Execute(object parameter) { var vm = Locator.ViewModels.NewPrivateMessagePageVm; var pmManager = new PrivateMessageManager(); if (string.IsNullOrEmpty(vm.PostSubject)) { AwfulDebugger.SendMessageDialogAsync("Can't post the thread yet!", new Exception("Submit is empty")); return; } if (string.IsNullOrEmpty(vm.PostBody)) { AwfulDebugger.SendMessageDialogAsync("Can't post the thread yet!", new Exception("Body is empty")); return; } if (string.IsNullOrEmpty(vm.PostRecipient)) { AwfulDebugger.SendMessageDialogAsync("Can't post the thread yet!", new Exception("Recipient is empty")); return; } var pmEntity = new NewPrivateMessageEntity(); vm.IsLoading = true; pmEntity.Title = vm.PostSubject; pmEntity.Body = vm.PostBody; pmEntity.Icon = vm.PostIcon; pmEntity.Receiver = vm.PostRecipient; try { bool result = await pmManager.SendPrivateMessage(pmEntity); if (result) { App.RootFrame.GoBack(); } else { await AwfulDebugger.SendMessageDialogAsync("Error making the pm.", new Exception()); } } catch (Exception ex) { AwfulDebugger.SendMessageDialogAsync("Error making the pm.", ex); } vm.IsLoading = false; }
internal override void Handle(ClientSession session, JsonGetPmsIncomingMessage message) { if (session.IsGuest) { return; } PrivateMessageManager.GetUserPMsAsync(session.UserData.Id, message.Start, message.Count).ContinueWith((task) => { (uint Results, IReadOnlyList <IPrivateMessage> PMs) = task.Result; session.SendPacket(new PmsOutgoingMessage(message.RequestId, Results, PMs)); }); }
public void Test_Delete_Inbox() { IUserBasic userBasic = Test_WorkmateMembershipProvider.CreateUser(this.DataStore, Workmate.Components.InstanceContainer.ApplicationSettings, this.Application, this.DummyDataManager); Inbox inbox = Test_Inboxs.Create(this.DataStore, Workmate.Components.InstanceContainer.ApplicationSettings, this.Application, this.Random); Folder folder = Test_Folders.Create(this.DataStore, Workmate.Components.InstanceContainer.ApplicationSettings, this.Application, inbox, this.Random); PrivateMessage privateMessage = Test_PrivateMessages.Create(this.DataStore, Workmate.Components.InstanceContainer.ApplicationSettings, this.Application, userBasic, folder, this.Random); Test_Inboxs.Delete(this.DataStore, inbox); FolderManager folderManager = new FolderManager(this.DataStore); PrivateMessageManager privateMessageManager = new PrivateMessageManager(this.DataStore); Assert.IsNull(folderManager.GetFolder(folder.FolderId)); Assert.IsNull(privateMessageManager.GetPrivateMessage(privateMessage.PrivateMessageId)); }
public JsonResult WhisperEkle(Guid alanId) { VotedressUser kullanici = Session["login"] as VotedressUser; PrivateMessageManager res = new PrivateMessageManager(); FriendManager friendManager = new FriendManager(); Friend friend = friendManager.ArkadasKontrol(kullanici.id, alanId); if (friend == null) { WhisperManager whisperManager = new WhisperManager(); whisperManager.AddWhisper(kullanici.id, alanId); } return(Json(null, JsonRequestBehavior.AllowGet)); }
private static IPrivateMessage ParseSqlPm(Task <NpgsqlDataReader> task) { if (task.IsCompletedSuccessfully) { DbDataReader reader = task.Result; if (reader?.Read() ?? false) { return(PrivateMessageManager.ParseSqlPrivateMessage(reader)); } } else if (task.IsFaulted) { PrivateMessageManager.logger.LogError(EventIds.PrivateMessageLoadFailed, task.Exception, $"Failed to load {nameof(IPrivateMessage)} from sql"); } return(null); }
internal override void Handle(ClientSession session, JsonGetPmIncomingMessage message) { if (session.IsGuest) { return; } IPrivateMessage privateMessage = PrivateMessageManager.GetPrivateMessageAsync(message.MessageId).Result; if (privateMessage?.ReceiverId == session.UserData.Id) { session.SendPacket(new PmOutgoingMessage(privateMessage)); } else { session.SendPacket(new AlertOutgoingMessage("PM was not found!")); } }
public Server() { Log.LogInfo("Setting up...", LogType.Application_Work); //create server parameter file if it doesn't exist if (!File.Exists(Globals.BASE_DIRECTORY + Globals.PARAMETERS_PATH)) { JSONManagement.WriteToJsonFile <ServerParameters>( Globals.BASE_DIRECTORY + Globals.PARAMETERS_PATH, new ServerParameters(8407, "127.0.0.1")); } ServerParameter = JSONManagement.ReadFromJsonFile <ServerParameters>(AppDomain.CurrentDomain.BaseDirectory + Globals.PARAMETERS_PATH); InternalTopicManager = new TopicManager(); InternalPrivateMessageManager = new PrivateMessageManager(); ClientLinks = new List <ClientLink>(); //Disconnect gracefully every link when server closes AppDomain.CurrentDomain.ProcessExit += CurrentDomain_ProcessExit; }
public async Task <LoadMoreItemsResult> LoadDataAsync(uint count) { IsLoading = true; var privateMessageManager = new PrivateMessageManager(); List <PrivateMessageEntity> privateMessageList; try { privateMessageList = await privateMessageManager.GetPrivateMessages(PageCount); } catch (Exception ex) { // TODO: Find a better way to go into PM pages. privateMessageList = null; Debug.WriteLine("No more PMs..."); } if (privateMessageList == null) { IsLoading = false; HasMoreItems = false; return(new LoadMoreItemsResult { Count = count }); } foreach (var item in privateMessageList) { Add(item); } if (privateMessageList.Any()) { HasMoreItems = true; PageCount++; } else { HasMoreItems = false; } IsLoading = false; return(new LoadMoreItemsResult { Count = count }); }
public async Task <LoadMoreItemsResult> LoadDataAsync(uint count) { IsLoading = true; var privateMessageManager = new PrivateMessageManager(); List <PrivateMessageEntity> privateMessageList; try { privateMessageList = await privateMessageManager.GetPrivateMessages(PageCount); } catch (Exception) { // TODO: Expand into specific error catches. privateMessageList = null; Debug.WriteLine("Error with parsing."); } if (privateMessageList == null) { IsLoading = false; HasMoreItems = false; return(new LoadMoreItemsResult { Count = count }); } foreach (var item in privateMessageList) { Add(item); } if (privateMessageList.Any()) { HasMoreItems = true; PageCount++; } else { HasMoreItems = false; } IsLoading = false; return(new LoadMoreItemsResult { Count = count }); }
public JsonResult MesajlariGetir(Guid alanId) { VotedressUser kullanici = Session["login"] as VotedressUser; PrivateMessageManager res = new PrivateMessageManager(); List <PrivateMessage> ozel_mesajlar = res.MesajlariGetir(kullanici.id, alanId); List <PrivateMessage_sade> sade_mesajlar = ozel_mesajlar.Select(x => new PrivateMessage_sade() { adSoyad = x.User.UserDetail.Name + " " + x.User.UserDetail.SurName, GonderilmeTarihi = x.GöndermeTarihi.ToString(), Message = x.Message, ProfilImage = x.User.ProfileImage, Sahip = (x.User.id == kullanici.id) ? true : false }).ToList(); bool basarili = res.MesajlarGoruldu(kullanici.id, alanId); return(Json(sade_mesajlar, JsonRequestBehavior.AllowGet)); }
public void ozel_sendMessage(Guid gonderen_id, Guid alan_id, string mesaj) { MessangerManager messangerManager = new MessangerManager(); if (gonderen_id != null && alan_id != null && mesaj != null) { BlockedUserManager blockedUserManager = new BlockedUserManager(); bool banlimi = blockedUserManager.EngelKontrolCiftTarafli(gonderen_id, alan_id); if (!banlimi) { PrivateMessageManager manager = new PrivateMessageManager(); DateTime gonderme_tarihi = DateTime.Now; int mesaj_id = manager.MesajGonder(gonderen_id, alan_id, mesaj, gonderme_tarihi); OnlineUser mesaj_gonderen = messangerManager.OnlineMi(gonderen_id); if (mesaj_id != 0) { Clients.Client(mesaj_gonderen.ConnectionId).sendMessage_kendime(gonderen_id, mesaj, gonderme_tarihi.ToString(), mesaj_gonderen.User.UserDetail.Name + " " + mesaj_gonderen.User.UserDetail.SurName, mesaj_gonderen.User.ProfileImage); OnlineUser mesaj_gonderilen_kullanici = messangerManager.OnlineMi(alan_id); if (mesaj_gonderilen_kullanici != null) { Clients.Client(mesaj_gonderilen_kullanici.ConnectionId).sendMessage_karsiya(gonderen_id, mesaj, gonderme_tarihi.ToString(), mesaj_gonderen.User.UserDetail.Name + " " + mesaj_gonderen.User.UserDetail.SurName, mesaj_gonderen.User.ProfileImage, mesaj_id); } } else { Clients.Client(mesaj_gonderen.ConnectionId).MesajGonderilemedi(); } } else { Clients.Caller.Engelli(); } } }
internal static PrivateMessage Create(IDataStore dataStore, IApplicationSettings applicationSettings, IApplication application , IUserBasic author, Folder folder, Random random) { PrivateMessageManager manager = new PrivateMessageManager(dataStore); PrivateMessage privateMessage = new PrivateMessage( author , folder , DebugUtility.GetRandomEnum <MessageStatus>(random) , DebugUtility.GetRandomEnum <MessageType>(random) , "PrivateMessage Subject" + random.Next(1000000, 10000000) , "PrivateMessage Body" + random.Next(1000000, 10000000)); BusinessObjectActionReport <DataRepositoryActionStatus> report = manager.Create(privateMessage); Assert.AreEqual(DataRepositoryActionStatus.Success, report.Status); Assert.Greater(privateMessage.PrivateMessageId, 0); PrivateMessage dsPrivateMessage = manager.GetPrivateMessage(privateMessage.PrivateMessageId); Assert.IsNotNull(dsPrivateMessage); return(dsPrivateMessage); }
internal override void Handle(ClientSession session, JsonAcceptThingTransferIncomingMessage message) { if (session.IsGuest) { return; } //We could do this in sql too..... heh! PrivateMessageManager.GetPrivateMessageAsync(message.TransferId).ContinueWith((task) => { IPrivateMessage pm = task.Result; if (pm is ThingTransferPrivateMessage thingTransferPm && thingTransferPm.ReceiverId == session.UserData.Id) { if (thingTransferPm.ThingType == "block") { DatabaseConnection.NewAsyncConnection((dbConnection) => dbConnection.ExecuteNonQueryAsync($"WITH pm AS(DELETE FROM base.pms WHERE id = {message.TransferId} AND to_user_id = {session.UserData.Id} AND type = 'block' RETURNING id, to_user_id, from_user_id, type, sent_time), insertDeletedPm AS(INSERT INTO base.pms_deleted(id, to_user_id, from_user_id, type, sent_time) SELECT id, to_user_id, from_user_id, type, sent_time FROM pm), insertTitle AS (INSERT INTO base.blocks_titles(title, category, author_user_id) VALUES({message.Title}, {message.Category}, (SELECT to_user_id FROM pm)) ON CONFLICT(lower(title::text), lower(category::text), author_user_id) DO UPDATE SET title = blocks_titles.title RETURNING id) INSERT INTO base.blocks(id, version, description, image_data, settings) SELECT DISTINCT ON(b.id) (SELECT id FROM insertTitle), COALESCE(MAX(o.version) + 1, 1), {message.Description}, b.image_data, b.settings FROM base.blocks b LEFT JOIN base.blocks o ON o.id = (SELECT id FROM insertTitle) WHERE b.id = (SELECT block_id FROM base.transfers_block WHERE id = (SELECT id FROM pm)) GROUP BY b.id, b.version, b.image_data, b.settings RETURNING id")).Wait(); } else if (thingTransferPm.ThingType == "level") { DatabaseConnection.NewAsyncConnection((dbConnection) => dbConnection.ExecuteNonQueryAsync($"WITH pm AS(DELETE FROM base.pms WHERE id = {message.TransferId} AND to_user_id = {session.UserData.Id} AND type = 'level' RETURNING id, to_user_id, from_user_id, type, sent_time), insertDeletedPm AS(INSERT INTO base.pms_deleted(id, to_user_id, from_user_id, type, sent_time) SELECT id, to_user_id, from_user_id, type, sent_time FROM pm), insertTitle AS (INSERT INTO base.levels_titles(title, author_user_id) VALUES({message.Title}, (SELECT to_user_id FROM pm)) ON CONFLICT(lower(title::text), author_user_id) DO UPDATE SET title = levels_titles.title RETURNING id) INSERT INTO base.levels(id, version, description, publish, song_id, mode, seconds, gravity, alien, sfchm, snow, wind, items, health, king_of_the_hat, bg_image, level_data) SELECT DISTINCT ON(l.id) (SELECT id FROM insertTitle), COALESCE(MAX(o.version) + 1, 1), {message.Description}, {message.Publish}, l.song_id, l.mode, l.seconds, l.gravity, l.alien, l.sfchm, l.snow, l.wind, l.items, l.health, l.king_of_the_hat, l.bg_image, l.level_data FROM base.levels l LEFT JOIN base.levels o ON o.id = (SELECT id FROM insertTitle) WHERE l.id = (SELECT level_id FROM base.transfers_level WHERE id = (SELECT id FROM pm)) GROUP BY l.id, l.version, l.song_id, l.mode, l.seconds, l.gravity, l.alien, l.sfchm, l.snow, l.wind, l.items, l.health, l.king_of_the_hat, l.bg_image, l.level_data RETURNING id")).Wait(); } } }).Wait(); }
public void MesajGoruldu(int mesaj_id) { PrivateMessageManager manager = new PrivateMessageManager(); bool mesaj_goruldu = manager.MesajGoruldu(mesaj_id); }
public override void Load() { Name = "TDSMBasicPlugin"; Description = "TDSMBasicPlugin."; Author = "attak"; Version = "1"; TDSMBuild = 12; ServerProtocol = "1.05"; isEnabled = true; sPluginDir = Statics.getPluginPath + Statics.systemSeperator + "TDSMBasic"; sItemExportFile = Path.Combine(sPluginDir, sItemExportFile); if (!Program.createDirectory(sPluginDir, true)) { Console.WriteLine("Failed to create crucial Folder"); return; } oPrivateMsgManager = new PrivateMessageManager(); oPrivateMsgManager.Server = this.Server; }
public void Init() { LoginUser(); _postManager = new PrivateMessageManager(WebManager); }