CSI Media
 
CSI Media Website Design Company Blog

CSI Blog

15 March 2013 Posted in General Blog

Just take a look at what we've been up to

Well, what can we say about today? Some of the CSI team have gone completely crackers over Red Nose Day to raise money for Comic Relief. Three of the most competitive of the staff members at CSI Media raised money by taking part in a Cream Cracker Challenge - to see who could eat the most cream crackers without a drink in 2 minutes. Well done to Richard Nash, the Business Director, who managed to scoff 7 whole crackers and won the competition. The Designer, Craig Guest, came second after having devoured 5.5 crackers and commiserations go to the New Business Development Manager, Dean Amery who gobbled 4.5 crackers.

The Cracker Challengers ready to compete:

CSI goes crackers

Starting to regret the challenge:

       

Well done to all who took part, it was fun to watch and raised money for a great cause.

A surprise guest also made an appearance in the office - Rob Machin, web developer, dressed as a woman! Rob promised to put a dress on at lunchtime and keep it on for the rest of the day if all of the team sponsored him. Well, no-one could resist seeing Rob get his legs out!

Guest appearance:

 

Thanks to everyone who took part in the day's activities and thanks for the generous donations. As a result, we will be donating £216 to Comic Relief. Well done all!

Read more...

21 December 2012 Posted in General Blog

From all at CSI Media x

All of us at CSI Media want to wish our customers and suppliers a Merry Christmas and a Happy New Year! To get into the Christmas spirit, some of the team came to work in fancy dress, take a look at the pics below if you want a laugh!

We also enjoyed a Christmas party with our very own disco ball and Santa gave out the Secret Santa presents (one of the three Santas that is).

 

 

CSI Media Tean at Christmas

 

Santa at CSI Media

 

Christmas buffet at CSI Media

Read more...

14 December 2012 Posted in General Blog

Thanks to all who took part

We are really pleased with how our charity baking day went this week. Several people baked a range of festive goodies for all the office to buy including gingerbread biscuits, chocolate wreaths, mincepies, traditional fruit cake and shortbread.

As we work in an office of foodies, partial to a cake or two, we managed to raise a shocking £84 for our chosen charity - The Smile Train. You can see what great work the charity does here, performing operations for children with cleft lips - www.smiletrain.org.uk.

Thanks again to everyone who baked some delicious goodies and thanks to all who left their diets at home for the day!

              

Read more...

30 August 2012 Posted in Marketing

Keep Up With Social Media

Last week we shared ideas on how to make the most of competitions. This week our no-nonsense social media tip is all about keeping pace with social media.

Tip number 3: Keep your content up to date

One of the great things about social media is how fast news travels; within minutes comments are retweeted and images repinned. But this is also means that content can become out of date very quickly. Therefore to make sure that your social media works for your business you need to ensure that it is updated regularly.

When we sign up for social media sites we all have good intentions of keeping it up to date, but more often than not this enthusiasm dwindles as higher priority jobs take precedence.

Make time

One way to ensure that this doesn’t happen is to assign dedicated time to actually keep your social media up to date. Don’t just see it as an extra add-on but treat the updating of your profiles and pages as an important part of you marketing strategy. Allow time for researching and writing relevant and interesting content.

Share ideas and the responsibility

Now don’t all rush off and ask the youngest (and therefore presumably the coolest) member of your team to be solely responsible for updating your tweets etc. Just because they are young doesn't automatically mean they are the only person for the job. Share ideas and share the responsibility of updating your content with various members of your team but remember to allow dedicated time.

Dashboard

It may also be worth considering investing in a social media dashboard. There are numerous tools in the market now for updating, monitoring and managing several social media outlets at once. Many now allow you to schedule your messages and tweets in advance and let you analyse your social media traffic. That way you can see perhaps what content is working for you on what is not.

Again although dashboards can save time you need to do your research into what social media sites they support and which will most fit with your goals. You also still need to make sure that your content is interesting, relevant and that you do keep an eye of world events.  In the past some companies have come across in a bad light as pre-scheduled tweets have been seen as insensitive following tragedies or conflicts.

