예제 #1
0
        protected SuiRecordTransactionBase(string date, string price, string memo, SuiRecordType recordType)
        {
            DateTime parsedDate = DateTime.Parse(DateTime.Now.Year + "-" + date.Substring(0, 2) + "-" + date.Substring(2, 2));

            if ((parsedDate - DateTime.Now).Days > 30) // If the record is too new (newer than today + 30 days), the record should go to the last year
            {
                parsedDate = parsedDate.AddYears(-1);
            }

            Time  = $"{parsedDate:yyyy-MM-dd} 10:00";
            Price = price;
            Memo  = memo;

            RecordType = recordType;
        }
 public SuiRecordOut(string date, string category, string account, string price, string store, string memo, SuiRecordReference reference, SuiRecordType recordType) : base(date, price, memo, recordType)
 {
     Category = reference.CategoriesOut[category];
     Account  = reference.Accounts[account];
     if (!string.IsNullOrEmpty(store))
     {
         Store = reference.Stores[store];
     }
 }
 public SuiRecordOut(SuiRecordOrigin recordModel, SuiRecordReference reference, SuiRecordType recordType) : this(recordModel.Date, recordModel.Category, recordModel.Account, recordModel.Price, recordModel.Store, recordModel.Memo, reference, recordType)
 {
 }
예제 #4
0
        public SuiRecordLoan(string date, string account, string account2, string price, string memo, SuiRecordReference reference, SuiRecordType recordType) : base(date, price, memo.Substring(memo.IndexOf(':') + 1), recordType)
        {
            APAccount = reference.Accounts["A-P"];
            ARAccount = reference.Accounts["A-R"];

            if (account.StartsWith(">>") && !account2.StartsWith(">>")) // IN
            {
                InAccount = reference.Accounts[account2];
                InPrice   = price;

                Loaner    = reference.Loaners.GetOfficialName(account.Substring(2));
                DebtId    = reference.Loaners[account.Substring(2)];
                Direction = SuiRecordLoanDirection.In;
            }

            else if (!account.StartsWith(">>") && account2.StartsWith(">>")) // OUT
            {
                OutAccount = reference.Accounts[account];
                OutPrice   = price;

                Loaner    = reference.Loaners.GetOfficialName(account2.Substring(2));
                DebtId    = reference.Loaners[account2.Substring(2)];
                Direction = SuiRecordLoanDirection.Out;
            }

            Price2 = price;
            if (!memo.Contains(":"))
            {
                throw new ArgumentOutOfRangeException("Loan record tag is not found");
            }
            Tag = memo.Substring(0, memo.IndexOf(':'));
        }
예제 #5
0
 public SuiRecordLoan(SuiRecordOrigin recordModel, SuiRecordReference reference, SuiRecordType recordType) : this(recordModel.Date, recordModel.Account, recordModel.Account2, recordModel.Price, recordModel.Memo, reference, recordType)
 {
 }
 public SuiRecordTransfer(string date, string accountOut, string accountIn, string price, string memo, SuiRecordReference reference, SuiRecordType recordType) : base(date, price, memo, recordType)
 {
     OutAccount = reference.Accounts[accountOut];
     InAccount  = reference.Accounts[accountIn];
 }