All pastes #1451120 Raw Edit

event dipatching

public text v1 · immutable
#1451120 ·published 2009-06-07 20:30 UTC
rendered paste body
package com.inspired.pefproject.command
{
	import com.adobe.cairngorm.business.ServiceLocator;
	import com.adobe.cairngorm.commands.ICommand;
	import com.adobe.cairngorm.control.CairngormEvent;
	import com.adobe.cairngorm.control.CairngormEventDispatcher;
	import com.inspired.pefproject.control.FileUpload;
	import com.inspired.pefproject.control.NewProductsDeliveryEvent;
	import com.inspired.pefproject.model.PEFModelLocator;
	import com.inspired.pefproject.views.Depots.clerk.ViewVesselDelivery;
	import com.inspired.pefproject.vo.CustomEvent;
	import com.inspired.pefproject.vo.ProductsDelivery;
	
	import flash.net.FileReference;
	
	import mx.controls.Alert;
	import mx.rpc.AsyncToken;
	import mx.rpc.IResponder;
	

	public class AddProductsDelivery implements ICommand, IResponder
	{
		private var evt:NewProductsDeliveryEvent
		//private var viewVesselDelivery:ViewVesselDelivery = model.viewVesselDeliveryForm;
	public function execute(event:CairngormEvent):void
		{
			evt = event as NewProductsDeliveryEvent
			var service:Object = ServiceLocator.getInstance().getRemoteObject("transactionService");
			var response:AsyncToken = service.processProductDeliveryForm(evt.productsDelivery);
			response.addResponder(this);
			
		}
		private var model:PEFModelLocator = PEFModelLocator.getInstance()
		public function result(data:Object):void
		{
			var args:Object = new Object();
			args.productType = evt.productsDelivery.productDetails.productType
			args.volume = evt.productsDelivery.volume
			ViewVesselDelivery.dispatchEvent( new CustomEvent('ProductChosen',args,true))
			model.allProductsDelivery.addItem(evt.productsDelivery)
			model.viewVesselDeliveryForm.productDeliverys.addItemAt( evt.productsDelivery,0)
			var userFile:FileReference
			var i:int
			try
			{
				var item:ProductsDelivery = data.result
				PEFModelLocator.getInstance().allProductsDelivery.addItem(item);
				for(i=0;i<model.allUploads.length;i++)
				{
					userFile = model.allUploads.getItemAt(i) as FileReference
					CairngormEventDispatcher.getInstance().dispatchEvent(new FileUpload(userFile))
				}
			}
			catch(e:Error)
			{
				
				//Alert.show(e.toString())
				//remove for block below on production version
				for(i=0;i<model.allUploads.length;i++)
				{
					userFile = model.allUploads.getItemAt(i) as FileReference
					CairngormEventDispatcher.getInstance().dispatchEvent(new FileUpload(userFile))
				}
			}
			
		}
		
		public function fault(info:Object):void
		{
			Alert.show("" +info.fault);
		}