Read more...

20 August 2012 Posted in Marketing

Make Competitions a Winner for Your Business Too

Over the next few weeks we'll be giving you some simple, easy to implement tips on to make Social Media work for you. Our first tip focussed on selecting a small handful of the Social Media sites that work inline with your marketing goals rather than trying to be involved with every Social Media site out there.

We can now reveal that our Social Media tip number 2 is:

2. Make Competitions a Winner For Your Business Too

Competitions are a great way to get people involved with your Social Media. They can be a used to increase you likes, repin your photos and retweet your comments.  

To make the most of competitions here a few handy ideas:

  • Make it fun- This sounds pretty obvious but the more fun and interesting a competition is the more people will enter. So instead of boring your followers by asking them to answer a true or false question, why not get people to share their favourite holiday pictures on Pinterest or funniest memories on Facebook.
  • Make it easy- Everyone is busy! If it’s too complicated and time consuming people just won’t bother.
  • Make it attainable- We’ve all done it-seen a competition and thought "Why bother? I’ve got no chance of winning."  Try to encourage the 'got to be in to win it attituide' by offering more than one chance to win and by including runner-up prizes.
  • Make it useful – Don’t just ask people to like you on Facebook (for them to like you once and never return to your page) but instead use it to collect information about your followers' dream holidays-use it to get ideas about what you customers want or don’t want on their holidays. Increase interaction by getting your followers involved in voting for and deciding the winner.

Overall the key to a good competition is to make it worthwhile for your company too.  

Good luck!

Read more...

07 August 2012 Posted in Marketing

Are You Making the Most of it?

Social Media is everywhere but is has been claimed that the travel industry does not capitalise on its full potential. Over the next few weeks we’ll be giving you some tips to help you make the most of Social Media. So here we go with tip number 1 …

1.       Become a Master, rather than a Jack of All Trades!

Twitter, Facebook, Pinterest, Flicker, LinkedIn, Instagram, Google+...there are literally hundreds of Social Media sites out there but you can’t possibly be on them all!

So ok this might sound pretty obvious but instead of being a Jack of All Trades and  trying to get your business on all the Social Media sites available, what we suggest is that you think carefully about your marketing strategy and consider which Social Media site would work best for you and then become a Master. Choose a handful of Social Media sites that fit in well to your marketing goals and focus your time and energy on them.

Facebook and Twitter are the two obvious ones but have you considered Pinterest or Instagram?

A picture is worth a thousand words…

Images are becoming increasingly significant in online communications. Just take a look at the rise of Social Media sites such as Pinterest (now the third largest site behind Facebook and Twitter) and apps like Instagram. A picture is worth a thousand words and this is certainly true when it comes to holidays. Just one image can evoke such strong emotions; joy, envy, desire …they can even sell a holiday!

So why not try creating a photo board on Pinterest with dazzling, inspiring images from you holiday destinations and link then back to special offer pages on your website or challenge your customers to create dream holiday boards...just watch your special offers spread as users re-pin your images.

Why not give it a go and see!

Read more...

26 April 2012 Posted in General Blog

Data Mining, Targeted Ads and Google's Drive service.

To begin, Google's Drive service has now been launched, and amid much speculation about features and storage (as well as comparison to other services), there seems to be a lot of noise about a section of Google's TOS that covers this:

"Your Content in our Services: When you upload or otherwise submit content to our Services, you give Google (and those we work with) a worldwide licence to use, host, store, reproduce, modify, create derivative works (such as those resulting from translations, adaptations or other changes that we make so that your content works better with our Services), communicate, publish, publicly perform, publicly display and distribute such content.

The rights that you grant in this licence are for the limited purpose of operating, promoting and improving our Services, and to develop new ones. This licence continues even if you stop using our Services (for example, for a business listing that you have added to Google Maps)."

