public ActionResult Create(PostModel postModel) { try { Gonderi SuankiGonderi = new Gonderi(); SuankiGonderi.Baslik = postModel.Baslik; SuankiGonderi.Icerik = postModel.Icerik; var kategori = DbFactory.KategoriCrud.Records.FirstOrDefault(x => x.KategoriAdi == postModel.Kategori); SuankiGonderi.Kategori = kategori; DbFactory.GonderiCrud.Insert(SuankiGonderi); return(RedirectToAction("List")); } catch { return(View()); } }
public ActionResult Edit(string id, PostModel postModel) { try { Gonderi SuankiGonderi = DbFactory.GonderiCrud.Find(id); SuankiGonderi.Baslik = postModel.Baslik; SuankiGonderi.Icerik = postModel.Icerik; var kategori = DbFactory.KategoriCrud.Records.FirstOrDefault(x => x.KategoriAdi == postModel.Kategori); SuankiGonderi.Kategori = kategori; DbFactory.GonderiCrud.Update(id, SuankiGonderi); return(RedirectToAction("List")); } catch { return(View()); } }
public string Post(Gonderi gonderi) { try { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["InstaProject"].ConnectionString); con.Open(); SqlCommand cmd = new SqlCommand("insert into Gonderi (KullaniciId,Resim,Aciklama,Tarih,Begeni) values (@p1,@p2,@p3,@p4,0)", con); cmd.Parameters.AddWithValue("@p1", gonderi.KullaniciId); cmd.Parameters.AddWithValue("@p2", gonderi.Resim); cmd.Parameters.AddWithValue("@p3", gonderi.Aciklama); cmd.Parameters.AddWithValue("@p4", DateTime.Now.ToShortDateString()); cmd.ExecuteNonQuery(); return("Added"); } catch (Exception) { return("Error"); } }
// Chat odasında bir mesaj gönderirken bu metot ViewModel tarafından çağrılır TextBox'taki mesaj içeriği Server'a iletilir public void PostGonder() { Gonderi mGonderi = new Gonderi(); mGonderi.Gonderen = mViewModel.KullaniciAdi; mGonderi.Ileti = mViewModel.TextIleti; mViewModel.GonderiList.Add(mGonderi); // Servera gonder Messages message = new Messages() { Key = MessageKeys.Post, Icerik = JsonConvert.SerializeObject(mGonderi) }; string output = JsonConvert.SerializeObject(message); byte[] myWriteBuffer = Encoding.UTF8.GetBytes(output); ag.Write(myWriteBuffer, 0, myWriteBuffer.Length); }
private void MesajYoneticisi(Messages message) { switch (message.Key) { #region kullanıcı adı case MessageKeys.UserName: this.kullaniciAdi = message.Icerik; List <String> baglananlar = Server.bagliIstemcilerListesi.Select(x => x.Value.kullaniciAdi).ToList(); Messages mMessage = new Messages() { Key = MessageKeys.ConnectedUsers, Icerik = JsonConvert.SerializeObject(baglananlar) }; //istemci ilk baglandiginda kullanıcı adını gönderir bizde buna orada chatte bulunan kullanıcıların // isimlerini gönderiyoruz string usernameOutput = JsonConvert.SerializeObject(mMessage); byte[] myWriteBuffer = Encoding.UTF8.GetBytes(usernameOutput); ag.Write(myWriteBuffer, 0, myWriteBuffer.Length); //bu istemci yeni baglandigi icin sadece bunun kullanıcı adi diger bagli istemcilere gonderilecek Messages messageYeniBaglanan = new Messages() { Key = MessageKeys.NewConnect, Icerik = this.kullaniciAdi }; string outputYeniBaglanan = JsonConvert.SerializeObject(messageYeniBaglanan); myWriteBuffer = Encoding.UTF8.GetBytes(outputYeniBaglanan); if (Server.bagliIstemcilerListesi.Count > 1) { foreach (var item in Server.bagliIstemcilerListesi) { if (item.Value.kullaniciAdi.Equals(this.kullaniciAdi)) { continue; } else { item.Value.ag.Write(myWriteBuffer, 0, myWriteBuffer.Length); } } } break; #endregion #region Post case MessageKeys.Post: //kendisi haric diger istemcilere mesaji iletir try { Gonderi gonderi = Messages.MessageParse <Gonderi>(message.Icerik); Messages mMessage1 = new Messages() { Key = MessageKeys.Post, Icerik = JsonConvert.SerializeObject(gonderi) }; string gonderiOutput = JsonConvert.SerializeObject(mMessage1); byte[] myWriteBuffer1 = Encoding.UTF8.GetBytes(gonderiOutput); if (Server.bagliIstemcilerListesi.Count > 1) { foreach (var item in Server.bagliIstemcilerListesi) { if (item.Value.kullaniciAdi.Equals(this.kullaniciAdi)) { continue; } else { item.Value.ag.Write(myWriteBuffer1, 0, myWriteBuffer1.Length); } } } } catch (Exception e) { Console.WriteLine(e.Message); } break; #endregion } }
// Gelen mesajın keyine bakarak ViewModel'i güncelller private void MesajYoneticisi(Messages message) { switch (message.Key) { case MessageKeys.ConnectedUsers: try { mViewModel.BaglananlarListesi = Messages.MessageParse <ObservableCollection <String> >(message.Icerik); } catch (Exception e) { IstemciKapat(); Console.WriteLine("ConnectedUsers error:" + e.Message); } break; case MessageKeys.Post: try { Gonderi gelenGonderi = Messages.MessageParse <Gonderi>(message.Icerik); App.Current.Dispatcher.Invoke(() => mViewModel.GonderiList.Add(gelenGonderi)); // GonderiList.Add(gelenGonderi); // İşlemler farklı thread'lerden yönetildiği için UI Thread'ine bağlı elemanları değiştirirken // Dispatcher kullanılır } catch (Exception e) { IstemciKapat(); Console.WriteLine("Post error" + e.Message); } break; case MessageKeys.NewConnect: try { String yeniKullanici = message.Icerik.ToString(); App.Current.Dispatcher.Invoke(() => mViewModel.BaglananlarListesi.Add(yeniKullanici)); } catch (Exception e) { IstemciKapat(); Console.WriteLine("NewConnect error" + e.Message); } break; case MessageKeys.Disconnect: try { String ayrilanKullanici = Messages.MessageParse <String>(message.Icerik); App.Current.Dispatcher.Invoke(() => mViewModel.BaglananlarListesi.Remove(ayrilanKullanici)); } catch (Exception e) { IstemciKapat(); Console.WriteLine("Disconnect error" + e.Message); } break; } }