/// <summary> /// Initializes a new instance of the SalaryViewModel class. /// This constructor is declared protected to avoid undesired instantiation of the SalaryViewModel type without the POCO proxy factory. /// </summary> /// <param name="unitOfWorkFactory">A factory used to create a unit of work instance.</param> /// <param name="calculationSalary">Class for calculationSalary salary</param> protected SalaryViewModel(IUnitOfWorkFactory <IMyDbContextUnitOfWork> unitOfWorkFactory = null, ICalculationSalary <IMyDbContextUnitOfWork> calculationSalary = null) : base(unitOfWorkFactory ?? UnitOfWorkSource.GetUnitOfWorkFactory(), x => x.Salaries, x => x.ToString()) { _calculationSalary = calculationSalary ?? CalculationSalarySource <IMyDbContextUnitOfWork> .CalculationSalaryFactory(UnitOfWork); }
/// <summary> /// Creates a new instance of SalaryViewModel as a POCO view model. /// </summary> /// <param name="unitOfWorkFactory">A factory used to create a unit of work instance.</param> /// <param name="calculationSalary">Class for calculationSalary salary</param> public static SalaryViewModel Create(IUnitOfWorkFactory <IMyDbContextUnitOfWork> unitOfWorkFactory = null, ICalculationSalary <IMyDbContextUnitOfWork> calculationSalary = null) { return(ViewModelSource.Create(() => new SalaryViewModel(unitOfWorkFactory, calculationSalary))); }