Google is, first and foremost, an advertising company. That is their main revenue stream, and what the majority of their products aid. Google products collect data about you, which is then used with their advertising services to display relevant ads - more relevant ads result in a higher click through rate and therefore are better for the people paying for the ad to be placed, as they get better value for money (lower cost per conversion). So, of course Google is going to mine your data to display ads that are relevant to you, these services have to make money, Google is a business (though I must stress that some Google projects apparently don't).

When you use any free service that mines your data, you are the product, not the customer. Your data is used to make money - that's why it's valuable (often also why the service is free to the user, too) and that's how companies that do this make their money - and there's nothing shady or invasive about that. You make the decision to hand over your data in exchange for these services, it's up to you to read through the terms of service and decide if it is acceptable to you - if not, don't use the service.

We often use Google's targeted ads system to achieve fantastic cost per conversion rates for our clients, this would not be possible without those millions of people having their data scanned and interpreted. Google penalise you for displaying irrelevant ads by putting the cost per display of that ad up, and help to display relevant ads by lowering their cost per display. This directly benefits the user, as they're seeing ads relevant to their interests and directly benefits advertisers by showing their ads to people most likely to be interested.

Something that seems to be forgotten all too easily is what the internet was like before the arrival of such targeted ads: intrusive advertisements that often were of no interest to the user and often saw terrible cost per conversions for the advertiser. Isn't having your data mined to display relevant ads that might be of some use to you (and driving down the cost per conversion to advertisers) a good thing?

http://www.google.com/policies/terms/

--------------------------------------------------------------

This is purely this writer's opinion, and not necessarily that of CSI Media or it's clients. Though every effort has been made to ensure that the information expressed and referred to in this blog post is accurate and up to date, no guarantee is expressed or implied as to it's accuracy or completeness.

Read more...

20 April 2012 Posted in Marketing

Can Pinterest help promote your Business?

Have you heard of Pinterest yet?

Well you should take a look. Pinterest is now the third biggest social media website behind Facebook and Twitter.  It is rumoured to be one of the fastest growing websites in history to reach 10 million visitors. It is claimed that nearly two-thirds of the users are females.

So what is Pinterest and how does it work?

 Pinterest is a social networking tool that allows users to create online mood boards about their interests and in their words, ‘organise and share beautiful things you find on the web.’  Users request an invite and then design an unlimited amount of boards ranging from hair and beauty to fitness to travel. Pinners share their interests as images, videos or discussions in these themed boards which save their links. What’s more they can be repined by other users, which is what makes the website so powerful. Within minutes images and links can be spread.

So how can Pinterest help to promote your business?

For companies involved in design the answer seems pretty obvious- the website can be used to create online visual portfolios. But how about those involved in the Travel Industry? Images can be extremely powerful; they can evoke strong feelings and some travel companies have honed in on this by creating boards displaying beautifully inspiring photos, which have certainly encouraged me to want to plan my next travel adventure! Others have set up clever competitions challenging Pinners to create boards such as their wish lists of holiday destinations.

As with all social media websites there are possible problems to consider. Some have shared concerns about the mass sharing of unauthorised images. The way around this could be to only use content you own or have the right to use.

Either way Pinterest is a creative, visual and influential website that surely cannot be ignored.

Happy pinning!

Read more...

13 April 2012 Posted in General Blog

Number 41 to be exact!

We are delighted to announce that CSI Media have made it into top 50 of The Drum’s 100 Design Companies 2012. We actually ranked number 41 out of over the 400 of the design companies who took part on the survey. For our North West region we ranked joint 7th, something which the whole team can be proud of.

The Drum Magazine, who describe themselves as, “a leading resource for Advertising, Design, Media, Marketing, Digital, Social Media, PR - News, Information & Jobs,” set out on the task of finding out how the landscape of the UK’s design industry had changed over the last 12 months. They carried out a major survey of a variety of design agencies in the UK, which ranged from graphic design studios to digital agencies.

CSI Media were ranked on UK fee income from our design activities for the 2011 calendar year. The report, which is published online; see the link below, includes profiles of all the 100 agencies, which includes company details and information about clients and recent campaigns. There is also a gallery of design work, which reveals our design for the soon to be live Outside Edge website.

Well done team!

The Drum Design 100

http://www.thedrum.co.uk/news/2012/03/28/drum-design-100-numbers-59-40-revealed

Read more...

05 March 2012 Posted in General Blog

..and she makes a good brew!


We have a new person in the office - Juliet. She'll be working on PPC, tenders and winning new customers for our clients, amongst other things. Our clients might see her name about on emails, and some of you might even get the pleasure of speaking to her every now and then!
She's also a dab hand at decorating cakes (which she does as a hobby), she's had two orders from staff since she started work here just 2 weeks ago and let's just say we were not disappointed! Care to take a look? Here's one or two of her creations:

We're not sure who Christine is, but happy retirement!
A very nice one with plenty of flowers, but nothing in terms of flowery-ness compared to...

It's like a fountain of flowers flowing from the top =]
...this one, which must've taken ages! We can only assume that the stand it's on is for winning some kind of flowery-ness award?

We like the imagination that's gone into these...
If only our office christmas cakes looked as exciting as this... hint hint! On to the last one we're posting here (and, possibly the most impressive):

Is it a handbag, is it a kids toy, no, it's a cake!
"Tori" must've been very impressed, we know we would have been. Very imaginative!

Thanks for looking, we'll be posting another interesting photo blog soon.

Read more...

05 December 2011 Posted in General Blog

The Grand Shaving

So, we grew our mos for the whole month, and now the most spectacular of the lot has graciously allowed us to photograph him shaving it off. After a little bit of over-exposure, he looks an awful lot like Keith Lemon...

FordiLemon

 

Pretty impressive mo, even if the picture is a little '40s… flying jacket, anyone?

 

And, now, on with the shaving!

shaving

 

All done... we could easily do the whole ten years younger thing, just shave off your moustache.

allsmiles

 

If you fancy donating to this majestic mo, just head here:http://mobro.co/thetashingmrford

Read more...

22 November 2011 Posted in General Blog

Raising money for men's cancers by growing a Mo!

Well, as some of you may be aware it's MOvember and a few of us in the office have been joining in. From the spring lambs with barely a hair to show, to the Elders of Code with full-on face furniture.

We've not shaved them since November the first, and they won't be leaving til December the first! Come the first of December, we'll shave off these majestic mos and we'll post pictures of the grand de-tashing here to show you all our efforts.

Movember is all about raising money for men's cancers, and raising awareness. Sad to say it, but us blokes don't go to the doctors as often as we should, nor do we discuss our family history like supposed to either. The idea of having something in-your-face like a  moustache is to prompt questions and a discussion about what Movember is, and thus raising awareness.

Taken from http://uk.movember.com/about/ - Mo Bros effectively become walking, talking billboards for the 30 days of November and through their actions and words raise awareness by prompting private and public conversation around the often ignored issue of men’s health. 

The funds raised in the UK support the number one and two male specific cancers - prostate and testicular cancer. The funds raised are directed to programmes run directly by Movember and our men’s health partners, The Prostate Cancer Charity and the Institute of Cancer Research. Together, these channels work together to ensure that Movember funds are supporting a broad range of innovative, world-class programmes in line with our strategic goals in the areas of awareness and education, survivorship and research.

Please donate to Movember: https://www.movember.com/uk/donate/your-details/type/donate-to-cause/member_id/96/

Read more...

26 October 2011 Posted in General Blog

A quick sorry for being so quiet of late.

As some of you may have noticed we have been a lot quieter than usual and are not attending many of the exhibitions we normally participate in.

Why?

To put it simply we have been sooooo busy!! We have quietly launched 7 web systems and sites over the last 2 months with 6 more due over the next couple of weeks.

We have also won 12 new contracts within all sectors, a lot of which are still in travel, but 3 of which are mobile applications. How exciting.

Here are some of the fantastic successes we have enjoyed recently:

1) We launched a travel website a few weeks ago that took over one million pounds in its first 5 days! WOW, but guess what we can't tell you a single thing about it :-(  - Actually we had our best day on the Travelberry platform 7 days ago, taking a whopping £800,000 + in one day!

