private void RemoveRow(int id) { switch ((Types)tabControl1.SelectedIndex) { case Types.Family: var result = entities.family.Find(id); if (result != null) { entities.family.Remove(result); } break; case Types.Genus: var result2 = entities.genus.Find(id); if (result2 != null) { entities.genus.Remove(result2); } break; case Types.Species: var result3 = entities.species.Find(id); if (result3 != null) { entities.species.Remove(result3); } break; case Types.Synonym: var result4 = entities.synonym.Find(id); if (result4 != null) { entities.synonym.Remove(result4); } break; default: var result5 = entities.major.Find(id); if (result5 != null) { entities.major.Remove(result5); } break; } entities.SaveChanges(); }
public bool AddPlant(plant plant) { try { if (plant.speciesid == null) { return(false); } entities.plant.Add(plant); entities.SaveChanges(); return(true); } catch (Exception ex) { return(false); } }
private void cmbFamily_Leave(object sender, EventArgs e) { string old = lblFamily.Text.Replace("Familya: ", ""); string text = cmbFamily.Text.Trim(); if (text == string.Empty || text.Contains("DynamicProxies") || old == text) { return; } int id = -1; family f = entities.family.Where(x => x.name == text || x.name == text.Replace("I", "İ")).FirstOrDefault(); if (f == null) { DialogResult dr = MessageBox.Show(cmbFamily.Text + " isminde bir familya bulunamadı yanlış yazdıysanız hayıra basın ve düzeltin. Yanlışlık yoksa kayıt oluşturulsun mu?", "Family Bulunamadı", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2); if (dr == DialogResult.No) { cmbGenus.Enabled = false; cmbSpecies.Enabled = false; return; } family newFamily = new family(); newFamily.major = entities.major.ToList()[0]; newFamily.name = text; entities.family.Add(newFamily); entities.SaveChanges(); id = newFamily.id; Log.Debug("[Yeni Familya]: " + text, "ID:" + id + "\nMajor:" + newFamily.major.name + "\n->Familya:" + newFamily.name); } else { id = f.id; } cmbGenus.DataSource = entities.genus.Where(x => x.familyid == id).OrderBy(x => x.name).ToList(); cmbGenus.DisplayMember = "name"; cmbGenus.ValueMember = "id"; cmbGenus.Invalidate(); cmbGenus.Enabled = true; cmbGenus.Text = ""; cmbSpecies.Text = ""; lblFamily.Text = "Familya: " + cmbFamily.Text; lblFamily.Visible = true; lblSpeciesName.Text = string.Empty; }
public static void CreateLog(LogType type, string text, string details = null) { herbariumEntities entities = new herbariumEntities(); log log = new log() { datetime = DateTime.Now, user = UserBLL.ActiveUser is null ? null : entities.user.Find(UserBLL.ActiveUser.id), type = (int)type, logtext = text, details = details }; entities.log.Add(log); entities.SaveChanges(); }
public void Sil(user user) { entities.user.Remove(user); entities.SaveChanges(); }
private void RemoveRow(int id) { try { bool yasak; var list = entities.plant.Select(x => x.speciesid).ToList(); switch ((Types)tabControl1.SelectedIndex) { case Types.Family: var result = entities.family.Find(id); if (result != null) { //synonym sil entities.genus.Where(x => x.familyid == id).ToList().ForEach(x => entities.species.Where(y => y.genusid == x.id).ToList().ForEach(y => { yasak = list.IndexOf(y.id) != -1; if (yasak) { throw new Exception("Bu taksonomiye bağlı bitki kaydı bulunuyor. Önce bitkileri silmelisiniz!"); } entities.synonym.Where(z => z.speciesid == y.id).ToList().ForEach(q => { yasak = list.IndexOf(q.id) != -1; if (yasak) { throw new Exception("Bu taksonomiye bağlı bitki kaydı bulunuyor. Önce bitkileri silmelisiniz!"); } }); entities.synonym.RemoveRange(entities.synonym.Where(z => z.speciesid == y.id)); })); //tür sil entities.genus.Where(x => x.familyid == id).ToList().ForEach(x => entities.species.RemoveRange(entities.species.Where(y => y.genusid == x.id).ToList())); //cins sil entities.genus.RemoveRange(entities.genus.Where(x => x.familyid == id).ToList()); //family sil entities.family.Remove(result); } break; case Types.Genus: var result2 = entities.genus.Find(id); if (result2 != null) { //synonym sil entities.species.Where(x => x.genusid == id).ToList().ForEach(x => { yasak = list.IndexOf(x.id) != -1; if (yasak) { throw new Exception("Bu taksonomiye bağlı bitki kaydı bulunuyor. Önce bitkileri silmelisiniz!"); } entities.synonym.Where(y => y.speciesid == x.id).ToList().ForEach(y => { yasak = list.IndexOf(y.id) != -1; if (yasak) { throw new Exception("Bu taksonomiye bağlı bitki kaydı bulunuyor. Önce bitkileri silmelisiniz!"); } }); entities.synonym.RemoveRange(entities.synonym.Where(y => y.speciesid == x.id).ToList()); }); //tür sil entities.species.RemoveRange(entities.species.Where(x => x.genusid == id).ToList()); //cins sil entities.genus.Remove(result2); } break; case Types.Species: var result3 = entities.species.Find(id); if (result3 != null) { //synonym sil entities.synonym.Where(x => x.speciesid == id).ToList().ForEach(q => { yasak = list.IndexOf(q.id) != -1; if (yasak) { throw new Exception("Bu taksonomiye bağlı bitki kaydı bulunuyor. Önce bitkileri silmelisiniz!"); } }); entities.synonym.RemoveRange(entities.synonym.Where(x => x.speciesid == id).ToList()); //cins sil yasak = list.IndexOf(id) != -1; if (yasak) { throw new Exception("Bu taksonomiye bağlı bitki kaydı bulunuyor. Önce bitkileri silmelisiniz!"); } entities.species.Remove(result3); } break; case Types.Synonym: var result4 = entities.synonym.Find(id); if (result4 != null) { //synonym sil yasak = list.IndexOf(id) != -1; if (yasak) { throw new Exception("Bu taksonomiye bağlı bitki kaydı bulunuyor. Önce bitkileri silmelisiniz!"); } entities.synonym.Remove(result4); } break; default: var result5 = entities.major.Find(id); if (result5 != null) { //synonym sil entities.family.Where(x => x.majorid == id).ToList().ForEach(x => entities.genus.Where(y => y.familyid == x.id).ToList().ForEach(y => entities.species.Where(z => z.genusid == y.id).ToList().ForEach(z => { yasak = list.IndexOf(z.id) != -1; if (yasak) { throw new Exception("Bu taksonomiye bağlı bitki kaydı bulunuyor. Önce bitkileri silmelisiniz!"); } entities.synonym.Where(q => q.speciesid == z.id).ToList().ForEach(q => { yasak = list.IndexOf(q.id) != -1; if (yasak) { throw new Exception("Bu taksonomiye bağlı bitki kaydı bulunuyor. Önce bitkileri silmelisiniz!"); } }); entities.synonym.RemoveRange(entities.synonym.Where(q => q.speciesid == z.id).ToList()); }))); //tür sil entities.family.Where(x => x.majorid == id).ToList().ForEach(x => entities.genus.Where(y => y.familyid == x.id).ToList().ForEach(y => entities.species.RemoveRange(entities.species.Where(z => z.genusid == y.id).ToList()))); //cins sil entities.family.Where(x => x.majorid == id).ToList().ForEach(x => entities.genus.RemoveRange(entities.genus.Where(y => y.familyid == x.id).ToList())); //family sil entities.family.RemoveRange(entities.family.Where(x => x.majorid == id).ToList()); //major sil entities.major.Remove(result5); } break; } entities.SaveChanges(); GridView.Rows.Remove(GridView.CurrentRow); Log.Debug("[Silinen Taksonomi]: " + id, $"{id} numaralı ve {Enum.GetName(typeof(Types), (Types)tabControl1.SelectedIndex)} tipindeki taksonomi verisi {DateTime.Now.ToString()} tarihinde {UserBLL.ActiveUser.name} tarafından silindi."); } catch (Exception ex) { ShowMessage.Error("Silme işlemi başarısız oldu. Silmeye çalıştığınız taksonomi verisinin daha önce bir bitkide kullanılmadığından emin olun.\nHata detayları:\n" + ex.Message); Log.Error("[Taksonomi Silme Hatası]: " + ex.Message, ex); } }