コード例 #1
0
        //    public static string Get_CalculatedProperty(fmIDocCacheJournal instance) {
        //        // A "Get_" method is executed when getting a target property value. The target property should be readonly.
        //        // Use this method to implement calculated properties.
        //        return "";
        //    }
        //    public static void AfterChange_PersistentProperty(fmIDocCacheJournal instance) {
        //        // An "AfterChange_" method is executed after a target property is changed. The target property should not be readonly.
        //        // Use this method to refresh dependant property values.
        //    }
        //    public static void AfterConstruction(fmIDocCacheJournal instance) {
        //        // The "AfterConstruction" method is executed only once, after an object is created.
        //        // Use this method to initialize new objects with default property values.
        //    }
        public static fmIDocCacheJournalLine RegisterDocument(IObjectSpace os_doc, fmIDocCache doc)   //, IObjectSpace os_jur) {
        // You can also define custom methods.
        {
            fmIDocCacheJournalLine line    = os_doc.FindObject <fmIDocCacheJournalLine>(new BinaryOperator("Document", doc));
            fmIDocCacheJournal     journal = null;

            if (line != null)
            {
                return(line);
            }
            Int32 date_delimiter = 0;

            switch (doc.JournalType)
            {
            case fmIDocCacheJournalType.JOURNAL_PREPARE:
                date_delimiter = doc.DocDate.Year;
                journal        = os_doc.FindObject <fmIDocCacheJournal>(
                    CriteriaOperator.And(new BinaryOperator("JournalType", doc.JournalType),
                                         new BinaryOperator("DateDelimiter", date_delimiter)));
                if (journal == null)
                {
                    journal               = os_doc.CreateObject <fmIDocCacheJournal>();
                    journal.JournalType   = doc.JournalType;
                    journal.DateDelimiter = date_delimiter;
                }
                line = os_doc.CreateObject <fmIDocCacheJournalLine>();
                journal.Lines.Add(line);
                journal.CurrentNumber++;
                line.NumberSequence = journal.CurrentNumber;
                line.Document       = doc;
                return(line);
//                    break;
            }
            return(null);
        }
コード例 #2
0
        public static void Approve(fmIDocCacheInRealPrepare instance, IObjectSpace os)
        {
            switch (instance.Status)
            {
            case fmIDocCacheInRealPrepareStatus.CREATED:
                fmIDocCacheJournalLine line = fmIDocCacheJournalLogic.RegisterDocument(os, instance);
                instance.DocNumber = line.NumberSequence.ToString("D6");
                instance.Status    = fmIDocCacheInRealPrepareStatus.PREPARED;
                break;

            case fmIDocCacheInRealPrepareStatus.PREPARED:
                break;

            case fmIDocCacheInRealPrepareStatus.PAYED:
                break;

            default:
                break;
            }
        }