2) We launched our new ecommerce platform that has already increased sales for two clients by over 300%. Look for these on our portfolio soon.

3) We have sold 6 new tour operator solutions, two of which will add over £250,000's worth of new development and features over the next 6 months.

4) We have now increased our team by 6 in the last 3 months. The good news is they all make a great brew.

We are incredibly proud of our achievements of the last few months and are very sorry that we might not be able to see you at the WTM or Travel Technology Europe show early next year. Our existing clients must come first and by hopefully working together with them, you will be able to follow their successes as well as ours.

Don't forget if you have any exciting projects for next year or you want a chat you are more than welcome to pop up and have a cuppa with us northern folks.

Toodle pip for now.

 

 

 

Read more...

19 September 2011 Posted in General Blog

How do you improve your online experience?

Let’s face it, anybody who has run an online business for a while has their own opinions on what they should and shouldn't be doing to achieve the best results from their website.

The truth is that in a lot of cases being different and having your own opinions is fine, but only if you make sure that you have covered some of the basic principles of ecommerce and web build.

Here are 5 things we feel you should always consider when you are looking to build a transactional or information based website:

Website consideration number 1:

Make sure the website clearly shows what you provide and always has a strong call to action!

A website should always convey your brand and visually impress consumers from the very first few seconds they reach the site, but not at the expense of clearly displaying your products and services.  

