//public void Add(string geo1Name, string geo2Name, string geo3Name) //{ // //Geo1 // if (string.IsNullOrEmpty(geo1Name) // || string.IsNullOrEmpty(geo1Name.Trim())) return; // Geo geo1 = Get(geo1Name, 1, null); // if (geo1 == null) // geo1 = Add(geo1Name, 1, null); // //Geo2 // if (string.IsNullOrEmpty(geo2Name) // || string.IsNullOrEmpty(geo2Name.Trim())) return; // Geo geo2 = Get(geo2Name, 2, geo1ID); // Guid? geo2ID = geo2 != null ? geo2.ID : Insert(geo2Name, 2, geo1ID); // //Geo3 // if (string.IsNullOrEmpty(geo3Name) // || string.IsNullOrEmpty(geo3Name.Trim())) return; // Geo geo3 = Get(geo3Name, 3, geo2ID); // Guid? geo3ID = geo3 != null ? geo3.ID : Insert(geo3Name, 3, geo2ID); //} // Persistence public static void SetFullname(Geo e) { if (e.Level == 1) { e.FullName = e.Name; } if (e.Level == 2) { e.FullName = e.Name + ", " + e.Parent.Name; } if (e.Level == 3) { e.FullName = e.Name + ", " + e.Parent.Name + ", " + e.Parent.Parent.Name; } }
/// <summary> /// Create a new Geo object. /// </summary> /// <param name="id">Initial value of the ID property.</param> public static Geo CreateGeo(global::System.Guid id) { Geo geo = new Geo(); geo.ID = id; return geo; }
/// <summary> /// Deprecated Method for adding a new object to the Geos EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToGeos(Geo geo) { base.AddObject("Geos", geo); }
// Add/Delete //public Geo Add(string name, int level, Guid? parentID) //{ // Geo geo = new Geo(); // geo.Name = name.Trim(); // geo.Level = level; // geo.ParentID = parentID; // DB.Geos.AddObject(geo); // return geo; //} public Geo Add(Action<Geo> updateMethod) { Geo e = new Geo(); e.ID = Guid.NewGuid(); updateMethod(e); DB.Geos.AddObject(e); e.Level = e.Parent == null ? 1 : e.Parent.Level + 1; UpdateFullnameRecursive(e); Save(); return e; }
public void UpdateFullnameRecursive(Geo e) { SetFullname(e); e.FullNameNoDiacritics = e.FullName.RemoveDiacritics(); foreach (var item in e.Children) { UpdateFullnameRecursive(item); } }
public string GetFullname(Geo geo1, Geo geo2, Geo geo3) { return geo3 != null ? geo3.FullName : geo2 != null ? geo2.FullName : geo1 != null ? geo1.FullName : ""; }
public void Delete(Geo e) { DB.Geos.DeleteObject(e); }