public IActionResult YollayanDeneme(int id) { string tempId = HttpContext.Session.GetString("id"); int userId = int.Parse(tempId); //yollayanId //List<MessageGetAllModel> messageGetAllModels = new List<MessageGetAllModel>(); var messages = _messageService.GetByYollayanId(userId); // message service tarafından çalıştırıldı. #region Profosyonel Mesajlasma // algorithm kaç farklı yollayan kullanıcı sayısını belirler. List <int> yollayanlarIdKumesi = new List <int>(); foreach (var item in messages) { if (!(yollayanlarIdKumesi.Any(y => y == item.AlanId))) { yollayanlarIdKumesi.Add(item.AlanId); } } List <TestModel> testModels = new List <TestModel>(); foreach (var idd in yollayanlarIdKumesi) { List <MessageGetAllModel> kullanıcıMesajlari = new List <MessageGetAllModel>(); string userName = String.Empty; foreach (var mesaj in messages) { if (mesaj.AlanId == idd) { MessageGetAllModel messageGetAllModel = new MessageGetAllModel(); var alanKullanıcı = _userService.GetById(mesaj.AlanId); var yollayanKullanıcı = _userService.GetById(mesaj.YollayanId); messageGetAllModel.Alan = alanKullanıcı; messageGetAllModel.Yollayan = yollayanKullanıcı; messageGetAllModel.AlanId = mesaj.AlanId; messageGetAllModel.YollayanId = mesaj.YollayanId; messageGetAllModel.Message = mesaj.Mesaj; messageGetAllModel.MessageId = mesaj.Id; messageGetAllModel.Time = mesaj.MesajTarihi; messageGetAllModel.UserName = alanKullanıcı.UserName; kullanıcıMesajlari.Add(messageGetAllModel); } } testModels.Add(new TestModel() { MesajBox = kullanıcıMesajlari }); } // test models eleman sayısı farklı kullanıcıların sayısına baglıdır. List <TestModel> tmodels = new List <TestModel>(); foreach (var item in testModels) //testModels kaç farklı kullanıcının olduğunun tespit, eder. { foreach (var i in item.MesajBox) { if (id == i.AlanId) { tmodels.Add(item); break; // istenilen kullanıcı bulundugu takdirde döngü sonlanır ve yollayan kullanıcıya ait tüm mesajlar gelir. } } } #endregion return(View(tmodels)); }
public IActionResult GetAllByAlanId() { if (!(Convert.ToBoolean(HttpContext.Session.GetString("Active")))) { return(RedirectToAction("Login", "IO")); } string tempId = HttpContext.Session.GetString("id"); int userId = int.Parse(tempId); //yollayanId List <MessageGetAllModel> messageGetAllModels = new List <MessageGetAllModel>(); // normal mesajlasmanın ihtiyac duyulur silinebilir. var messages = _fakeMessageService.GetByAlanId(userId); // fakeservice tarafından çalıştırıldı. #region Profosyonel Mesajlasma // algorithm kaç farklı yollayan kullanıcı sayısını belirler. List <int> yollayanlarIdKumesi = new List <int>(); foreach (var item in messages) { if (!(yollayanlarIdKumesi.Any(y => y == item.YollayanId))) { yollayanlarIdKumesi.Add(item.YollayanId); } } List <TestModel> testModels = new List <TestModel>(); foreach (var id in yollayanlarIdKumesi) { List <MessageGetAllModel> kullanıcıMesajlari = new List <MessageGetAllModel>(); string userName = String.Empty; foreach (var mesaj in messages) { if (mesaj.YollayanId == id) { MessageGetAllModel messageGetAllModel = new MessageGetAllModel(); var alanKullanıcı = _userService.GetById(mesaj.AlanId); var yollayanKullanıcı = _userService.GetById(mesaj.YollayanId); messageGetAllModel.Alan = alanKullanıcı; messageGetAllModel.Yollayan = yollayanKullanıcı; messageGetAllModel.AlanId = mesaj.AlanId; messageGetAllModel.YollayanId = mesaj.YollayanId; messageGetAllModel.Message = mesaj.Mesaj; messageGetAllModel.MessageId = mesaj.Id; messageGetAllModel.Time = mesaj.MesajTarihi; messageGetAllModel.UserName = yollayanKullanıcı.UserName; kullanıcıMesajlari.Add(messageGetAllModel); } } testModels.Add(new TestModel() { MesajBox = kullanıcıMesajlari }); } // test models eleman sayısı farklı kullanıcıların sayısına baglıdır. #endregion #region Normal Mesajlasma // normal mesajlasma foreach (var item in messages) { MessageGetAllModel messageGetAllModel = new MessageGetAllModel(); var alanKullanıcı = _userService.GetById(item.AlanId); var yollayanKullanıcı = _userService.GetById(item.YollayanId); messageGetAllModel.Alan = alanKullanıcı; messageGetAllModel.Yollayan = yollayanKullanıcı; messageGetAllModel.AlanId = item.AlanId; messageGetAllModel.YollayanId = item.YollayanId; messageGetAllModel.Message = item.Mesaj; messageGetAllModel.MessageId = item.Id; messageGetAllModel.Time = item.MesajTarihi; messageGetAllModels.Add(messageGetAllModel); } #endregion Normal Mesajlasma return(View(testModels)); // profosyonel mesajlasmadaki tests model kullanilir. }
public IActionResult GetAllByYollayanId() { if (!(Convert.ToBoolean(HttpContext.Session.GetString("Active")))) { return(RedirectToAction("Login", "IO")); } string tempId = HttpContext.Session.GetString("id"); int userId = int.Parse(tempId); //yollayanId List <MessageGetAllModel> messageGetAllModels = new List <MessageGetAllModel>(); // silinebilir. var messages = _messageService.GetByYollayanId(userId); foreach (var item in messages) { MessageGetAllModel messageGetAllModel = new MessageGetAllModel(); var alanKullanıcı = _userService.GetById(item.AlanId); var yollayanKullanıcı = _userService.GetById(item.YollayanId); messageGetAllModel.Alan = alanKullanıcı; messageGetAllModel.Yollayan = yollayanKullanıcı; messageGetAllModel.AlanId = item.AlanId; messageGetAllModel.YollayanId = item.YollayanId; messageGetAllModel.Message = item.Mesaj; messageGetAllModel.MessageId = item.Id; messageGetAllModel.Time = item.MesajTarihi; messageGetAllModels.Add(messageGetAllModel); // buda yapılabilir , eğer olmazsa. } #region Profosyonel Mesajlasma // algorithm kaç farklı yollayan kullanıcı sayısını belirler. List <int> yollayanlarIdKumesi = new List <int>(); foreach (var item in messages) { if (!(yollayanlarIdKumesi.Any(y => y == item.AlanId))) { yollayanlarIdKumesi.Add(item.AlanId); // yollayanlarda alana , alanlarda yollayan idlere bakılır, çünkü farklılık bunlarda oluşur. } } List <TestModel> testModels = new List <TestModel>(); foreach (var id in yollayanlarIdKumesi) { List <MessageGetAllModel> kullanıcıMesajlari = new List <MessageGetAllModel>(); string userName = String.Empty; foreach (var mesaj in messages) { if (mesaj.AlanId == id) { MessageGetAllModel messageGetAllModel = new MessageGetAllModel(); var alanKullanıcı = _userService.GetById(mesaj.AlanId); var yollayanKullanıcı = _userService.GetById(mesaj.YollayanId); messageGetAllModel.Alan = alanKullanıcı; messageGetAllModel.Yollayan = yollayanKullanıcı; messageGetAllModel.AlanId = mesaj.AlanId; messageGetAllModel.YollayanId = mesaj.YollayanId; messageGetAllModel.Message = mesaj.Mesaj; messageGetAllModel.MessageId = mesaj.Id; messageGetAllModel.Time = mesaj.MesajTarihi; messageGetAllModel.UserName = alanKullanıcı.UserName; kullanıcıMesajlari.Add(messageGetAllModel); } } testModels.Add(new TestModel() { MesajBox = kullanıcıMesajlari }); } // test models eleman sayısı farklı kullanıcıların sayısına baglıdır. #endregion return(View(testModels)); }