public virtual bool IterateDayTariff(CDatM1 pDatM1, stHOURLYBLOCK pstDayTariff, COPSDate pdtWork, long plWorkMoney, long plDaysChanges, bool bChangeDayInOutOfTariff, bool bDayChangeInInterval, bool bM1Plus, bool pbDayChange)
 {
     throw new NotImplementedException("");
 }
 public virtual bool IterateTariffs(CDatM1 pDatM1, IEnumerable plstTariffs, IEnumerable plstFestives, long lMaxChangeDays, bool bDayChangeInInterval, bool bM1Plus)
 {
     throw new NotImplementedException("Code in .cpp");
 }
 public virtual bool CalculateParking(CDatM1 pDatM1, IEnumerable plstTariffs, IEnumerable plstFestives)
 {
     throw new NotImplementedException("Code in .cpp");
 }
 public virtual bool GetM1(CDatM1 pM1, bool bM1Plus, int nMaxMoney = 0, bool bApplyHistory = true)
 {
     throw new NotImplementedException("Code in .cpp");
 }
 public virtual bool IterateInterval(CDatM1 pDatM1, long plWorkMinutes, stHOURLYBLOCK pstDayTariff, long plWorkMoney, bool bDayChangeInInterval, bool bM1Plus, bool pbDayChange)
 {
     throw new NotImplementedException("");
 }
        public void Copy(CDatM1 pDatM1)
        {
            trace.Write(TraceLevel.Debug, "CDatM1::Copy");

            try
            {
                base.Copy(pDatM1);

                pDatM1.m_szInGroupDesc.CopyTo(0, m_szInGroupDesc.ToCharArray(), 0, pDatM1.m_szInGroupDesc.Length);
                pDatM1.m_szInArticleDefDesc.CopyTo(0, m_szInArticleDefDesc.ToCharArray(), 0, pDatM1.m_szInArticleDefDesc.Length);
                m_strInVehicleID                 = pDatM1.m_strInVehicleID;
                m_dtInDate                       = pDatM1.m_dtInDate.Copy();
                m_iInOperType                    = pDatM1.m_iInOperType;
                m_iInArticle                     = pDatM1.m_iInArticle;
                m_iInArticleDef                  = pDatM1.m_iInArticleDef;
                m_iInGroup                       = pDatM1.m_iInGroup;
                m_iPaymentType                   = pDatM1.m_iPaymentType;
                m_lInMoney                       = pDatM1.m_lInMoney;
                m_dtInMaxDate                    = pDatM1.m_dtInMaxDate.Copy();
                m_bInComputeTimeLimits           = pDatM1.m_bInComputeTimeLimits;
                m_lInMaxTime                     = pDatM1.m_lInMaxTime;
                m_bInHistOnlyWithSamePaymentType = pDatM1.m_bInHistOnlyWithSamePaymentType;
                m_lInIntervalOffsetMinutes       = pDatM1.m_lInIntervalOffsetMinutes;
                m_lInIntervalOffsetMoney         = pDatM1.m_lInIntervalOffsetMoney;
                m_bRoundMoney                    = pDatM1.m_bRoundMoney;
                m_iInCheckArticle                = pDatM1.m_iInCheckArticle;
                m_lInOperationID                 = pDatM1.m_lInOperationID;
                m_lInCurrRotation                = pDatM1.m_lInCurrRotation;
                m_lInAddFreeMinutesQuantity      = pDatM1.m_lInAddFreeMinutesQuantity;
                m_lInAddFreeMoneyQuantity        = pDatM1.m_lInAddFreeMoneyQuantity;

                //Out
                m_iOutResult                     = pDatM1.m_iOutResult;
                m_lOutMinImport                  = pDatM1.m_lOutMinImport;
                m_lOutMaxImport                  = pDatM1.m_lOutMaxImport;
                m_lOutMinTime                    = pDatM1.m_lOutMinTime;
                m_lOutMaxTime                    = pDatM1.m_lOutMaxTime;
                m_nOutEfMaxTime                  = pDatM1.m_nOutEfMaxTime;
                m_lOutStepImport                 = pDatM1.m_lOutStepImport;
                m_lOutRetImport                  = pDatM1.m_lOutRetImport;
                m_lOutImportAcc                  = pDatM1.m_lOutImportAcc;
                m_dtOutOperDate                  = pDatM1.m_dtOutOperDate.Copy();
                m_dtOutOperDateIni               = pDatM1.m_dtOutOperDateIni.Copy();
                m_dtOutOperDateEnd               = pDatM1.m_dtOutOperDateEnd.Copy();
                m_dtOutOperDateIni0              = pDatM1.m_dtOutOperDateIni0.Copy();
                m_dtOutMinOperDate               = pDatM1.m_dtOutMinOperDate.Copy();
                m_dtOutMaxOperDate               = pDatM1.m_dtOutMaxOperDate.Copy();
                m_lOutAcummImport                = pDatM1.m_lOutAcummImport;
                m_lOutAcummImportAllGroup        = pDatM1.m_lOutAcummImportAllGroup;
                m_nOutAcummTime                  = pDatM1.m_nOutAcummTime;
                m_nOutAcummTimeAllGroup          = pDatM1.m_nOutAcummTimeAllGroup;
                m_iOutWholeOperationWithChipCard = pDatM1.m_iOutWholeOperationWithChipCard;
                m_iOutWholeOperationWithMobile   = pDatM1.m_iOutWholeOperationWithMobile;
                m_dtOutOperDateRealIni           = pDatM1.m_dtOutOperDateRealIni.Copy();
                m_lOutRealAcummImport            = pDatM1.m_lOutRealAcummImport;
                m_nOutRealAcummTime              = (int)pDatM1.m_lOutRealAcummImport;
                m_iOutPostPay                    = pDatM1.m_iOutPostPay;
                m_iOutIsResident                 = pDatM1.m_iOutIsResident;
                m_iOutIsVIP = pDatM1.m_iOutIsVIP;
                m_iOutRemainingMinutesWithZeroValue = pDatM1.m_iOutRemainingMinutesWithZeroValue;
                m_szVAOCardID1          = String.Copy(pDatM1.m_szVAOCardID1);
                m_szVAOCardID2          = String.Copy(pDatM1.m_szVAOCardID2);
                m_szVAOCardID3          = String.Copy(pDatM1.m_szVAOCardID3);
                m_iCurNumPhotos         = pDatM1.m_iCurNumPhotos;
                m_iOutNumPhotosReceived = pDatM1.m_iOutNumPhotosReceived;

                int i = 0;
                for (i = 0; i < m_iCurNumPhotos; i++)
                {
                    m_OutPhotoStorage[i] = pDatM1.m_OutPhotoStorage[i];
                }

                for (i = 0; i < MAX_NUM_USR_MSGS; i++)
                {
                    m_szOutUserMsgs[i] = String.Copy(pDatM1.m_szOutUserMsgs[i]);
                }


                for (i = 0; i < MAX_DYN_TARIFF_PARS; i++)
                {
                    m_OutDynTariffParameters[i] = pDatM1.m_OutDynTariffParameters[i];
                }

                m_bMinEqMax = pDatM1.m_bMinEqMax;

                m_lOutAddFreeMinutesQuantity = pDatM1.m_lOutAddFreeMinutesQuantity;
                m_lOutAddFreeMoneyQuantity   = pDatM1.m_lOutAddFreeMoneyQuantity;

                m_szOutFineNumber   = String.Copy(pDatM1.m_szOutFineNumber);
                m_iOutFineResult    = pDatM1.m_iOutFineResult;
                m_bFineAlreadyPayed = pDatM1.m_bFineAlreadyPayed;

                m_iNumMoneyOffDiscounts = pDatM1.m_iNumMoneyOffDiscounts;
                for (i = 0; i < MAX_MONEYOFF_DISCOUNTS; i++)
                {
                    //_tcscpy(m_stMoneyOffDiscounts[i].szCode, pDatM1.m_stMoneyOffDiscounts[i].szCode);
                    m_stMoneyOffDiscounts[i].ulId    = pDatM1.m_stMoneyOffDiscounts[i].ulId;
                    m_stMoneyOffDiscounts[i].lResult = pDatM1.m_stMoneyOffDiscounts[i].lResult;
                }

                m_bHistFreeMoneyUsed = pDatM1.m_bHistFreeMoneyUsed;

                m_bInCalculateTimeSteps        = pDatM1.m_bInCalculateTimeSteps;
                m_bInCalculateQuantitySteps    = pDatM1.m_bInCalculateQuantitySteps;
                m_iInCalculateSteps_StepValue  = pDatM1.m_iInCalculateSteps_StepValue;
                m_strOutStepsCalculationString = pDatM1.m_strOutStepsCalculationString;
            }
            catch (Exception error)
            {
                trace.Write(TraceLevel.Error, error.ToLogString());
            }
        }