Wednesday, 12 September 2012

DataView RowFilter Or DataTable.Select with DateTime conditions in .Net

There is very good blog at http://theonetechnologies.com/outsourcing/post/dataview-rowfilter-or-datatable-select-with-datetime-conditions.aspx

One needs to be very careful while using datetime in conditions for DataView.RowFilter or DataTable.Select. Because it is not that straight forward as comparing against string to numbers.

The string representation of datetime format depends upon your server/computer's culture or your application's thread culture. While the rowfilter or select method needs the datetime formatted as invariant or en-US culture.

Consider the scenario in which you are running your application running in Spanish culture, the following condition will fail in that case:
dataView.RowFilter = "Date = '" + dateVariable.ToString() + "'";

To overcome this kind of culture specific issues:
  1. Always use Date values enclosed within sharp characters # #
  2. Use culture invariant string as condition. For above mentioned example, the following will always work
dataView.RowFilter = String.Format(CultureInfo.InvariantCulture.DateTimeFormat, "Date = #{0}#", dateVariable);

Friday, 25 May 2012

Seven things to consider before hiring a software development company

Make sure your agreement gives you ownership. You should own the resulting source code and any inventions that arise from developing the code. Frequently the software company will use a custom library that they have developed, and you won't own that, but the company should give you a royalty free license to the source code that allows you to continue development of your software with a different firm.

Make sure the software company uses a variety of different software development technologies. You should find a firm that has created projects in Java, php, .Net, C++, for a variety of platforms like iPhone, web, and desktop. Even if you are looking for a company to take over the development of your application, you should not look for a firm that is an expert in the technologies that your application was developed in. Because of rapid changes in technologies, it is possible that you will need to take advantage of other technologies. For example, the mobile apps market is hot now, and many companies moved to develop their software version for mobiles. In such kind of cases it is very helpful if your software company works in variety of different technologies, and you could easily ask them to develop your software in different technology.

Make sure the software company has experience in a wide variety of domains. The software affects marketing, sales, and sometimes it is the product. The more experience your software development company in variety of businesses, the better they will be able to help you improve yours.

Never go for big name expensive firm. The big software consulting companies will have talented software developers, but that doesn't mean your project will get them. The big name companies will charge a lot because they have the reputation, but that doesn't guarantee you'll get competent developers. If you can get similar team of developers from small companies, it is wise to go for it and save the budget. You can find many software outsourcing company in India which justify this point.

Make sure the software company delivers small frequent releases. You don't have to deploy those releases more often than you want to, but the software developer should naturally want to deploy improvements every day or two.

Make sure the software company has sufficient number of developers than you will need.
Most software projects are not a steady diet of work that need some fixed staffing size. A large benefit to a consulting firm is their ability to increase or decrease the number of developers on your project with no notice. If the company is too small they will be too dependent on your business and you'll never get the developers you want.

Make sure the company has an online tracking tool. It should handle bugs and features, and also allow you to see the developer's hours and notes. The better ones also have your agreements, invoices, and payments online so that it takes no time to keep track of that stuff.

The One Technologies is software outsourcing company in India follows compliant standards to develop custom software solutions for its clients and provide offshore development center and staffing services as per client needs.