コード例 #1
0
 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;
     }
 }
コード例 #2
0
        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);
        }
コード例 #3
0
 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));
     }
 }
コード例 #4
0
 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);
 }
コード例 #5
0
 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();
     }
 }
コード例 #6
0
 /// <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"));
 }
コード例 #7
0
 /// <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);
 }