private IExpenseType GetExpenseTypeFromDataRow(DataRow dr)
        {
            IExpenseType expenseTypes = new MyDiary.Domain.Domains.ExpenseType(null);

            foreach (DataColumn dc in dr.Table.Columns)
            {
                switch (dc.ColumnName)
                {
                case Constants.StoredProcedures.ExpenseTypes.Parameters.ExpenseTypeId:
                    expenseTypes.TypeId = Convert.ToInt32(dr[dc.ColumnName].ToString());
                    break;

                case Constants.StoredProcedures.ExpenseTypes.Parameters.ExpenseType:
                    expenseTypes.Type = Convert.ToString(dr[dc.ColumnName].ToString());
                    break;
                }
            }
            return(expenseTypes);
            //throw new NotImplementedException();
        }
        private IExpense GetExpenseFromDataRow(DataRow dr)
        {
            IExpense     expense     = new MyDiary.Domain.Domains.Expense();
            IExpenseType expenseType = new MyDiary.Domain.Domains.ExpenseType();
            IPeople      currentUser = new MyDiary.Domain.Domains.People();

            foreach (DataColumn dc in dr.Table.Columns)
            {
                switch (dc.ColumnName)
                {
                case Constants.StoredProcedures.Expenses.Parameters.ExpenseId:
                    expense.Id = Convert.ToInt32(dr[dc.ColumnName].ToString());
                    break;

                case Constants.StoredProcedures.Expenses.Parameters.ExpenseType:
                    expenseType.Type = Convert.ToString(dr[dc.ColumnName].ToString());
                    break;

                case Constants.StoredProcedures.Expenses.Parameters.ExpenseTypeId:
                    expenseType.TypeId = Convert.ToInt32(dr[dc.ColumnName].ToString());
                    break;

                case Constants.StoredProcedures.Expenses.Parameters.ExpenseDate:
                    expense.ExpenseDate = Convert.ToDateTime(dr[dc.ColumnName].ToString());
                    break;

                case Constants.StoredProcedures.Expenses.Parameters.Description:
                    expense.Description = Convert.ToString(dr[dc.ColumnName].ToString());
                    break;

                case Constants.StoredProcedures.Expenses.Parameters.Comments:
                    expense.Comments = Convert.ToString(dr[dc.ColumnName].ToString());
                    break;

                case Constants.StoredProcedures.Expenses.Parameters.Amount:
                    expense.Amount = float.Parse(dr[dc.ColumnName].ToString(), System.Globalization.CultureInfo.InvariantCulture);
                    break;

                case Constants.StoredProcedures.ExpenseTypes.Parameters.UserId:
                    currentUser.UserId = Convert.ToInt32(dr[dc.ColumnName].ToString());
                    break;

                case Constants.StoredProcedures.Expenses.Parameters.CREATEDBY:
                    expense.CreatedBy = Convert.ToInt32(dr[dc.ColumnName].ToString());
                    break;

                case Constants.StoredProcedures.Expenses.Parameters.CREATEDDATE:
                    expense.CreatedDate = Convert.ToDateTime(dr[dc.ColumnName].ToString());
                    break;

                case Constants.StoredProcedures.Expenses.Parameters.MODIFIEDBY:
                    expense.ModifiedBy = (dr[dc.ColumnName]) == DBNull.Value ? (int?)null : Convert.ToInt32(dr[dc.ColumnName].ToString());
                    break;

                case Constants.StoredProcedures.Expenses.Parameters.MODIFIEDDATE:
                    expense.ModifiedDate = (dr[dc.ColumnName]) == DBNull.Value ? (DateTime?)null : Convert.ToDateTime(dr[dc.ColumnName].ToString());
                    break;
                }
            }

            expense.ExpenseType = expenseType;
            expense.CurrentUser = currentUser;
            return(expense);
        }