private void onCreateMessageTemplates(object sender, EventArgs e) { TraceEvent("Entering ClearThroughCustoms.onCreateMessageTemplates", 46, TraceSeverity.Monitorable); try { string _MasterDocumentName = String.Empty; using (Entities _entities = new Entities(workflowProperties.WebUrl)) { DisposalRequestLib _Dr = Element.GetAtIndex <DisposalRequestLib>(_entities.DisposalRequestLibrary, workflowProperties.ItemId); foreach (CustomsWarehouseDisposal _cwdx in _Dr.CustomsWarehouseDisposal(_entities, false)) { if (_cwdx.CustomsStatus.Value != CustomsStatus.NotStarted) { continue; } Clearence _newClearance = Clearence.CreataClearence(_entities, "Customs Warehouse Withdraw", _Dr.ClearenceProcedure.Value, TraceEvent); _cwdx.CWL_CWDisposal2ClearanceID = _newClearance; _cwdx.CustomsStatus = CustomsStatus.Started; if (_cwdx.CWL_CWDisposal2CustomsWarehouseID.TobaccoNotAllocated.Value > 0 || _cwdx.CWL_CWDisposal2CustomsWarehouseID.CustomsWarehouseDisposal(_entities, false).Where <CustomsWarehouseDisposal>(x => x.CustomsStatus.Value == CustomsStatus.NotStarted).Any <CustomsWarehouseDisposal>()) { _cwdx.ClearingType = ClearingType.PartialWindingUp; } else { _cwdx.ClearingType = ClearingType.TotalWindingUp; _cwdx.TobaccoValue += _cwdx.CWL_CWDisposal2CustomsWarehouseID.Value.Value - _cwdx.CWL_CWDisposal2CustomsWarehouseID.CustomsWarehouseDisposal(_entities, false).Sum <CustomsWarehouseDisposal>(x => x.TobaccoValue.Value); _cwdx.TobaccoValue = _cwdx.TobaccoValue.Value.RoundValue(); _cwdx.CW_SettledNetMass += _cwdx.CWL_CWDisposal2CustomsWarehouseID.CW_Quantity.Value - _cwdx.CWL_CWDisposal2CustomsWarehouseID.CustomsWarehouseDisposal(_entities, false).Sum <CustomsWarehouseDisposal>(x => x.CW_SettledNetMass.Value); _cwdx.CW_SettledNetMass = _cwdx.CW_SettledNetMass.Value.RoundValue(); _cwdx.CW_SettledGrossMass += _cwdx.CWL_CWDisposal2CustomsWarehouseID.GrossMass.Value - _cwdx.CWL_CWDisposal2CustomsWarehouseID.CustomsWarehouseDisposal(_entities, false).Sum <CustomsWarehouseDisposal>(x => x.CW_SettledGrossMass.Value); _cwdx.CW_SettledGrossMass = _cwdx.CW_SettledGrossMass.Value.RoundValue(); } _MasterDocumentName = _newClearance.SADTemplateDocumentNameFileName(_entities); SAD _sad = CraeteSAD(_entities, _cwdx, _MasterDocumentName); TraceEvent(" ClearThroughCustoms.onCreateMessageTemplates at File.CreateXmlFile", 4756, TraceSeverity.Monitorable); SPFile _newFile = File.CreateXmlFile <SAD>(workflowProperties.Web, _sad, _MasterDocumentName, SADConsignment.IPRSADConsignmentLibraryTitle, SAD.StylesheetNmane); SADConsignment _sadConsignment = Element.GetAtIndex <SADConsignment>(_entities.SADConsignment, _newFile.Item.ID); _sadConsignment.Archival = true; _newClearance.SADConsignmentLibraryIndex = _sadConsignment; TraceEvent(" ClearThroughCustoms.onCreateMessageTemplates at SubmitChanges", 80, TraceSeverity.Monitorable); _entities.SubmitChanges(); } } logToHistoryListActivity_HistoryOutcome = "Success"; logToHistoryListActivity_HistoryDescription = String.Format("Document {0} created successfully", _MasterDocumentName); } catch (Exception _ex) { logToHistoryListActivity_HistoryOutcome = "Exception"; logToHistoryListActivity_HistoryDescription = _ex.Message; TraceEvent(String.Format("Exception {0} at ClearThroughCustoms.onCreateMessageTemplates: {1}; StackTrace: {2}", _ex.GetType().Name, _ex.Message, _ex.StackTrace), 46, TraceSeverity.High); } TraceEvent("Finishing ClearThroughCustoms.onCreateMessageTemplates", 98, TraceSeverity.Monitorable); }
private GenericStateMachineEngine.ActionResult ClearThroughCustom() { try { Entities _edc = m_DataContextManagement.DataContext; string _masterDocumentName = CurrentClearance.FinishedGoodsExportFormFileName(_edc); int _sadConsignmentIdentifier = default(int); Func <IEnumerable <Disposal> > _dspslLst = () => CurrentClearance.Disposal(_edc); switch (ToSelectedGroup(CurrentClearance.ProcedureCode)) { case Group.Tobacco: case Group.TobaccoNotAllocated: DocumentContent _newTobaccoDoc = DisposalsFormFactory.GetTobaccoFreeCirculationFormContent(_dspslLst(), CurrentClearance.ClearenceProcedure.Value, _masterDocumentName); _sadConsignmentIdentifier = SPDocumentFactory.Prepare(SPContext.Current.Web, _newTobaccoDoc, _masterDocumentName, CompensatiionGood.Tobacco); break; case Group.Waste: case Group.Dust: DocumentContent _newDustWasteDoc = DisposalsFormFactory.GetDustWasteFormContent(_dspslLst(), CurrentClearance.ClearenceProcedure.Value, _masterDocumentName); CompensatiionGood _compensatiionGood = SelectedGroup == Group.Waste ? CompensatiionGood.Waste : CompensatiionGood.Dust; _sadConsignmentIdentifier = SPDocumentFactory.Prepare(SPContext.Current.Web, _newDustWasteDoc, _masterDocumentName, _compensatiionGood); break; case Group.Cartons: DocumentContent _newBoxFormContent = DisposalsFormFactory.GetBoxFormContent(_dspslLst(), CurrentClearance.ClearenceProcedure.Value, _masterDocumentName); _sadConsignmentIdentifier = SPDocumentFactory.Prepare(SPContext.Current.Web, _newBoxFormContent, _masterDocumentName, CompensatiionGood.Cartons); break; } SADConsignment _sadConsignment = Element.GetAtIndex <SADConsignment>(_edc.SADConsignment, _sadConsignmentIdentifier); CurrentClearance.ClearThroughCustom(_edc, _sadConsignment, (x, y, z) => { }); //TODO implement tracing _edc.SubmitChanges(); Response.Redirect(Request.RawUrl); return(GenericStateMachineEngine.ActionResult.Success); } catch (GenericStateMachineEngine.ActionResult _ar) { return(_ar); } catch (Exception ex) { return(GenericStateMachineEngine.ActionResult.Exception(ex, "ClearThroughCustom")); } }
private GenericStateMachineEngine.ActionResult Export() { TraceEvent("Entering ExportWebPartUserControl.Export", 578, TraceSeverity.Monitorable); foreach (InvoiceContent item in m_ControlState.Invoice.InvoiceContent(m_DataContextManagement.DataContext)) { //TODO ExportIsPossible - improve for many invoice content with the same FG batch groups by batch must be checked against possible export string _checkResult = item.ExportIsPossible(m_DataContextManagement.DataContext, item.Quantity); if (_checkResult.IsNullOrEmpty()) { TraceEvent(String.Format("Checked Item {0}", item.Title), 585, TraceSeverity.Verbose); continue; } Controls.Add(ControlExtensions.CreateMessage(_checkResult)); m_ControlState.InvoiceContent = item; string _ms = "CannotProceedWithExportBecauseTheInvoiceItemContainsErrors".GetLocalizedString(); _ms = String.Format(_ms, item.Title); TraceEvent(_ms, 592, TraceSeverity.Verbose); return(GenericStateMachineEngine.ActionResult.NotValidated(_ms)); } m_ControlState.Invoice.InvoiceLibraryStatus = true; Clearence _newClearance = Clearence.CreateClearance(m_DataContextManagement.DataContext, "FinishedGoodsExport", ClearenceProcedure._3151, (x, y, z) => TraceEvent(x, y, z)); string _masterDocumentName = _newClearance.FinishedGoodsExportFormFileName(m_DataContextManagement.DataContext); TraceEvent(String.Format("ExportWebPartUserControl.Export - generated document name: {0}", _masterDocumentName), 578, TraceSeverity.Verbose); CigaretteExportFormCollection _cefc = FinishedGoodsFormFactory.GetFormContent (m_DataContextManagement.DataContext, m_ControlState.Invoice, _newClearance, _masterDocumentName, _newClearance.SADDocumentNumber, (x, y, z) => TraceEvent(x, y, z)); TraceEvent(String.Format("ExportWebPartUserControl.Export - at SPDocumentFactory.Prepare", _masterDocumentName), 578, TraceSeverity.Verbose); int _sadConsignmentIdentifier = SPDocumentFactory.Prepare(SPContext.Current.Web, _cefc, _masterDocumentName, (x, y, z) => TraceEvent(x, y, z)); SADConsignment _sadConsignment = Element.GetAtIndex <SADConsignment>(m_DataContextManagement.DataContext.SADConsignment, _sadConsignmentIdentifier); _newClearance.SADConsignmentLibraryIndex = _sadConsignment; TraceEvent("ExportWebPartUserControl.Export at SubmitChanges", 605, TraceSeverity.Verbose); m_DataContextManagement.DataContext.SubmitChanges(); TraceEvent("Finished ExportWebPartUserControl.Export", 607, TraceSeverity.Verbose); return(GenericStateMachineEngine.ActionResult.Success); }