Ejemplo n.º 1
0
        public Result Find(int docNum)
        {
            Action find = delegate
            {
                var sqlBuilder = new StringBuilder();
                sqlBuilder.AppendFormat("SELECT * FROM `OR` WHERE DOC_NUM = ?DOC_NUM");

                var sqlParam = new SqlParameter("?DOC_NUM", docNum);

                DataTable result = DatabaseController.ExecuteSelectQuery(sqlBuilder.ToString(),
                                                                         sqlParam);

                ResetProperties();
                VoucherNumber = docNum;
                string cashOnHandCode  = GlobalSettings.CodeOfCashOnHand;
                string timeDepositCode = GlobalSettings.CodeOfTimeDeposit;

                int index = 0;
                foreach (DataRow dataRow in result.Rows)
                {
                    if (index == 0)
                    {
                        VoucherDate   = DataConverter.ToDateTime(dataRow["DOC_DATE"]);
                        MemberCode    = DataConverter.ToString(dataRow["MEM_CODE"]);
                        IsCancelled   = MemberCode.ToUpper().Contains("CANCEL");
                        CollectorName = DataConverter.ToString(dataRow["COLLECTOR"]);
                    }

                    index++;

                    string  accountCode = DataConverter.ToString(dataRow["ACC_CODE"]);
                    decimal credit      = DataConverter.ToDecimal(dataRow["CREDIT"]);

                    if (accountCode != cashOnHandCode)
                    {
                        SetAccountCode(index, accountCode);
                        SetCreditAmount(index, credit);
                        if (accountCode == timeDepositCode)
                        {
                            TimeDepositDetail = TimeDepositDetails.ExtractFromDataRow(dataRow);
                        }
                    }
                    else
                    {
                        CashAndCheckDenomimation = CashAndCheckBreakDown.ExtractFromDataRow(dataRow);
                    }
                }

                //UpdateTotalAmount();
            };

            return(ActionController.InvokeAction(find));
        }