private static void SaveIncident(Intertoll.Data.Incident realIncident, uspGetIncidentByLaneAndSeq_Result dbIncident, Guid staffLoginGuid, Boolean transactionExist)
 {
     try
     {
         //Insert into DB
         using (var context = new PCSStagingDataContext())
         {
             context.Incidents.Insert(
                 new Incident()
             {
                 CollectorID            = dbIncident.CollectorID.HasValue ? (int)dbIncident.CollectorID : (int?)null,
                 Description            = dbIncident.Description,
                 Incident_Identifier    = dbIncident.Incident_Identifier.ToString(),
                 IncidentAckDate        = realIncident.IncidentAckDate,
                 IncidentClearedDate    = realIncident.IncidentClearedDate,
                 IncidentCode           = dbIncident.IncidentCode,
                 IncidentGUID           = realIncident.IncidentGUID,
                 IncidentSeqNr          = realIncident.IncidentSeqNr,
                 IncidentSetDate        = realIncident.IncidentSetDate,
                 IncidentStatusGUID     = realIncident.IncidentStatusGUID,
                 IncidentTypeGUID       = realIncident.IncidentTypeGUID,
                 LaneCode               = dbIncident.LaneCode,
                 LaneSeqNr              = realIncident.LaneSeqNr,
                 LastIncidentSeqNr      = realIncident.LastIncidentSeqNr,
                 StaffLoginGUID         = staffLoginGuid,
                 TimeStamp              = DateTime.Now,
                 Transaction_Identifier = dbIncident.Transaction_Identifier.ToString(),
                 TransactionGUID        = realIncident.TransactionGUID,
                 TransactionExist       = transactionExist
             });
             context.Save();
         }
     }
     catch (Exception ex)
     {
         Log.LogException(ex);
     }
 }
 private static void SaveTransaction(Intertoll.Data.Transaction realTransaction, Intertoll.Data.ETCTransaction etcTransaction, Intertoll.Data.ETCIAuthenticator IAuthenticator, Intertoll.Data.ETCOAuthenticator OAuthenticator, uspGetTransactionByLaneAndSeq_Result dbTransaction)
 {
     try
     {
         //Insert into DB
         using (var context = new PCSStagingDataContext())
         {
             context.Transactions.Insert(
                 new Transaction()
             {
                 ANPRLicensePlate      = realTransaction.ANPRLicensePlate,
                 AVCClass              = realTransaction.AVCClassGUID.HasValue ? realTransaction.AVCClassGUID : (Guid?)null,
                 AVCSeqNr              = realTransaction.AVCSeqNr,
                 AvcStatus             = realTransaction.AVCDetail,
                 BankCardExpiryDate    = dbTransaction.BankCardExpiryDate,
                 BankCardNumber        = dbTransaction.BankCardNumber,
                 CollectorClass        = realTransaction.ColClassGUID.HasValue ? realTransaction.ColClassGUID : (Guid?)null,
                 CollectorID           = dbTransaction.CollectorID.HasValue ? (int)dbTransaction.CollectorID : 0,
                 SessionGuid           = realTransaction.SessionGUID,
                 ContextMark           = dbTransaction.ContextMark,
                 ContextMarkId         = etcTransaction.ContextMarkId,
                 ETCTransactionGUID    = realTransaction.ETCTransactionGuid.HasValue ? realTransaction.ETCTransactionGuid : (Guid?)null,
                 FrequentUserPANNumber = dbTransaction.FrequentUserPANNumber,
                 AccountUserGUID       = realTransaction.AccountUserGUID,
                 IDVL    = etcTransaction.IDVL,
                 IsKeyed = realTransaction.IsKeyed,
                 IssuerAuthenticator_DData = IAuthenticator.Authenticator,
                 IssuerAuthenticator_DMAC  = dbTransaction.IssuerAuthenticator_DMAC,
                 IssuerAuthenticator_KRef  = IAuthenticator.KeyRef,
                 IssuerAuthenticator_KSID  = dbTransaction.IssuerAuthenticator_KSID,
                 IssuerAuthenticator_KV    = dbTransaction.IssuerAuthenticator_KV.ToString(),
                 IssuerAuthenticator_MAC   = IAuthenticator.Nonce,
                 IssuerAuthenticatorGuid   = etcTransaction.IssuerAuthenticatorGuid,
                 LaneCode       = dbTransaction.LaneCode,
                 LaneStatus     = realTransaction.LaneStatusGUID.ToString(),
                 LaneTransSeqNr = realTransaction.LaneTransSeqNr,
                 LicensePlate   = realTransaction.LicensePlate,
                 OperatorAuthenticator_DData = OAuthenticator.Authenticator,
                 OperatorAuthenticator_DMAC  = dbTransaction.OperatorAuthenticator_DMAC,
                 OperatorAuthenticator_KRef  = OAuthenticator.KeyRef,
                 OperatorAuthenticator_KSID  = dbTransaction.OperatorAuthenticator_KSID,
                 OperatorAuthenticator_KV    = dbTransaction.OperatorAuthenticator_MAC,
                 OperatorAuthenticator_MAC   = OAuthenticator.Nonce,
                 OperatorAuthenticatorGuid   = etcTransaction.OperatorAuthenticatorGuid,
                 PAN                    = etcTransaction.PAN.ToString(),
                 PaymentGroup           = realTransaction.PaymentGroupGUID.ToString(),
                 PaymentMech            = realTransaction.PaymentMechGUID.ToString(),
                 PaymentMethod          = realTransaction.PaymentMethodGUID.ToString(),
                 PaymentType            = realTransaction.PaymentTypeGUID.ToString(),
                 ReceiptCount           = realTransaction.ReceiptCount,
                 ReceiptTaxInvoiceDate  = realTransaction.ReceiptTaxInvoiceDate,
                 Shift_Identifier       = dbTransaction.Shift_Identifier.HasValue ? dbTransaction.Shift_Identifier.ToString() : null,
                 TagClass               = dbTransaction.TagClass,
                 TagStatus              = etcTransaction.VehichleState,
                 TariffAmount           = realTransaction.TariffAmount,
                 TaxInvNr               = realTransaction.TaxInvNr,
                 TimeStamp              = DateTime.Now,
                 Transaction_Identifier = dbTransaction.Transaction_Identifier.ToString(),
                 TransactionDate        = realTransaction.TransDate,
                 TransactionStartDate   = realTransaction.TransStartDate,
                 TransGuid              = realTransaction.TransGUID,
                 TariffGuid             = (Guid)realTransaction.TariffGUID,
                 TAGEFCM                = dbTransaction.TAGEFCM,
                 TAGMAID                = dbTransaction.TAGMAID,
                 TAGOBUID               = dbTransaction.TAGOBUID
             });
             context.Save();
         }
     }
     catch (Exception ex)
     {
         Log.LogException(ex);
     }
 }