/// <summary> /// Constructor for building a new object with MinimalConstructor required fields, using objects whenever possible /// </summary> public DelineationOverlap(Delineation delineation, Delineation overlappingDelineation, DbGeometry overlappingGeometry) : this() { // Mark this as a new object by setting primary key with special value this.DelineationOverlapID = ModelObjectHelpers.MakeNextUnsavedPrimaryKeyValue(); this.DelineationID = delineation.DelineationID; this.Delineation = delineation; delineation.DelineationOverlaps.Add(this); this.OverlappingDelineationID = overlappingDelineation.DelineationID; this.OverlappingDelineation = overlappingDelineation; overlappingDelineation.DelineationOverlapsWhereYouAreTheOverlappingDelineation.Add(this); this.OverlappingGeometry = overlappingGeometry; }
/// <summary> /// The preference over delete-full for delineation. Nulls the DelineationID on any LGUs, /// deletes any overlaps, deletes the delineation itself, and marks the delineation's /// TreatmentBMP for a model run. /// </summary> /// <param name="treatmentBMPDelineation"></param> /// <param name="dbContext"></param> public static void DeleteDelineation(this Delineation treatmentBMPDelineation, DatabaseEntities dbContext) { var treatmentBMP = treatmentBMPDelineation.TreatmentBMP; foreach (var delineationLoadGeneratingUnit in treatmentBMPDelineation.LoadGeneratingUnits) { delineationLoadGeneratingUnit.DelineationID = null; } dbContext.SaveChanges(); dbContext.DelineationOverlaps.DeleteDelineationOverlap(treatmentBMPDelineation .DelineationOverlaps); dbContext.DelineationOverlaps.DeleteDelineationOverlap(treatmentBMPDelineation .DelineationOverlapsWhereYouAreTheOverlappingDelineation); dbContext.Delineations.DeleteDelineation(treatmentBMPDelineation); dbContext.SaveChanges(); NereidUtilities.MarkTreatmentBMPDirty(treatmentBMP, dbContext); }
public static void DeleteDelineation(this IQueryable <Delineation> delineations, Delineation delineationToDelete) { DeleteDelineation(delineations, new List <Delineation> { delineationToDelete }); }
public static HtmlString GetDetailUrlForGrid(this Delineation delineation) { return(UrlTemplate.MakeHrefString(GetDetailUrl(delineation), "View", new Dictionary <string, string> { { "class", "gridButton" } })); }
public static string GetDetailUrl(this Delineation delineation) { return(delineation.TreatmentBMP.GetDelineationMapUrl()); }
public static string GetDeleteUrl(this Delineation delineation) { return(DeleteUrlTemplate.ParameterReplace(delineation.DelineationID)); }
public static string GetDelineationAreaString(this Delineation delineation) { var delineationAcresAsString = (delineation?.DelineationGeometry.Area * DbSpatialHelper.SquareMetersToAcres)?.ToString("0.00"); return(delineationAcresAsString != null ? $"{delineationAcresAsString} ac" : "-"); }
public static double?GetDelineationArea(this Delineation delineation) { return(delineation?.DelineationGeometry.Area != null ? (double?)Math.Round(delineation.DelineationGeometry.Area.Value * DbSpatialHelper.SquareMetersToAcres, 2) : null); }
/// <summary> /// Creates a "blank" object of this type and populates primitives with defaults /// </summary> public static DelineationOverlap CreateNewBlank(Delineation delineation, Delineation overlappingDelineation) { return(new DelineationOverlap(delineation, overlappingDelineation, default(DbGeometry))); }