MarimerLLC / cslaforum

Discussion forum for CSLA .NET
https://cslanet.com
Other
31 stars 6 forks source link

A Design Question #709

Open GreggThelen opened 5 years ago

GreggThelen commented 5 years ago

I've an ASP.NET MVC application. The application allows a user to 'Import' records which are retrieved from a source database.

There are usually 5-10 records which I place into an HTML table for display; however, some of the records may be invalid (for import) while others are valid. The user is also able to make minor changes to the records in the UI.

I go back and forth between handling these as a group (entire collection submitted via single button, invalid ones ignored) or having the user click an 'Import' button for each one.

Are there any design principals that would impact this decision?

rockfordlhotka commented 5 years ago

This really sounds like a business decision more than a technical one. Is this a batch update that needs to happen within the context of a single transaction? Or is each record independent from the others, so there's no overarching transaction?

Assuming they are each independent, then you have the flexibility to do each one or a batch. Then the question becomes one of user experience - what's going to provide the user with the best experience? A grid where they can see/fix all items and then click OK? Or a page-per-item to review and accept?

GreggThelen commented 5 years ago

Rocky, I was asking from the perspective of what CSLA can reasonably support (an entire collection being returned vs. single record) and from the perspective of what would be considered good design for the web.

I don't do a lot of web development so what is acceptable (and trivial) in a desktop application becomes an entirely different creature on the web.

Thanks again for the great framework - I've been using it my entire career and it has been a blessing.

-Gregg

Chicagoan2016 commented 5 years ago

@GreggThelen , I have a 'similar' situation, in my case the 'collection' can be hundreds of records but the users know they have to wait :). In another use case I send individual objects to the database. As you already know, Csla supports both scenarios, you might be able to utilize the 'switchable' stereotype.

regards

rockfordlhotka commented 5 years ago

@Chicagoan2016 hit the nail on the head. CSLA can support either model just fine. It really comes down to what provides your users with the best experience.

A datagrid-based model is usually frowned upon in the web world. Which (imo) doesn't necessarily make it wrong. But it often does make it harder to implement because the web world has never prioritized the technologies to make datagrids work well.

GreggThelen commented 5 years ago

Sorry to whine - I really hate web development. It seems like everything is twice as hard and the list of dependencies makes me physically ill.

That aside, has anyone here used JTable with CSLA in a MVC environment?

I really want to provide a good experience to the users but JTable seems to want everything in JSON - seems like quite a bit of converting of stuff back an forth which makes me feel as if I'm missing something obvious.

I cannot wait for Blazor to ship - please get me out of this nonsense. :)

MarkOverstreet commented 5 years ago

I'll have to agree with the "I really hate web development" statement! In fact, I despise it.