Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
 /// <summary>
 /// Class constructor
 /// </summary>
 /// <param name="shapesRepo"></param>
 public ComputeAreaService(IShapesRepository shapesRepo)
 {
     _ShapesRepo = shapesRepo;
 }