using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Tango.BL.Entities { public class Site : SiteBase { public override void Delete(ObservablesContext context) { base.Delete(context); var site_rmls = context.SitesRmls.Where(x => x.SiteGuid == Guid).ToList(); var site_catalogs = context.SitesCatalogs.Where(x => x.SiteGuid == Guid).ToList(); context.SitesRmls.RemoveRange(site_rmls); context.SitesCatalogs.RemoveRange(site_catalogs); context.Machines.Where(x => x.SiteGuid == Guid).ToList().ForEach(x => x.SiteGuid = null); context.Sites.Remove(this); } protected override void OnValidating(ObservablesContext context) { base.OnValidating(context); if (String.IsNullOrWhiteSpace(Name)) { InsertError(nameof(Name), "Site name is required"); } if (Name != null && Name.Length > 100) { InsertError(nameof(Name), "The site name exceeds the maximum allowed characters."); } if (Description != null && Description.Length > 200) { InsertError(nameof(Description), "The site description exceeds the maximum allowed characters."); } if (OrganizationGuid == null) { InsertError(nameof(OrganizationGuid), "Site organization is required."); } } } }