Archive for January, 2010

Building ASP.NET web pages without Visual Studio.NET

Tuesday, January 26th, 2010

Related to the previous post, we were tasked with adding pages to an existing third-party ASP.NET web application without having access to the site’s existing code-behind files.

Although a slightly unusual situation, after a little digging around we found that it was quite easy to create the additional pages and integrate them into the website without the usual creation of a web project in Visual Studio.NET.  Instead each web page was created manually, here’s what was required:

For each web page create two files…

page.aspx.cs

Simply create a class that inherits from System.Web.UI.Page.  This will be the class that represents the web page.

namespace MyNamespace {

public partial class _Default : System.Web.UI.Page
{

}

}

page.aspx

Include the following directive at the top of the aspx page (assuming the aspx file uses a C# code behind file)

<% @ Page Language=”C#” CodeFile=”page.aspx.cs” Inherits=”MyNamespace._Default” Debug=”true” %>

Using namespaces in aspx files

Monday, January 25th, 2010

When developing ASP.NET web applications libraries are usually used by including them in the code behind files.  On a recent project, which involved maintenance of a client’s existing web application .NET libraries were required for use on the web page but there was no access to the page’s code-behind file.

There is a way to include required namespaces directly within aspx files - in the event that namespaces need to be imported within aspx files you can use the <%Import %> directive.

Example:

<%@ Import namespace=”Enter.Namespace.Here” %>

SQL Server - ExecuteNonQuery, ExecuteReader and ExecuteScalar functions

Sunday, January 24th, 2010

The difference between these functions and the data and performance considerations when executing data queries.

New Logicia Website for 2010

Thursday, January 14th, 2010

In the final stages of design, the new Logicia website is penciled in for launch in the next few days to coincide with the new year and our goals and developments.

Along with a new-look, the website has been redesigned to be simpler and easier to navigate.

When you see the new site, any feedback and suggestions would be most welcome.

SQL Server Profiler - SQL Server 2005 Workgroup Edition

Thursday, January 14th, 2010

An interesting problem was presented today, when a database system was presented that was raising, seemingly intermittently, unhandled exceptions within a particular section of the system.  This would have been a pretty tractable, but for the fact that the source code was not immediately available and the problem was on a live system and so needed to resolved with some urgency.

Admittedly, there was some initial head scratching while table records were examined and compared to try and identify any inconsistencies.  This revealed nothing and the JIT debugger could not be enabled as the exceptions were being raised in a windows form that had not been compiled to allow JIT debugging.

The next approach was to see if the SQL commands the client was executing could be intercepted.  Then, the thinking went, the commands could be compared to see what was going wrong and what was going right when exceptions were and were not raised.  As it turned out SQL Server provide a tool called a Profiler that offers this functionality but this is not provided with the version we were working with - SQL Server 2005 Workgroup Edition.  However we did find this open source Profiler with which the cause of the problems was identified.  Such profilers are more commonly used to monitor database server workloads.

Systems Upgrade - Issue Tracking System

Sunday, January 10th, 2010

As part of plans for the new year at Logicia we are looking to implement an issue tracking system to help more effectively and efficiently manage the development, maintenance and support requests received.

Analysis of the requirements provided a list of features to search for in suitable solutions that would help the team better deal with requests and ensure its integration with the existing suite of systems and tools used.

Early in our analysis we realised that bug tracking tools such as bugzilla, trac and mantis were not suited to our needs.  Instead the two issue tracking systems short-listed to be evaluated are OTRS and Request Tracker (RT).  These systems will be further investigated and trialed in the coming weeks and findings in our specific application will be reported here.

Microsoft Office - Unleash The Power of Macros

Friday, January 8th, 2010

As part of our event management suite of web applications the site admin panel provides download-able lists of event delegates.  This can then be used to export the data collected within the website to other systems in the office.

When we visited a client that was using the event management platform we found that although they were using the exported data, this had led to a very time-consuming, repetitive process to regularly copy updated delegate data into their office database system.

The client was copying the data into an Excel spreadsheet, and knowing about Office macros we knew it would be possible to create a macro within Excel to automate the work they were currently spending a lot of time doing manually.

By writing a Visual Basic for Applications (VBA) macro it was possible to not only save them a lot of time (and save someone in the office from a very tedious task!) but also it eliminated the possibility of human-error and any possible typos with it.  As the macro runs within a matter of seconds the client can also take more regular exports from the website and synchronise office data more reguarly.

Microsoft Office macros are versatile enough to provide a solution to many of the repetitive and time-consuming tasks that arise when dealing with data in documents, spreadsheets and databases.  If you have any processes within the office that are repeated and time-consuming contact Logicia and we can look at them and suggest a more efficient alternative.

Technorati

Wednesday, January 6th, 2010

6VYY6DF3FP4T

List Invoices Report In QuickBooks

Tuesday, January 5th, 2010

As many business owners in the UK must be at the moment, a client this week has been busy preparing their accounts in light of the upcoming self-assessment deadline.

Quickbooks offers a wide range of reports, but one that appeared to be missing was a list of all invoices, ordered by invoice number.  After a little research we found a way to produce this report, although it isn’t very intuitive.

Generate a ‘Missing Cheques Report’ - Reports > Banking > Missing Cheques.

Now, select ‘Accounts Receivable’ as the account.  This generates an ordered listing of invoices.

To make this report easily accessible in the future, we changed the title of the report to ‘Invoice Listing’ (by clicking on ‘Modify Report…’) and then saved the report using ‘Memorise…’