The call to action should always be strong on any website irrelevant of what you sell or provide.  If a website does not guide the consumer to an area of call to action the site is not serving its purpose.

Web design consideration number 2:

Don’t rush a site live!

We all have commercial deadlines to hit, but if you don’t feel your website is ready for the consumers, don’t send it live.

Your website is your online shop window and if it has gone live with bugs, the site will make the wrong first impression. Web Designers will always fix bugs before you go live and sign off, so make sure you give yourself the right amount of time to test and smooth out any issues before you go live.  

Web consideration number 3:

If your website is going to take online payments it is imperative to remember to keep the purchasing and payment process streamlined.

Pricing and what is included must be crystal clear.

You must look to generate consumer confidence and trust by clearly displaying concise policies, security badges, trust certificates and contact information. Consumers can be very cautious when asked for personal information, with news of hacked websites being increasingly reported. The biggest and best online companies in the world recognise the importance of consumer confidence and by using these techniques it is one way to help alleviate any fears they may have.

Website design consideration number 4:

Website usability is massively important. If you find your website hard to use during the build process, how will your consumers get on?

You should always make sure your consumers can quickly find and discover products / services by offering clear navigation / calls to action.

Don’t forget the consumers will not always start on the home page so you should have strong product / service landing pages for them to arrive at, with clear call to action. It must also be easy for them to navigate to other product and service areas within your website. 

Website design and marketing consideration number 5:

Once your website is ready to go live and you are happy with everything, the marketing of the site needs the same level of consideration. The days of just throwing some PPC at it are long gone.

Make sure the marketing is always relevant and that you understand the ROI on every penny you spend!

Don’t forget it’s not always just about traffic levels. A site is better having 100 visitors to your website a day with 10 people looking for the product and service you offer, than 20,000 hits a day with only 1 visitor being a potential customer.

SEO and Social Media should form part of your overall plan, but don’t be under any illusion. They take time and effort to implement and come with all the associated costs. Time is money!

Every marketing avenue you look at should be considered and understood. Eventually you will find the marketing streams that will work for your business, which will create the foundation for you to build on.

We hope you have found this useful!

Read more...

15 July 2011 Posted in Development

Yet another cool feature of LINQ

For my current project I am implementing a dynamic rule system. In the admin area users will be able to setup a rule by specifying one or more conditions. A condition is setup by selecting a field (such as first name, country, DOB etc), an operator (equals, less than, greater than etc) and providing a value to compare against ("Andy", "UK", "1985-09-03" etc).

The aim is that users can specify any criteria they want for a rule, e.g. "match all people from the UK where their DOB is before 1985" or "match all people who's name begins with 'Andy' and are male".

