public void SetEditMode(OdontogramEditMode mode) { if (checkedButton != null) { checkedButton.Checked = false; } switch (mode) { case OdontogramEditMode.None: checkedButton = null; break; case OdontogramEditMode.AddCavity: checkedButton = addCavityButton; break; case OdontogramEditMode.AddRestoration: checkedButton = addRestorationButton; break; case OdontogramEditMode.Eraser: checkedButton = eraserButton; break; default: break; } checkedButton.Checked = true; }
public OdontogramEntryPresenter(IDataRepository dataRepository, IOdontogramEntryPage page) { this.page = page; this.dataRepository = dataRepository; odontogramImagesCache = new Dictionary <string, Image>(); page.AddCavityClicked += (s, e) => { editMode = OdontogramEditMode.AddCavity; page.SetEditMode(editMode); }; page.AddRestorationClicked += (s, e) => { editMode = OdontogramEditMode.AddRestoration; page.SetEditMode(editMode); }; page.EraserClicked += (s, e) => { editMode = OdontogramEditMode.Eraser; page.SetEditMode(editMode); }; page.CanvasMouseUp += (s, e) => { var id = 0; switch (editMode) { case OdontogramEditMode.None: break; case OdontogramEditMode.AddCavity: id = dataRepository.Odontograms.GetNextIssueId(); var cavity = new Cavity(id, e); odontogramEntry.DentalIssues.Add(cavity); page.AddShapeToCanvas(cavity.Shape); dataRepository.Odontograms.AddOdontogramEntryIssue(odontogramEntry.Id, cavity); break; case OdontogramEditMode.AddRestoration: id = dataRepository.Odontograms.GetNextIssueId(); var restoration = new Restoration(id, e); odontogramEntry.DentalIssues.Add(restoration); page.AddShapeToCanvas(restoration.Shape); dataRepository.Odontograms.AddOdontogramEntryIssue(odontogramEntry.Id, restoration); break; case OdontogramEditMode.Eraser: break; default: break; } }; editMode = OdontogramEditMode.AddCavity; page.SetEditMode(editMode); }