public string GetPhone(BuildingEntities db) { string result = null; var cp = db.ContactPersons.Find(val => val.ContractorID == this.ID && val.IsMain).ToList().FirstOrDefault(val => val.EntityState != System.Data.EntityState.Deleted); if (cp != null) { result = cp.Phone; } if (result.IsNotNullOrEmpty()) { return(result); } if (TypeID == (int)BuildingEntities.ContractorTypesEnum.Company) { LegalDetail details = this.LegalDetails.FirstOrDefault(); return(details != null ? details.Phone : string.Empty); } else { PhysicalDetail details = this.PhysicalDetails.FirstOrDefault(); return(details != null ? details.Phone : string.Empty); } }
public string GetEmail(BuildingEntities db) { string result = null; var cp = db.ContactPersons.Find(val => val.ContractorID == this.ID && val.IsMain).ToList().FirstOrDefault(val => val.EntityState != System.Data.EntityState.Deleted); if (cp != null) { result = string.Join(";", cp.Contacts.Where(val => val.ContactType.SysName.Contains("email") && val.Text.IsNotNullOrEmpty()).Select(val => val.Text)); } if (result.IsNotNullOrEmpty()) { return(result); } if (TypeID == (int)BuildingEntities.ContractorTypesEnum.Person) { PhysicalDetail details = this.PhysicalDetails.FirstOrDefault(); result = details != null ? details.Email : string.Empty; } if (result.IsNotNullOrEmpty() && Users.Any()) { return(string.Join(";", Users.Select(val => val.Email))); } return(result); }