On the front end when a user performs a search it should be able to load that rule from the database and run it against the current request. So if you image the request as an object with a child object of "Customer", and that customer object has the properties "FirstName", "Country", "Gender" and "DOB", then the rule system should be able to interparate the criteria and check them against the current instance.

So how in the world do you do that? In a previous project I made a similiar rule system, but all the fields were hard coded as enum values. The rule logic had a massive switch statement that for each entry would get the applicable value from the passed in object. E.g.

switch (ruleCondition.Field)
{
case Fields.FirstName:
return search.CustomerInfo.FirstName;
case Fields.DOB:
return search.CustomerInfo.DOB;
}


The problem with the above approach is that if a new field needs adding in the future then you need to add an enum value, update the rule logic to use the new enum value, ensure the admin area supports it etc.

My approach for the current project is to use LINQ expression builder. A while ago there was a guy who worked with me who was a guru at everything .NET. He taught me LINQ and Entity Framework. He also introduced Microsoft WorkFlow. Basically that is like using Eval() in JavaScript or classic ASP. You can pass a .NET statement as a string into work flow and it will compile it in runtime to a usable function. I don't know the ins and outs of WorkFlow, but judging by it being available for .NET 2 I doubt it uses LINQ expression builder (LINQ was introduced in .NET 3.5), it is more likely using reflection, e.g. you provide "CustomerInfo.FirstName", it is using reflection to find the property "CustomerInfo" against the current search object, and then using reflection to find the property "FirstName" against the CustomerInfo object.

Don't get me wrong, WorkFlow is brilliant, but in my opinion LINQ expression building superseeds it. So what is LINQ expression builder? If you don't know LINQ, then the rest of this blog is unlikely to make sense. Take the following statement:

List foundPeople = people.Where(x=>x.FirstName == "Andy").ToList();


Looking at the LINQ part, we have:

people.Where(x=>x.FirstName == "Andy")


Lets break that down. We have a collection of "Person". We are selecting all from that collection where the "Where" condition matches. I.e. it loops through each item in the collection and adds each item that matches the criteria to a new collection that is returned. The condition in this example is FirstName == "Andy". Using a traditional foreach approach that might be:

List foundPeople = new List();
foreach (Person x in people)
{
if (x.FirstName == "Andy")
{
foundPeople.Add(x);
}
}


All those above lines reduced to a single line in LINQ, got to love it :D Anyway, we are looping through each "Person" item in the collection and for each item, inspecting the FirstName property and checking if it equals Andy.

So breaking it down, we have:
Input param: Person
Left value: "FirstName" property
Operator: Equals
Right value: "Andy" constant

The way I just broke it down above is how LINQ expression builder works. You:
1) specify the input param(s)
2) Specify the field(s) to lookup
3) Specify the criteria
4) Join it all up

So lets take it step by step. First step, specify input param:

ParameterExpression inputPerson = Expression.Parameter(typeof(Person), "x");


The above statement is creating an input parameter. We accept an instance of type "Person" and will call that parameter "x". You can call the parameter whatever you want.

Next we do:

Expression firstNameField = Expression.PropertyOrField(inputPerson, "FirstName");

The above statement is creating an expression for getting the value from the "Person" instance via the property or field "FirstName". PropertyOrField means it will look for either a public field called "FirstName" or a get property called "FirstName". We are passing in the "inputPerson" parameter, which is our "Person" instance, so effectively we are writing "x.FirstName"

ConstantExpression nameValue = Expression.Constant("Andy", typeof(string));


The above statement is creating a constant of type string with the value "Andy". Remember in our LINQ we wrote 'x.FirstName == "Andy"', well there is the "Andy" segment. Why do we have to go through the hassle of specifying typeof? Because you can provide any value, it could be an integer, an enum, a boolean etc. The typeof allows LINQ to assert that when you specify a condition the left and right side are of the same type. E.g. you are not allowed to expictly match a string to an integer (take that, VB users!)

