/// <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);
 }