// Hook event public void Init(IslAppContext appContext, IslsForm form) { switch (form.GetType().ToString()) { case "Glx.WUI.CO.CommercialEntry.gxPurchaseEntryF": _appContext = appContext; _form = form; (_form as gxPurchaseEntryF).Items.PreviewPropertyChanged += new EventHandler<slEventArgs<slPreviewPropChangedArgs>>(Items_PreviewPropertyChanged); break; default: break; } }
// Hook event public void Init(IslAppContext appContext, IslsForm form) { switch (form.GetType().ToString()) { case "Glx.WUI.CO.CommercialEntry.gxSalesEntryF": _form = form; _appContext = appContext; (_form as gxSalesEntryF).Items.PreviewPropertyChanged += Items_PreviewPropertyChanged; break; default: break; } }
// Add custom action to user menu public Dictionary<string, string> GetLinks(IslAppContext appContext, IslsForm form) { Dictionary<string, string> dc = null; switch (form.GetType().ToString()) { case "Glx.WUI.CO.CommercialEntry.gxSalesEntryF": case "Glx.WUI.CO.CommercialEntry.gxPurchaseEntryF": dc = new Dictionary<string, string>(); dc.Add(cmdSNEntry, infnvObjectNames.sObjSNEntry); dc.Add(cmdSNEntryExcel, infnvObjectNames.sObjSNEntry + " - " + infnvResources.sEntryExcel); break; case "Glx.WUI.CO.ItemEntry.gxItemEntryF": dc = new Dictionary<string, string>(); dc.Add(cmdSNEntry, infnvObjectNames.sObjSNEntry); dc.Add(cmdSNEntryComposite, infnvObjectNames.sObjSNEntry + " - " + infnvResources.sComposite); dc.Add(cmdSNEntryExcel, infnvObjectNames.sObjSNEntry + " - " + infnvResources.sEntryExcel); dc.Add(cmdSNEntryExcelComposite, infnvObjectNames.sObjSNEntry + " - " + infnvResources.sEntryExcelComposite); break; default: break; } return dc; }
// Handle custom action execution public void ExecuteLink(IslAppContext appContext, IslsForm form, string command) { switch (form.GetType().ToString()) { case "Glx.WUI.CO.CommercialEntry.gxSalesEntryF": case "Glx.WUI.CO.CommercialEntry.gxPurchaseEntryF": if (command == cmdSNEntry) { // Get commercail entry lines collection current item var bsCenl = slsBaseF.GetDataSources(form)["bsItemLines"]; if (bsCenl.Current != null) { var cenlObj = (bsCenl.Current as slObjectView<gxCommercEntryLinesDataObject>).DataObjectItem; if (cenlObj != null) { // Prepare args var fArgs = new slsFormArgs(); fArgs.NamedArgs["Item"] = String.Format("{0} - {1}", cenlObj.ItemCode, cenlObj.ItemDescr); // Open form var fa = appContext.ServiceLocator.GetService<IslsFormActivator>(); using (var f = fa.CreateForm(infnvSys.GetRegName(infnvObjRegName.SNEntry), fArgs)) if (f.ShowDialog(form) == slsDialogResult.OK) { var entries = (f as infnvSNEntryF).Entries; foreach (var item in entries) AddSerialNumber(cenlObj, appContext, item); } } } } else if (command == cmdSNEntryExcel) { // Get commercail entry lines collection current item var bsCenl = slsBaseF.GetDataSources(form)["bsItemLines"]; if (bsCenl.Current != null) { var cenlObj = (bsCenl.Current as slObjectView<gxCommercEntryLinesDataObject>).DataObjectItem; if (cenlObj != null) { // Prepare args var fArgs = new slsFormArgs(); fArgs.NamedArgs["Item"] = String.Format("{0} - {1}", cenlObj.ItemCode, cenlObj.ItemDescr); // Select file var path = GetFilePath(); if (path !=String.Empty) { var list = PopulateFromXls(path); foreach(var sn in list) { AddSerialNumber(cenlObj, appContext, sn); } } } } } break; case "Glx.WUI.CO.ItemEntry.gxItemEntryF": if (command == cmdSNEntry || command == cmdSNEntryComposite) { // Get commercail entry lines collection current item var bsIenl = slsBaseF.GetDataSources(form)["bsItemLines"]; if (bsIenl.Current != null) { gxItemEntryLinesDataObject ienlObj = null; if (command == cmdSNEntry) ienlObj = (bsIenl.Current as slObjectView<gxItemEntryLinesDataObject>).DataObjectItem; if (command == cmdSNEntryComposite) { var col = (bsIenl.DataSource as slBindingCollectionView<gxItemEntryLinesDataObject>).Collection as gxItemEntryLinesCollection; ienlObj = col.Find(i => i.Linenum == -1); } if (ienlObj != null) { // Prepare args var fArgs = new slsFormArgs(); fArgs.NamedArgs["Item"] = String.Format("{0} - {1}", ienlObj.ItemCode, ienlObj.ItemDescr); // Open form var fa = appContext.ServiceLocator.GetService<IslsFormActivator>(); using (var f = fa.CreateForm(infnvSys.GetRegName(infnvObjRegName.SNEntry), fArgs)) if (f.ShowDialog(form) == slsDialogResult.OK) { var entries = (f as infnvSNEntryF).Entries; foreach (var item in entries) AddSerialNumber(ienlObj, appContext, item); } } } } else if (command == cmdSNEntryExcel || command == cmdSNEntryExcelComposite) { // Get commercail entry lines collection current item var bsIenl = slsBaseF.GetDataSources(form)["bsItemLines"]; if (bsIenl.Current != null) { gxItemEntryLinesDataObject ienlObj = null; //var ienlObj = (bsIenl.Current as slObjectView<gxItemEntryLinesDataObject>).DataObjectItem; if (command == cmdSNEntryExcel) ienlObj = (bsIenl.Current as slObjectView<gxItemEntryLinesDataObject>).DataObjectItem; if (command == cmdSNEntryExcelComposite) { var col = (bsIenl.DataSource as slBindingCollectionView<gxItemEntryLinesDataObject>).Collection as gxItemEntryLinesCollection; ienlObj = col.Find(i => i.Linenum == -1); } if (ienlObj != null) { // Prepare args var fArgs = new slsFormArgs(); fArgs.NamedArgs["Item"] = String.Format("{0} - {1}", ienlObj.ItemCode, ienlObj.ItemDescr); // Select file var path = GetFilePath(); if (path !=String.Empty) { var list = PopulateFromXls(path); foreach (var sn in list) { AddSerialNumber(ienlObj, appContext, sn); } } } } } break; default: break; } }