BinaryExpression equalsCondition = Expression.Equal(firstNameField, nameValue);


The above statement is glueing the two sides of our condition together. On our left side we have x.FirstName, on our right side we have "Andy". We are specifying the join as "equal" which equates to 'x.FirstName == "Andy"'. We are nearly there!

Expression<Func> expr = Expression.Lambda<Func>(equalsCondition, new ParameterExpression[] { inputPerson });


The above statement finally puts the rule together. We specify that the rule accepts a Person and returns a bool (Func), we build the rule using the equalsCondition and then specify all the parameters that are expected (person in this case).

That results in an expression tree of our rule, but how do we use it? We compile it!

Func compiledRule = expr.Compile();


We can then use it like any other function:

List people = this.GetAllPeople();
List matched = people.Where(x=>compiledRule(x));


The compiled rule performs the logic that we built up. Obiviously it seems a lot of work to simply check if the person's name equals "Andy", but the point is that it was built dynamically.

We could had got the name from the database and fed the constant with:

String name = this.GetName();
ConstantExpression nameValue = Expression.Constant(name, name.GetType());


We could have got the operator from the database:

OperatorKey key = this.GetOperator();
BinaryExpression condition = null;

switch (key)
{
case OperatorKey.Equals:
condition = Expression.Equal(firstNameField, nameValue);
break;
case OperatorKey.NotEquals:
condition = Expression.NotEqual(firstNameField, nameValue);
break;
case OperatorKey.LessThan:
condition = Expression.LessThan(dobField, dobValue);
break;
}


Noticed in the LessThan example I used dob, you could populate that as:

DateTime dob = this.GetDOB();
ConstantExpression dobValue = Expression.Constant(dob, dob.GetType());


We could even get the field to lookup from the database!

string lookupField = this.GetLookupField();
Expression field= Expression.PropertyOrField(inputPerson, lookupField);


Icing on the cake, you can string multiple conditions together, e.g.

BinaryExpression dobCondition = Expression.Equal(dobField, dobValue);
BinaryExpression nameCondition = Expression.NotEqual(nameField, nameValue);
BinaryExpression completeCondition = Expression.AndAlso(dobCondition, nameCondition);


In the above, we are combining the dob and name conditions together using an && statement. That might look like:
x=>x.DOB == dob && x.FirstName == name

In the future if you added an extra property to the Person class, e.g. "LastName", then you could add to the database a new record to represent the "LastName" field. No code changes required (assuming the Person class is defined in a separate dll)!

That is what I am hoping to achieve with my current project. I will have a database table filled with all the available fields. In the future I can add new fields to the table and they will appear in the admin area and will function correctly in the search logic.

Read more...

10 April 2011 Posted in General Blog

Team Of Web Designers from CSI Media climb snowdon for make a wish foundation

A team of us climbed Snowdon at the weekend to raise money for the charity Make-A-Wish Foundation! 14 members of the CSI Media team (and Sally the dog) got their walking gear on and tackled what was probably one of the most difficult physical challenges any of us have ever done before (with the exception of Nick who is a pro at this kind of thing).

It was a scortching hot day and many of us soon realised that we were in for a hard day of walking (much of it actually climbing up some pretty big boulders), but we couldn’t give up after raising just over £900 so far for such an important children’s charity.

We managed to complete the climb in less than 6 hours, 3 hours up and 2 hours 45 minutes down. Not bad considering the sign at the Visitor Centre states that our chosen trail up is ‘Very Challenging’! It was very relieving to see the top of the peak within a few strides, the only disappointment for many of us was that the bar at the summit was closed.

Anyway, we are all recovering quite well with a few stiff legs and blisters but nothing too severe, and some people have actually been talking about possibly climbing Scafell Pike next year for charity.

Enjoy the photos and feel free to donate to Make-A-Wish Foundation, it’s not too late and will make some very poorly children’s dreams come true :)

 

Web Designers Beat Snowdon

Web Designers Beat Snowdon

Web Designers Beat Snowdon

Web Designers Beat Snowdon

Read more...