public interface IClass1Repository { void insert(Class1 class1); } public class Class1 { public object Id { get; set; } public string Name { get; set; } } public interface IClass1Service { void Insert(Class1 class1); } public class Class1Service : IClass1Service { public IClass1Repository _repo { get; set; } public Class1Service(IClass1Repository repo) { _repo = repo; } public void Insert(Class1 class1) { if (class1 == null) throw new Exception("class1 is null"); if (string.IsNullOrWhiteSpace(class1.Name)) throw new Exception("class1 Name Cannot Be Null"); _repo.insert(class1); } }
public interface ISecondClassRepository { void insert(SecondClass secondClass); } public class SecondClass { public object Id { get; set; } public Class1 Class1 { get; set; } // Some Other Props } public class SecondClassService { ISecondClassRepository _repo; IClass1Service _class1Service; public SecondClassService(ISecondClassRepository repo,IClass1Service class1Service) { _repo = repo; _class1Service = class1Service; } public void Insert(SecondClass secondClass) { _class1Service.Insert(secondClass.Class1); _repo.insert(secondClass); } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)