private static void GetEntityInfoForError(string entityType, Int32 entityId, out string name, out bool active,
                                           SqlConnection dbConn, SqlTransaction dbTrans)
        {
            string query = "";
            if (entityType == PosGeneralLedgerAccountRepository.DiscountReasonForCompositeId)
                query = GetDiscountNameQuery();
            else if (entityType == PosGeneralLedgerAccountRepository.ExpenseForCompositeId)
                query = GetExpenseNameQuery();
            else if (entityType == PosGeneralLedgerAccountRepository.PaymentTypeForCompositeId)
                query = GetPaymentTypeNameQuery();
            else if (entityType == PosGeneralLedgerAccountRepository.SundryRevenueForCompositeId)
                query = GetSundryNameQuery();
            else if (entityType == PosPayrollItemRepository.TypeNameForCompositeId)
                query = GetRosterTypeNameQuery();
            else if (entityType == PosPayrollItemRepository.DefaultTypeNameForCompositeId)
            {
                name = PosPayrollItemRepositoryResources.RegularTime;
                active = true; // default payroll item is always active
                return;
            }
            else if (entityType == PosGeneralLedgerAccountServiceCategoryRepository.ServiceCategoryRevenueTypeForCompositeId ||
                    entityType == PosGeneralLedgerAccountServiceCategoryRepository.ServiceCategoryRevenueTaxFreeTypeForCompositeId)
                query = GetServiceCategoryNameQuery();
            else if (entityType == PosGeneralLedgerAccountProductCategoryRepository.ProductCategoryRevenueTypeForCompositeId ||
                     entityType == PosGeneralLedgerAccountProductCategoryRepository.ProductCategoryRevenueTaxFreeTypeForCompositeId)
            {
                query = GetProductCategoryNameQuery();
            }
            else if (entityType == PosEmployeeRepository.TypeNameForCompositeId)
                query = GetEmployeeQuery();
            else if (entityType == PosVendorRepository.TypeNameForCompositeId)
                query = GetSupplierQuery();
            else if (entityType == PosCustomerRepository.TypeForCompositeId)
                query = GetClientQuery();
            else
                query = GetFLAccountTypeNameQuery();

            if (dbConn.State != System.Data.ConnectionState.Open)
                dbConn.Open();

            const Int32 nameField = 0;
            const Int32 activeField = 1;

            SqlCommand command = null;
            if (dbTrans == null)
                command = new SqlCommand(query, dbConn);
            else
                command = new SqlCommand(query, dbConn, dbTrans);


            using (command)
            {
                command.Parameters.AddWithValue("@entityId", entityId);

                SqlDataReader dataReader = command.ExecuteReader();

                name = PosGeneralLedgerAccountRepositoryResources.Unknown;
                active = false;

                if (dataReader.Read())
                {
                    if (!dataReader.IsDBNull(nameField))
                        name = dataReader.GetString(nameField);

                    if (!dataReader.IsDBNull(activeField))
                        active = dataReader.GetInt32(activeField) == 1;
                }

                dataReader.Close();
            }
        }