public bool AddRecordToRepo(LandingSite ls) { if (ls == null) { throw new ArgumentNullException("Error: The argument is Null"); } LandingSiteCollection.Add(ls); return(_editSuccess); }
public void DeleteRecordFromRepo(LandingSite ls) { if (ls == null) { throw new Exception("Landing site cannot be null"); } int index = 0; while (index < LandingSiteCollection.Count) { if (LandingSiteCollection[index].ID == ls.ID) { LandingSiteCollection.RemoveAt(index); break; } index++; } }
public bool UpdateRecordInRepo(LandingSite ls) { if (ls == null) { throw new Exception("Error: Landing site cannot be null"); } int index = 0; while (index < LandingSiteCollection.Count) { if (LandingSiteCollection[index].ID == ls.ID) { LandingSiteCollection[index] = ls; break; } index++; } return(_editSuccess); }
private void LandingSiteCollection_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { _editSuccess = false; switch (e.Action) { case NotifyCollectionChangedAction.Add: { int newIndex = e.NewStartingIndex; LandingSite newLandingSite = LandingSiteCollection[newIndex]; if (LandingSites.Add(newLandingSite)) { CurrentEntity = newLandingSite; _editSuccess = true; } } break; case NotifyCollectionChangedAction.Remove: { List <LandingSite> tempListOfRemovedItems = e.OldItems.OfType <LandingSite>().ToList(); if (LandingSites.Delete(tempListOfRemovedItems[0].ID)) { _editSuccess = true; CurrentEntity = null; } } break; case NotifyCollectionChangedAction.Replace: { List <LandingSite> tempList = e.NewItems.OfType <LandingSite>().ToList(); if (LandingSites.Update(tempList[0])) { _editSuccess = true; CurrentEntity = tempList[0]; } } break; } }
private List <LandingSite> getLandingSites() { List <LandingSite> list = new List <LandingSite>(); var dt = new DataTable(); using (var conection = new OleDbConnection(Global.ConnectionString)) { try { conection.Open(); string query = $"Select * from landing_sites"; var adapter = new OleDbDataAdapter(query, conection); adapter.Fill(dt); if (dt.Rows.Count > 0) { list.Clear(); foreach (DataRow dr in dt.Rows) { LandingSite ls = new LandingSite(); if (double.TryParse(dr["lat"].ToString(), out double lat)) { ls.Lat = lat; } if (double.TryParse(dr["lon"].ToString(), out double lon)) { ls.Lon = lon; } ls.Name = dr["Name"].ToString(); ls.Municipality = dr["Municipality"].ToString(); ls.Province = dr["Province"].ToString(); ls.ID = int.Parse(dr["ID"].ToString()); list.Add(ls); } } } catch (OleDbException dbex) { switch (dbex.ErrorCode) { case -2147217865: CreateTable(); break; default: Logger.Log(dbex); break; } } catch (Exception ex) { switch (ex.HResult) { case -2147024809: if (ModifyTable()) { return(getLandingSites()); } break; default: Logger.Log(ex); break; } } return(list); } }
public bool Update(LandingSite ls) { bool success = false; using (OleDbConnection conn = new OleDbConnection(Global.ConnectionString)) { conn.Open(); using (OleDbCommand cmd = conn.CreateCommand()) { cmd.Parameters.Add("@name", OleDbType.VarChar).Value = ls.Name; cmd.Parameters.Add("@mun", OleDbType.VarChar).Value = ls.Municipality; cmd.Parameters.Add("@prov", OleDbType.VarChar).Value = ls.Province; if (ls.Lat == null) { cmd.Parameters.Add("@lat", OleDbType.Double).Value = DBNull.Value; } else { cmd.Parameters.Add("@lat", OleDbType.Double).Value = ls.Lat; } if (ls.Lon == null) { cmd.Parameters.Add("@lon", OleDbType.Double).Value = DBNull.Value; } else { cmd.Parameters.Add("@lon", OleDbType.Double).Value = ls.Lon; } cmd.Parameters.Add("@id", OleDbType.Integer).Value = ls.ID; //if (ls.Lat != null && ls.Lon != null) //{ cmd.CommandText = @"UPDATE landing_sites set Name = @name, Municipality = @mun, Province = @prov, Lat = @lat, Lon = @lon WHERE ID = @id"; //} //else //{ // cmd.CommandText = @"UPDATE landing_sites set // Name = @name, // Municipality = @mun, // Province = @prov // WHERE ID = @id"; //} try { success = cmd.ExecuteNonQuery() > 0; } catch (OleDbException dbex) { Logger.Log(dbex); } catch (Exception ex) { Logger.Log(ex); } } } return(success); }
public bool Add(LandingSite ls) { bool success = false; using (OleDbConnection conn = new OleDbConnection(Global.ConnectionString)) { conn.Open(); //var sql = ""; var sql = $@"Insert into landing_sites(ID, Name, Lat, Lon, Municipality, Province) Values (?, ?, ?, ?, ?, ?)"; using (OleDbCommand update = new OleDbCommand(sql, conn)) { update.Parameters.Add("@id", OleDbType.Integer).Value = ls.ID; update.Parameters.Add("@name", OleDbType.VarChar).Value = ls.Name; if (ls.Lat == null) { update.Parameters.Add("@lat", OleDbType.Double).Value = DBNull.Value; } else { update.Parameters.Add("@lat", OleDbType.Double).Value = ls.Lat; } if (ls.Lon == null) { update.Parameters.Add("@lon", OleDbType.Double).Value = DBNull.Value; } else { update.Parameters.Add("@lon", OleDbType.Double).Value = ls.Lon; } update.Parameters.Add("@mun", OleDbType.VarChar).Value = ls.Municipality; update.Parameters.Add("@prov", OleDbType.VarChar).Value = ls.Province; try { success = update.ExecuteNonQuery() > 0; } catch (OleDbException dbex) { switch (dbex.HResult) { case -2147217900: if (ModifyTable()) { return(Add(ls)); } break; } } catch (Exception ex) { Logger.Log(ex); } } } return(success); }