コード例 #1
0
ファイル: ProceedDoc.cs プロジェクト: TabVV/TProh
        private int New2D(byte[] b, int nLen)
        {
            int nRet = AppC.RC_OK;

            if (IsGood2D(b, nLen))
            {
                xSer2D.AddNew(b, nLen, xPars.b2DFull);
                if (xPars.b2DFull == false)
                {
                    xSer2D.State = READ2D_STATE.R_FULL_SER;
                }
                switch (xSer2D.State)
                {
                case READ2D_STATE.R_SAME_DOC:
                case READ2D_STATE.R_BAD_KEYS:
                    xSer2D = new Ser2DSym(xNSI);
                    break;

                case READ2D_STATE.R_FULL_SER:
                    if (xSer2D.bRewrite == false)
                    {    // создаем новый
                        xNSI.AddDocRec(xSer2D.xD, dgDoc);
                        StatAllDoc();
                    }
                    else
                    {
                        xNSI.UpdateDocRec(xSer2D.drRew, xSer2D.xD);
                    }
                    sLastDoc = xSer2D.xD.xDocP.sNomDoc;
                    xSer2D   = new Ser2DSym(xNSI);
                    break;
                }
            }
            else
            {
                nRet = AppC.RC_BADID;
            }

            return(nRet);
        }