/// <summary> /// Class constructor /// </summary> /// <param name="shapeRepo"></param> public AddShapeViewModel(IShapesRepository shapeRepo) { //get all types that implement IShape ShapeTypes = ReflectionExtensions.GetTypes(typeof(IShape).GetTypeInfo().Assembly) .Where(t => ReflectionExtensions.IsAssignableFrom(typeof(IShape), t) && t != typeof(IShape)) .ToList(); _ShapeRepo = shapeRepo; AddShapeCommand = new MvxCommand <Type>(AddShape); CancelCommand = new MvxCommand(Cancel); }
/// <summary> /// Class constructor /// </summary> /// <param name="shapeRepo"></param> /// <param name="computeAreaService"></param> /// <param name="submissionService"></param> public ShapesViewModel(IShapesRepository shapeRepo, IComputeAreaService computeAreaService, ISubmissionService submissionService) { _ShapesRepo = shapeRepo; _ComputeAreaService = computeAreaService; _SubmissionService = submissionService; AddShapeCommand = new MvxCommand(AddShape); RemoveShapeCommand = new MvxCommand(RemoveSelectedShape); ComputeAreaCommand = new MvxCommand(ComputeTotalArea); SubmitAreaCommand = new MvxCommand(async() => await SubmitAreaAsync(), CanSubmitArea); }
/// <summary> /// Class constructor /// </summary> /// <param name="shapesRepo"></param> public ComputeAreaService(IShapesRepository shapesRepo) { _ShapesRepo = shapesRepo; }