Hot answers tagged

27

The three points you listed seem fair: It is a fairly important project so it has to work - a C# solution would not be as stable or work as well as the existing a VBA-based solution. Indeed, later, you tell: "I would like to take this opportunity brush up on my C# skills as I am currently not as competent in C# as I am VBA" (emphasis mine). In other ...


12

I would support going to C#. Others have covered your points very well, so I won't rehash what they've said. There are definitely a lot of good reasons to stick with VBA. However, one of my employers did an impeccable job at creating meaningful documentation. So much so that design decisions were actually written down with justification - if only all ...


10

I hate to say it, but your arguments just don't hold water. Unit testing. This has been a solved problem for a very long time. There are many Unit Testing frameworks out there. Pick one. You should have been doing this already. I recommend ours, because it integrates into the IDE and provides other great features. Source control This one is a bit ...


6

Oh Dear. Your design is how bank applications were designed in the 1970s. Myself and several thousand professionals have spent decades undoing this design error to get systems looking more like option 1. Banks deal with customers the account is just a mechanism for dealing with some of the customers money. More importantly the stack of regulators who ...


4

It really depends on how you intend to move to C# (ie what technology you are going to use). If you are going to use OpenXML, then you are talking a total re-write which, if you have a solution that works, isn't recommended. If you are talking about using Interop, you may find that the process is surprisingly smooth. I've moved a lot of code from VBA to C# ...


4

You can point out that even Microsoft states in this article: Updating the code to improve features or to fix bugs would require that the Office artifact be re-emailed, re-structured, and re-worked by every single user and in every single file that has been using the customization. The article is about different approaches of developing stuff ...


3

OK, I think you are missing a layer which would make your problem easier to solve I would have: Data Layer - EF, sql client whatever Repository - hides data layer Service Layer/Business Logic - does the actual work Authentication Service Application Layer : MVC website controllers : call services views view models etc By splitting your business logic ...


3

This seems like a classical Has Many/Belongs To relationship type. What we usually do is kind of a merge between your 2 options, where: A Customer has a list of the many Accounts he has. An Account has a reference to the Customer it belongs to. That being said, @James Anderson is accurate as he states the importance of customers rather than the account ...


3

Here's the highlights from research from other sources (originally from revision 2 of the question): Should I use one database per application or share a single database amongst multiple applications Supporting multitenancy MSDN Multi-Tenant Data Architecture SO How to create a multi-tenant database with shared table structures? CloudExpo SaaS - ...


2

I am in same position, of having a very large (20k+ lines of VBA code) application built into an EXCEL workbook. Upon testing with Office 2013 it simply fails to work, believed due to changes in the sequence of start-up event in the new office model, and possibly more strict enforcement of EMET. I am thus in the position of doing a crash-conversion to C# and ...


2

I would like to take this opportunity brush up on my C# skills as I am currently not as competent in C# as I am VBA and I'd like a project like this to take me to the "next level". Be honest. Do you plan on sharing this information with the other people involved in making this decision? If not, I would place the entire blame on you if the project ...


1

The structure may depend on the service of your servers. If I were you, for quick answer I may check UI pages first which have many common parts or not. If overall pages , functions and features are different by roles, you don't need to worry about making multi server. You have many choices and even you can use only one DB with multi servers. Sometime ...


1

As you say in one of your comments the best way to go about this is by using a shared project and adding several heads to it. In your case a windows phone 8.1 head and a uwp head. This position was also expressed in an MVA by Jerry Nixon and Andy Wigley (I think this is it, but it has been updated since), in the section about porting 8.1 apps to uwp. In ...


1

Depending on how Windows feature specific your app needs to be, you could go with a platform like Xamarin which would allow you to write not only for Windows, but also iOS and Android in the same codebase.


1

YMMV, but in our environment, we prefer any test code automatically to be rebuild after a change to library on which the test code depends was made. Having to switch between configurations first makes it easier to forget the rebuild. And don't you run into trouble when you try to debug through the test applications, and step from the test application's code ...


1

We don't know all of your requirements and resources, so I can't possibly say what is best here. However, there are some things to consider. Resources Do you have the knowledge to build this as an Asp application? Does your staff know enough to build and support it? If you don't have any professional devs on staff to support this, Access may be the way ...


1

You may think in terms of packages, which makes the location of the source irrelevant. For instance, if you work with C#, your shared library can be published as a NuGet package. When you refactor the library, you don't cascade anything immediately to work application; instead, you publish a new version of the package, and when you're ready, you migrate the ...



Only top voted, non community-wiki answers of a minimum length are eligible