public void Update(OyunModel model) { Oyun oyun = _db.Oyunlar.Find(model.Id); //lazyloading kullanmasaydım "İnclude" kullanacaktım burada. oyun.Adi = model.Adi; oyun.Kazanci = model.Kazanci; oyun.Maliyeti = model.Maliyeti; oyun.YapimTarihi = model.YapimTarihi; oyun.YapimciId = model.YapimciId; _db.OyunlarTurler.RemoveRange(oyun.OyunTurler); //oyundakı oyuntur kayıtlarını siliyor. //oyun.OyunTurler = new List<OyunTur>(); 1.YÖNTEM //foreach (int turId in model.TurIdleri) //{ // oyun.OyunTurler.Add(new OyunTur() // { // OyunId = oyun.Id, // TurId = turId // }); //} oyun.OyunTurler = model.TurIdleri.Select(turId => new OyunTur() { OyunId = oyun.Id, TurId = turId }).ToList(); _db.Entry(oyun).State = System.Data.Entity.EntityState.Modified; _db.SaveChanges(); }
//[HttpPost] // aksiyon adı aynı olduğu için yazılmasına gerek yoktur public IActionResult Post([FromBody] OyunModel model) { if (ModelState.IsValid) { _oyunService.Add(model); //return Created(model); // başarılı işlemler için Created da dönülebilir Ok de. return(Ok(model)); } return(BadRequest(ModelState)); }
public void Update(OyunModel model) { var entity = _db.Set <Oyun>().Find(model.Id); entity.Adi = model.Adi.Trim(); entity.Puani = model.Puani; entity.Tarihi = model.Tarihi; entity.YapimciId = model.YapimciId; _db.Set <Oyun>().Update(entity); _db.SaveChanges(); }
public async Task <HttpStatusCode> UpdateOyunAsync(OyunModel oyun) { oyun.Puani = Convert.ToDouble(oyun.PuaniText.Replace(",", "."), CultureInfo.InvariantCulture); oyun.Tarihi = DateTime.ParseExact(oyun.TarihiText, "dd.MM.yyyy", CultureInfo.InvariantCulture); oyun.YapimciId = Convert.ToInt32(oyun.YapimciIdText); //var result = await _httpClient.PutAsJsonAsync(_oyunApiUrl, oyun); // OData servisi kullandığımız için hata veriyor string oyunJson = JsonSerializer.Serialize(oyun, _jsonSerializerOptions); HttpContent oyunHttpContent = new StringContent(oyunJson, Encoding.UTF8, "application/json"); var result = await _httpClient.PutAsync(_oyunApiUrl + "/" + oyun.Id, oyunHttpContent); return(result.StatusCode); }
//[HttpPut] // aksiyon adı aynı olduğu için yazılmasına gerek yoktur public IActionResult Put([FromODataUri] int key, [FromBody] OyunModel model) { if (ModelState.IsValid) { model.Id = key; _oyunService.Update(model); //Request.Headers.Add("Prefer", "return=representation"); // aşağıdaki Updated() methodu ile modeli dönebilmek için eklenmesi gerekmektedir //return Updated(model); // başarılı işlemler için Updated da dönülebilir Ok de. return(Ok(model)); } return(BadRequest(ModelState)); }
private void FillDetails() { try { if (gvOyunlar.SelectedIndex == -1) { lMesaj.Text = "Kayıt seçiniz."; return; } int id = Convert.ToInt32(gvOyunlar.SelectedRow.Cells[1].Text); OyunModel model = _oyunService.GetQuery().SingleOrDefault(oyun => oyun.Id == id); tbAdiDuzenleme.Text = model.Adi; tbKazanciDuzenleme.Text = ""; if (model.Kazanci.HasValue) { tbKazanciDuzenleme.Text = model.Kazanci.Value.ToString(new CultureInfo("tr")); } tbMaliyetiDuzenleme.Text = ""; if (model.Maliyeti.HasValue) { tbMaliyetiDuzenleme.Text = model.Maliyeti.Value.ToString(new CultureInfo("tr")); } cYapimTarihiDuzenleme.SelectedDates.Clear(); if (model.YapimTarihi.HasValue) { cYapimTarihiDuzenleme.SelectedDate = model.YapimTarihi.Value; } ddlYapimciDuzenleme.SelectedValue = ""; if (model.YapimciId.HasValue) { ddlYapimciDuzenleme.SelectedValue = model.YapimciId.Value.ToString(); } lbTurlerDuzenleme.ClearSelection();//içindekileri önce kaldırır. Sonra aldığımız veri set edilir. foreach (ListItem item in lbTurlerDuzenleme.Items) { foreach (int turId in model.TurIdleri) { if (item.Value == turId.ToString()) { item.Selected = true; break; } } } } catch (Exception exc) { lMesaj.Text = "İşlem sırasında hata meydana geldi!" + exc.Message; } }
public void Add(OyunModel model) { var entity = new Oyun() { Adi = model.Adi.Trim(), Puani = model.Puani, Tarihi = model.Tarihi, YapimciId = model.YapimciId }; _db.Set <Oyun>().Add(entity); _db.SaveChanges(); model.Id = entity.Id; }
public void Add(OyunModel model) { Oyun entity = new Oyun() { Adi = model.Adi, Kazanci = model.Kazanci, Maliyeti = model.Maliyeti, YapimTarihi = model.YapimTarihi, YapimciId = model.YapimciId, OyunTurler = model.TurIdleri.Select(turId => new OyunTur() { TurId = turId }).ToList() }; _db.Oyunlar.Add(entity); _db.SaveChanges(); }
protected void lbDetay_Click(object sender, EventArgs e) { if (gvOyunlar.SelectedIndex == -1) { lMesaj.Text = " Kayıt seçiniz!"; return; } int id = Convert.ToInt32(gvOyunlar.SelectedRow.Cells[1].Text); OyunModel model = _oyunService.GetQuery().SingleOrDefault(oyun => oyun.Id == id); lAdiDetay.Text = model.Adi; lKazanciDetay.Text = model.Kazanci.HasValue ? model.Kazanci.Value.ToString("C2", new CultureInfo("tr")) : ""; lMaliyetiDetay.Text = model.Maliyeti.HasValue ? model.Maliyeti.Value.ToString("C2", new CultureInfo("tr")) : ""; lYapimTarihiDetay.Text = model.YapimTarihiFormat; lYapimciDetay.Text = model.Yapimci; lTurlerDetay.Text = model.TurlerText; pDetay.Visible = true; pEkle.Visible = false; pDuzenle.Visible = false; pYapimciDetay.Visible = false; pYapimciGuncelle.Visible = false; pYeniYapimciEkleme.Visible = false; }
protected void bKaydetDuzenleme_Click(object sender, EventArgs e) { try { if (gvOyunlar.SelectedIndex == -1) { lMesaj.Text = " Kayıt seçiniz!"; return; } if (string.IsNullOrWhiteSpace(tbAdiDuzenleme.Text)) { lMesaj.Text = "Adı girilmelidir."; return; } double?maliyeti = null, kazanci = null; if (!string.IsNullOrWhiteSpace(tbMaliyetiDuzenleme.Text)) { maliyeti = Convert.ToDouble(tbMaliyetiDuzenleme.Text.Replace(",", "."), CultureInfo.InvariantCulture); } if (!string.IsNullOrWhiteSpace(tbKazanciDuzenleme.Text)) { kazanci = Convert.ToDouble(tbKazanciDuzenleme.Text.Replace(",", "."), CultureInfo.InvariantCulture); } if (ddlYapimciDuzenleme.SelectedValue == "") { lMesaj.Text = "Yapımcı seçilmelidir."; return; } OyunModel model = new OyunModel() { Id = Convert.ToInt32(gvOyunlar.SelectedRow.Cells[1].Text), Adi = tbAdiDuzenleme.Text, Maliyeti = maliyeti, Kazanci = kazanci, YapimTarihi = cYapimTarihiDuzenleme.SelectedDate, YapimciId = Convert.ToInt32(ddlYapimciDuzenleme.SelectedValue) }; //model.TurIdleri = new List<int>(); //foreach (ListItem listItem in lbTurlerDuzenleme.Items) //{ // if (listItem.Selected) // { // model.TurIdleri.Add(Convert.ToInt32(listItem.Value)); // } //} model.TurIdleri = lbTurlerDuzenleme.Items.Cast <ListItem>().Where(item => item.Selected).Select(item => Convert.ToInt32(item.Value)).ToList(); _oyunService.Update(model); FillGrid(); pDuzenle.Visible = false; lMesaj.Text = "Oyun kaydedildi!"; } catch (FormatException exc) { lMesaj.Text = "Maliyeti ve kazancı sayısal olmalıdır!"; } catch (Exception exc) { lMesaj.Text = "İşlem sırasında hata meydana geldi!"; } }
protected void bKaydet_Click(object sender, EventArgs e) { try { if (string.IsNullOrWhiteSpace(tbAdi.Text)) { lMesaj.Text = "Adı girilmelidir."; return; } double?maliyeti = null, kazanci = null; //aynı tipteyken yanyana kullanabılırız. if (!string.IsNullOrWhiteSpace(tbMaliyeti.Text)) { //maliyeti = Convert.ToDouble(tbMaliyeti.Text.Replace(",", "."), new CultureInfo("en")); //alttakının aynısı. maliyeti = Convert.ToDouble(tbMaliyeti.Text.Replace(",", "."), CultureInfo.InvariantCulture); } if (!string.IsNullOrWhiteSpace(tbKazanci.Text)) { kazanci = Convert.ToDouble(tbKazanci.Text.Replace(",", "."), CultureInfo.InvariantCulture); } if (ddlYapimci.SelectedValue == "") { lMesaj.Text = "Yapımcı seçilmelidir."; return; } List <int> turIdleri = new List <int>(); //birden fazla seçilebilecegı ıcın ıtem ıtem donmem lazım. //int[] selectedIndices = lbTurler.GetSelectedIndices(); //2. Yöntem //for (int i = 0; i < selectedIndices.Length; i++) //{ // turIdleri.Add(Convert.ToInt32(lbTurler.Items[selectedIndices[i]].Value)); //} foreach (ListItem item in lbTurler.Items) //1. Yöntem { if (item.Selected) { turIdleri.Add(Convert.ToInt32(item.Value)); } } OyunModel model = new OyunModel() { Adi = tbAdi.Text, Maliyeti = maliyeti, Kazanci = kazanci, //YapimTarihi = cYapimTarihi.SelectedDate YapimciId = Convert.ToInt32(ddlYapimci.SelectedValue), TurIdleri = turIdleri }; if (cYapimTarihi.SelectedDates.Count > 0) { model.YapimTarihi = cYapimTarihi.SelectedDate; } _oyunService.Add(model); FillGrid(); pEkle.Visible = false; lMesaj.Text = "Oyun kaydedildi!"; //throw new IndexOutOfRangeException(); Hata yakalamak istersen bunu fırlat aşağıdaki catch yakalar. } catch (FormatException exc) //sayısal değer girmezse buraya atacak. Genel bir sorun varsa aşağıdakine atacak. { lMesaj.Text = "Maliyeti ve kazancı sayısal olmalıdır!"; } catch (Exception exc) { lMesaj.Text = "İşlem sırasında hata meydana geldi!"; } }