private void onCreateDocument_ExecuteCode(object sender, EventArgs e) { try { string _MasterDocumentName = String.Empty; using (Entities _entities = new Entities(workflowProperties.WebUrl)) { DisposalRequestLib _Dr = Element.GetAtIndex <DisposalRequestLib>(_entities.DisposalRequestLibrary, workflowProperties.ItemId); _MasterDocumentName = _Dr.StatementDocumentNameFileName(_entities); StatementContent _sc = CraeteStatement(_entities, _Dr, _MasterDocumentName); SPFile _newFile = File.CreateXmlFile <StatementContent>(workflowProperties.Web, _sc, _MasterDocumentName, StatementLib.LibraryTitle, StatementContent.StylesheetNmane); StatementLib _StatementLib = Element.GetAtIndex <StatementLib>(_entities.StatementLibrary, _newFile.Item.ID); _StatementLib.Archival = true; _StatementLib.CWL_Statement2DisposalRequestID = _Dr; _entities.SubmitChanges(); } logToHistoryListActivity_HistoryOutcome = "Success"; logToHistoryListActivity_HistoryDescription = String.Format("Document {0} created successfully", _MasterDocumentName); } catch (ArgumentNullException _ane) { logToHistoryListActivity_HistoryOutcome = "Inconsistent data"; logToHistoryListActivity_HistoryDescription = "Cannot create the document because of error: " + _ane.Message; } catch (Exception _ex) { logToHistoryListActivity_HistoryOutcome = "Exception"; logToHistoryListActivity_HistoryDescription = _ex.Message; } }
private StatementContent CraeteStatement(Entities entities, DisposalRequestLib disposalRequestLib, string _MasterDocumentName) { List <Statement> _SADDocuments = new List <Statement>(); foreach (CustomsWarehouseDisposal _cwdx in disposalRequestLib.CustomsWarehouseDisposal(entities, false)) { if (_cwdx.SADDocumentNo.IsNullOrEmpty()) { throw new ArgumentNullException("SADDocumentNo", "SAD Document No cannot be empty"); } Statement _newItem = new Statement { DutyAndVAT = _cwdx.DutyAndVAT.GetValueOrDefault(), DutyPerSettledAmount = _cwdx.DutyPerSettledAmount.Value, No = -1, SADDocumentNo = _cwdx.SADDocumentNo, ReferenceNumber = _cwdx.CWL_CWDisposal2ClearanceID.ReferenceNumber, VATPerSettledAmount = _cwdx.VATPerSettledAmount.Value, }; _SADDocuments.Add(_newItem); } _SADDocuments.Sort((Statement x, Statement y) => { return(x.SADDocumentNo.CompareTo(y.SADDocumentNo)); }); for (int i = 0; i < _SADDocuments.Count; i++) { _SADDocuments[i].No = i + 1; } StatementContent _NewSC = new StatementContent() { DocumentDate = DateTime.Today, CustomsProcedure = disposalRequestLib.ClearenceProcedure.Value.Convert2String(), StatementOfDuties = _SADDocuments.ToArray() }; return(_NewSC); }
private void NewDataEventHandler(object sender, DisposalInterconnectionData e) { if (string.IsNullOrEmpty(e.ID)) { return; } EnsureChildControls(); m_SelectedItemTitle.Text = e.Title; using (Entities _entities = new Entities()) { DisposalRequestLib _drl = Element.GetAtIndex <DisposalRequestLib>(_entities.DisposalRequestLibrary, e.ID); List <SAD> _cns = new List <SAD>(); SPWeb _wb = SPContext.Current.Web; foreach (CustomsWarehouseDisposal _cwd in _drl.CustomsWarehouseDisposal(_entities, false)) { if (_cwd.CWL_CWDisposal2ClearanceID == null) { continue; } if (_cwd.CWL_CWDisposal2ClearanceID.SADConsignmentLibraryIndex == null) { continue; } SPDocumentLibrary _lib = (SPDocumentLibrary)_wb.Lists[SADConsignment.IPRSADConsignmentLibraryTitle]; SAD _sad = CAS.SharePoint.DocumentsFactory.File.ReadXmlFile <SAD>(_lib, _cwd.CWL_CWDisposal2ClearanceID.SADConsignmentLibraryIndex.Id.Value); _cns.Add(_sad); } SADCollection _sc = new SADCollection() { ListOfSAD = _cns.ToArray() }; m_HiddenFieldData.Value = System.Web.HttpUtility.HtmlEncode(CAS.SharePoint.Serialization.XmlSerializer.Serialize <SADCollection>(_sc, Settings.SADCollectionStylesheetName)); } }
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 void NewDataEventHandler(object sender, DisposalInterconnectionData e) { if (string.IsNullOrEmpty(e.ID)) { return; } EnsureChildControls(); m_SelectedItemTitle.Text = e.Title; using (Entities _edx = new Entities()) { DisposalRequestLib _drl = Element.GetAtIndex <DisposalRequestLib>(_edx.DisposalRequestLibrary, e.ID); CheckListWebPartDataContract _dc = CheckListWebPartDataContract.GetCheckListWebPartDataContract(_edx, _drl); m_HiddenFieldData.Value = _dc.Serialize(); } }
/// <summary> /// Gets the content of the XML. /// </summary> /// <param name="xml">The document.</param> /// <param name="edc">The edc.</param> /// <param name="parent">The entry.</param> /// <param name="progressChanged">The progress changed.</param> private static void GetXmlContent(Entities entities, DisposalRequestXml xml, DisposalRequestLib parent, ProgressChangedEventHandler progressChanged) { progressChanged(null, new ProgressChangedEventArgs(1, "GetXmlContent: starting")); foreach (var _xmli in xml.DisposalRequestContent) { CustomsWarehouseDisposal.XmlData _xmlData = new CustomsWarehouseDisposal.XmlData() { AdditionalQuantity = _xmli.AddedKg, DeclaredQuantity = _xmli.QtyToClear, SKUDescription = _xmli.Description }; CustomsWarehouse.Dispose(entities, _xmli.BatchNo.Trim(), parent, _xmlData); } progressChanged(null, new ProgressChangedEventArgs(1, "GetXmlContent: finished")); }
/// <summary> /// An item was added /// </summary> /// <param name="properties">An object of <see cref="SPItemEventProperties"/></param> public override void ItemAdded(SPItemEventProperties properties) { try { if (!properties.ListTitle.Contains("Disposal Request Library")) { //TODO [pr4-3435] Item add event - selective handling mechanism. http://itrserver/Bugs/BugDetail.aspx?bid=3435 base.ItemAdded(properties); return; } this.EventFiringEnabled = false; using (Entities _edc = new Entities(properties.WebUrl)) { ActivityLogCT.WriteEntry(_edc, m_Title, String.Format("Import of the Disposal Request {0} XML message started", properties.ListItem.File.Name)); At = "ImportDocument"; DisposalRequestXml _xml = default(DisposalRequestXml); using (Stream _stream = properties.ListItem.File.OpenBinaryStream()) _xml = DisposalRequestXml.ImportDocument(_stream); At = "GetAtIndex - DisposalRequestLib"; DisposalRequestLib _entry = Element.GetAtIndex <DisposalRequestLib>(_edc.DisposalRequestLibrary, properties.ListItemId); _entry.Archival = true; _entry.ClearenceProcedure = Covert2ClearenceProcedure(_xml.ClearenceProcedure); At = "GetXmlContent"; GetXmlContent(_edc, _xml, _entry, ProgressChange); At = "SubmitChanges"; _edc.SubmitChanges(); foreach (CAS.SmartFactory.Customs.Warnning _wrnngx in m_Warnings) { ActivityLogCT.WriteEntry(_edc, m_Title, String.Format("Import warnning: {0}", _wrnngx.Message)); } ActivityLogCT.WriteEntry(_edc, m_Title, String.Format("Import of the Disposal Request {0} XML message message finished - document imported", properties.ListItem.File.Name)); } } //catch (InputDataValidationException _idve) //{ // _idve.ReportActionResult(_properties.WebUrl, _properties.ListItem.File.Name); //} //catch (IPRDataConsistencyException _ex) //{ // _ex.Source += " at " + At; // using (Entities _edc = new Entities(_properties.WebUrl)) // { // _ex.Add2Log(_edc); // BatchLib _entry = _entry = Element.GetAtIndex<BatchLib>(_edc.BatchLibrary, _properties.ListItemId); // _entry.BatchLibraryOK = false; // _entry.BatchLibraryComments = _ex.Comments; // _edc.SubmitChanges(); // } //} catch (Exception _ex) { using (Entities _edc = new Entities(properties.WebUrl)) { ActivityLogCT.WriteEntry(_edc, "BatchEventReceiver.ItemAdded" + " at " + At, _ex.Message); DisposalRequestLib _entry = Element.GetAtIndex <DisposalRequestLib>(_edc.DisposalRequestLibrary, properties.ListItemId); _entry.ClearenceProcedure = new Nullable <ClearenceProcedure>(); _edc.SubmitChanges(); } } finally { this.EventFiringEnabled = true; } base.ItemAdded(properties); }