public static decimal GetDecimal(this DbDataRecord dr, string columnName)
        {
            Check.ArgNotNull(dr, nameof(dr));
            int ordinal = dr.GetOrdinal(columnName);

            return(dr.GetDecimal(ordinal));
        }
예제 #2
0
        public void GetEnumeratorTest()
        {
            this.fixture.ExecuteCommand(command => {
                command.CommandText = "SELECT * FROM ORDERS";
                using (var reader = command.ExecuteReader()) {
                    IEnumerator enumerator = reader.GetEnumerator();

                    while (enumerator.MoveNext())
                    {
                        DbDataRecord record = (DbDataRecord)enumerator.Current;
                        Assert.Equal(reader.FieldCount, record.FieldCount);
                        Assert.Equal(reader.GetInt32(0), record.GetInt32(0));
                        Assert.Equal(reader.GetString(1), record.GetString(1));
                        Assert.Equal(reader.GetInt32(2), record.GetInt32(2));
                        Assert.Equal(reader.GetDateTime(3), record.GetDateTime(3));
                        Assert.Equal(reader.GetDateTime(4), record.GetDateTime(4));
                        Assert.Equal(reader.GetValue(5), record.GetValue(5));
                        Assert.Equal(reader.GetInt32(6), record.GetInt32(6));
                        Assert.Equal(reader.GetDecimal(7), record.GetDecimal(7));
                        reader.Read();
                    }
                }
            });
        }
예제 #3
0
        private void SearchByOther()
        {
            listRooms = DataLayer.GetAllRooms();

            decimal minCost, maxCost;

            if (decimal.TryParse(txbxMinCost.Text, out minCost))
            {
                for (int i = 0; i < listRooms.Count; i++)
                {
                    DbDataRecord room = listRooms[i] as DbDataRecord;
                    if (room.GetDecimal(6) < minCost)
                    {
                        listRooms.Remove(room);
                        i--;
                    }
                }
            }

            if (decimal.TryParse(txbxMaxCost.Text, out maxCost))
            {
                for (int i = 0; i < listRooms.Count; i++)
                {
                    DbDataRecord room = listRooms[i] as DbDataRecord;
                    if (room.GetDecimal(6) > maxCost)
                    {
                        listRooms.Remove(room);
                        i--;
                    }
                }
            }

            if (chbxNumberOfRooms.SelectedItem != null)
            {
                for (int i = 0; i < listRooms.Count; i++)
                {
                    DbDataRecord room = listRooms[i] as DbDataRecord;
                    if (room.GetInt32(5) != (chbxNumberOfRooms.SelectedItem as DbDataRecord).GetInt32(3))
                    {
                        listRooms.Remove(room);
                        i--;
                    }
                }
            }

            if (chbxNumberOfSeats.SelectedItem != null)
            {
                for (int i = 0; i < listRooms.Count; i++)
                {
                    DbDataRecord room = listRooms[i] as DbDataRecord;
                    if (room.GetInt32(4) != (chbxNumberOfSeats.SelectedItem as DbDataRecord).GetInt32(2))
                    {
                        listRooms.Remove(room);
                        i--;
                    }
                }
            }

            lsbxCategories.SelectedItem = -1;
            dgRooms.ItemsSource         = listRooms;
        }
예제 #4
0
 /// <summary>
 /// GetNullSafeDecimal() - Checks the Decimal column to be accessed and if it is DBNull,
 /// 0.0M will be returned.
 /// </summary>
 /// <param name="rec">Database Record</param>
 /// <param name="colIndex">Column Index</param>
 /// <returns>Actual DateTime or MinValue (if null)</returns>
 public decimal GetNullSafeDecimal(DbDataRecord rec, int colIndex)
 {
     return(rec.IsDBNull(colIndex) ? 0.0M : rec.GetDecimal(colIndex));
 }
예제 #5
0
//-------------------------------------------------------------------------------------------
    private void Linkify(DataGrid grid, DataGridItemEventArgs e, string ledgerType)
    {
        string code = e.Item.Cells[0].Text;

        for (int i = 0; i < e.Item.Cells.Count; i++)
        {
            if (e.Item.ItemType == ListItemType.Item ||
                e.Item.ItemType == ListItemType.AlternatingItem)
            {
                if (i >= DateTime.Now.Month &&
                    i < 13 &&
                    Int32.Parse(YearFilter.Text) >= DateTime.Now.Year &&
                    (e.Item.Cells[0].Text == "Sale" ||
                     e.Item.Cells[0].Text == "Purchase"))
                {
                    decimal      entered = 0.0m; // Decimal.Parse(e.Item.Cells[i].Text);
                    DbDataRecord rec     = (DbDataRecord)e.Item.DataItem;
                    entered = (rec == null || rec[i].GetType() == typeof(DBNull)) ? entered : rec.GetDecimal(i);

                    //LedgerType ledger = (e.Item.Cells[0].Text == "Sale") ? LedgerType.Receivable : LedgerType.Payable;
                    //decimal projection = Accounting.ProjectedBillings(SelectedOrganization, ledger, i, Int32.Parse(YearFilter.Text));
                    //projection = (e.Item.Cells[0].Text == "Sale") ? projection : projection * -1;
                    decimal total = entered;      // TODO +projection;
                    //e.Item.Cells[i].BackColor = System.Drawing.ColorTranslator.FromHtml("#E3E4FA");
                    //e.Item.Cells[i].ToolTip = "Posted: " + entered.ToString("C") + "\r\n";
                    //e.Item.Cells[i].ToolTip += "Not-posted (ARB): " + projection.ToString("C") + "\r\n";
                    //e.Item.Cells[i].ToolTip += "Total: " + total.ToString("C");
                    e.Item.Cells[i].Text = total.ToString("C");
                }

                string text = e.Item.Cells[i].Text.Trim();
                if (i > 0 && i < 13 && text != "" && text != "&nbsp;")
                {
                    int    month     = GetMonthNum(grid.Columns[i].HeaderText);
                    int    year      = Int32.Parse(YearFilter.SelectedValue);
                    string startDate = month + "/01/" + year;
                    string endDate   = month + "/" + DateTime.DaysInMonth(year, month) + "/" + year;
                    // int ledgerTypeNum = (int) (LedgerType) Enum.Parse(typeof(LedgerType), ledgerType);
                    e.Item.Cells[i].Text = "<a href=\"javascript:createPopup('/Accounting_LedgerItems/List.aspx?LedgerType=" + ledgerType + "&PostAt_Start=" + startDate + "&PostAt_End=" + endDate + "&Code=" + code + "')\">" + text + "</a>";
                }
            }
        }
    }