source: EDIS/trunk/java/tracking-ui-core/src/main/flex/gov/va/med/edp/command/RemoveLogEntryCommand.as@ 1227

Last change on this file since 1227 was 1227, checked in by George Lilly, 13 years ago

initial load of EDIS 1.0

File size: 2.4 KB
Line 
1/* RemoveLogEntryCommand.as */
2
3package gov.va.med.edp.command
4{
5 import com.adobe.cairngorm.commands.ICommand;
6 import com.adobe.cairngorm.control.CairngormEvent;
7
8 import gov.va.med.edp.business.RemoveLogEntryDelegate;
9 import gov.va.med.edp.control.RemoveLogEntryEvent;
10 import gov.va.med.edp.factory.TrackingFactory;
11 import gov.va.med.edp.model.TrackingModelLocator;
12 import gov.va.med.edp.widget.InfoDialog;
13
14 import mx.collections.ArrayCollection;
15 import mx.collections.Sort;
16 import mx.collections.SortField;
17 import mx.rpc.IResponder;
18 import mx.rpc.events.FaultEvent;
19 import mx.rpc.events.ResultEvent;
20
21 public class RemoveLogEntryCommand extends AbstractResponderCommand implements ICommand, IResponder
22 {
23 private var model:TrackingModelLocator = TrackingModelLocator.getInstance();
24
25 public function execute(event:CairngormEvent):void
26 {
27 var delegate:RemoveLogEntryDelegate = new RemoveLogEntryDelegate(this);
28 var removeEvent: RemoveLogEntryEvent = RemoveLogEntryEvent(event);
29
30 delegate.removeLogEntry(model.logEdit.entry, model.logArea);
31 model.logEdit.dirty = false;
32 }
33
34 public override function result(data:Object):void
35 {
36 var xml:XML = ResultEvent(data).result as XML;
37
38 // bail if the update of the changed log entry failed
39 if (xml.upd.@status == "fail") {
40 InfoDialog.show("Removal of log entry failed.\n" + xml.upd.@msg);
41 return;
42 }
43
44 // clear the current record
45 model.logEdit.resetEntry();
46 model.logEdit.message = "Patient removed from board.";
47 model.logEntryViewState = TrackingModelLocator.VIEW_EDIT_MESSAGE;
48 model.logEntryList.selectedIndex = -1;
49 model.logEntryList.selectedID = 0;
50
51 // refresh the list of log entries
52 model.logEntryList.entries =
53 new ArrayCollection(TrackingFactory.buildLogSelectorListFromXML(xml.logEntries.log));
54 model.logEntryList.token = xml.logEntries.@token;
55
56 // sort based on previous settings
57 if (model.logEntryList.sortField.length > 0) {
58 var sort:Sort = new Sort();
59 sort.fields = [new SortField(model.logEntryList.sortField, true, model.logEntryList.sortDescending)];
60 model.logEntryList.entries.sort = sort;
61 model.logEntryList.entries.refresh();
62 }
63 }
64
65 protected override function getFaultMessage(faultEvent:FaultEvent):String {
66 return "Remove patient entry failed: " + super.getFaultMessage(faultEvent);
67 }
68
69 }
70}
Note: See TracBrowser for help on using the repository browser.