Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CSLA 4.11.1 breaks deletions when root object is list #1212

Closed
GreatBarrier86 opened this issue Jul 22, 2019 · 10 comments
Closed

CSLA 4.11.1 breaks deletions when root object is list #1212

GreatBarrier86 opened this issue Jul 22, 2019 · 10 comments
Assignees
Labels

Comments

@GreatBarrier86
Copy link
Member

Question
The change to UndoableBase in #1191 seems to have caused a new problem in my scenario. In order to delete an item from my list, i'm calling DoRemove(myItem) followed by SaveAsync. Since ViewModelBase.SaveAsync clones the list, and your change below removes _stateStack from being serialized in UndoableBase.OnGetState and UndoableBase.OnSetState, when BusinessListBase.AcceptChanges is called, the loop through DeletedList that calls C.AcceptChanges throws an exception because C.EditLevel - 1 ends up being -1 while parentEditLevel is 0.

In a similar style to my previous issue, see if this breaks for you as well

DiariesVM lvm = DiariesVM.Fetch(); //Assume this creates a DiariesVM that has a BusinessListBase Model containing 2 Diary BusinessBase objects
lvm.DoRemove(lvm.Model[0]);
lvm.SaveAsync();

Code removed from CSLA UndoableBase
image

UndoableBase Failure Point
image

Version and Platform
CSLA version: 4.11.1
OS: Windows
Platform: Xamarin

@GreatBarrier86
Copy link
Member Author

GreatBarrier86 commented Jul 23, 2019

Btw, it looks like the reason it works successfully on Update/Insert + Save but not Delete + Save is because when you clone a list item that is NOT in the DeletedList, BusinessListBase.InsertItem that occurs when deserializing to the clone sets the new item to the target level.

Since DeletedList is just a regular MobileList, it doesn't reset the children's EditLevel to the expected state when the deserialization during Clone, so the Delete fails.

Hope that can be some help.

@GreatBarrier86 GreatBarrier86 changed the title CSLA 4.11.1 breaks deletions when list is root object CSLA 4.11.1 breaks deletions when root object is list Jul 23, 2019
@rockfordlhotka
Copy link
Member

Thanks @GreatBarrier86 - I see this thread, but am very busy this week, so may not get to it. Just wanted to know I'm not ignoring you (well, I am, but only due to time constraints 😉 )

@rockfordlhotka rockfordlhotka transferred this issue from MarimerLLC/cslaforum Jul 23, 2019
@rockfordlhotka rockfordlhotka added this to To do in Version 5.0.0 via automation Jul 23, 2019
@rockfordlhotka rockfordlhotka self-assigned this Jul 23, 2019
@GreatBarrier86
Copy link
Member Author

No worries! Glad the report made sense!

@rockfordlhotka
Copy link
Member

I believe I have this resolved for 4.11.2. That's the good news @GreatBarrier86 !

There was a change in 5.0 (#1080) that actually masks the underlying issue with MobileFormatter and its interaction with UndoableBase. As a result, I am having a hard time porting the fix forward to 5.0.0 - more research is required.

@GreatBarrier86
Copy link
Member Author

@rockfordlhotka, great to hear about 4.11.2. How does this cause problems for 5.0? I probably cant offer advice but i'm curious to know. the link you provided has a lot of stuff in it so i can't fully appreciate the context like you can.

@rockfordlhotka
Copy link
Member

Basically for this issue I dug down to the root issue, which is that we special-cased the use of MobileFormatter within UndoableBase rather than having MobileFormatter serialize the state stack like the other formatters.

So what I did to fix this now is make UndoableBase use MobileFormatter to serialize all its data when appropriate (depending on clone or undo) - including the state stack. The result is parity with the other formatters.

Unfortunately in the meantime @Hadronicus ran into a somewhat related issue to what you reported, and we came up with what seemed like a good solution at the time - basically a workaround for the fact that MobileFormatter was being treated in a special way.

Of course now that MobileFormatter works like the other formatters, it turns out that the "solution" in #1080 is a problem. Basically a special case to fix a special case 😢

I think I see a simple fix to that issue. But I am exploring a more comprehensive fix that'll eliminate a whole bunch of other special case code between NS2 and full .NET - mostly in FieldData and FieldDataManager.

@b-higginbotham
Copy link
Contributor

This is possibly related to #1125 which I discovered after implementing the fix for #1080. I’ll be able to take a closer look at it in the morning.

@rockfordlhotka
Copy link
Member

@Hadronicus You should wait until I'm done with the changes for this issue in v5 - right now the surgery I'm doing is pretty deep and there's no sense looking at anything to do with n-level undo until I either roll this forward or discard what I'm doing.

I'm literally consolidating all the n-level undo stuff in FieldDataManager and FieldInfo so there's no difference between NS2 and full .NET.

rockfordlhotka added a commit to rockfordlhotka/csla that referenced this issue Jul 31, 2019
rockfordlhotka added a commit to rockfordlhotka/csla that referenced this issue Jul 31, 2019
@rockfordlhotka rockfordlhotka moved this from To do to In progress in Version 5.0.0 Jul 31, 2019
@GreatBarrier86
Copy link
Member Author

To me, it seems that the fix to remove special handling for NS2 would be the preferable option. That would yield a more consistent result across platforms, I’d imagine. It also seems scary and could break things at the onset, but would probably be better in the long run.

Version 5.0.0 automation moved this from In progress to Done Jul 31, 2019
rockfordlhotka added a commit to rockfordlhotka/csla that referenced this issue Jul 31, 2019
Troncho added a commit to Troncho/csla that referenced this issue Aug 6, 2019
* Create unit-testing

* Rename unit-testing to unit-testing.md

* Bump Microsoft.EntityFrameworkCore from 2.2.1 to 2.2.3 in /Source

Bumps [Microsoft.EntityFrameworkCore](https://github.com/aspnet/EntityFrameworkCore) from 2.2.1 to 2.2.3.
- [Release notes](https://github.com/aspnet/EntityFrameworkCore/releases)
- [Commits](https://github.com/aspnet/EntityFrameworkCore/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Update BasicModernTests.cs

Added unit test for BeginEdit while using MobileFormatter.

* MarimerLLC#1080 Update BasicModernTests.cs

Added unit test for BeginEdit while using MobileFormatter.

* Bump Microsoft.NETCore.UniversalWindowsPlatform in /Source

Bumps [Microsoft.NETCore.UniversalWindowsPlatform](https://github.com/Microsoft/dotnet) from 6.1.9 to 6.2.8.
- [Release notes](https://github.com/Microsoft/dotnet/releases)
- [Commits](https://github.com/Microsoft/dotnet/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* MarimerLLC#1080 Fixed issues caused by using MobileFormatter in .NET Framework

Fixes MarimerLLC#1080. Updated unit tests to complete the BeginEdit, CancelEdit, and ApplyChanges workflow. Added a factory method for getting a native formatter to support serialization and deserialization within the same process.Added unit tests to showcase the edit level mismatch bug that occurs when using the ViewModelBase class with MobileFormatter. Applied a fix to BusinessListBase to correct the edit level mismatch problem.

* Updated to NS1.3, trying to get tests to run...

* Bump Xamarin.Forms from 3.4.0.1029999 to 3.6.0.264807 in /Source

Bumps Xamarin.Forms from 3.4.0.1029999 to 3.6.0.264807.

Signed-off-by: dependabot[bot] <support@dependabot.com>

* MarimerLLC#804 Finished project updates for NS1.3.

* Updated tests and code to hopefully run on AppVeyor (MarimerLLC#1088)

* Updated tests and code to hopefully run on AppVeyor

* Updated tests and code to hopefully run on AppVeyor

* Create csla-github-flow.md

* Update CONTRIBUTING.md

* Update csla-github-flow.md

* Update csla-github-flow.md

* 623 fixing argument serialization issue (MarimerLLC#1089)

* MarimerLLC#680 Fixes trivia issue

Analyzer no longer removes leading and trailing trivia from new field
node.

* Closes MarimerLLC#623

* MarimerLLC#750 updated styles

* Update github flow doc - watch for changes

* Add link to Jonny's blog

* MarimerLLC#1091 Finished cleanup.

* 925 flag new keyword usage (MarimerLLC#1095)

Closes MarimerLLC#925 Added new analyzer

* 828-add-analyzer-docs

* 828-add-analyzer-docs

* Bump Microsoft.CodeAnalysis.Analyzers from 2.6.3 to 2.9.1 in /Source

Bumps [Microsoft.CodeAnalysis.Analyzers](https://github.com/dotnet/roslyn-analyzers) from 2.6.3 to 2.9.1.
- [Release notes](https://github.com/dotnet/roslyn-analyzers/releases)
- [Commits](dotnet/roslyn-analyzers@v2.6.3...v2.9.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Update Books-and-videos.md

* Update What-is-CSLA-.NET.md

* Update index.md

* Create code-generators.md

* Update index.md

* MarimerLLC#1043 Update GetUser methods to return unauthenticated principal instead of null

* Clean up some unit tests.

* Resolve compiler warnings about test code.

* Resolve erroneous unit test compiler warnings.

* MarimerLLC#1070 Remove unused legacy Silverlight test code.

* MarimerLLC#1038 Set default transaction timeout to 600 seconds

* MarimerLLC#754 Fix comment

* MarimerLLC#1053 Update nuspec files to use license element

* Update version numbers to 5.0.0

* MarimerLLC#1109 Add ContextManager property to CslaConfiguration.

* MarimerLLC#1059 Add AsyncManualResetEvent and tests

* MarimerLLC#1059 Add SyncTask and use in HttpProxy for sync operations

* Ensure SimpleDataPortal async mismatch checks are passed concretes rather than type safe casts which could be null.

* Remove legacy files

* MarimerLLC#1059 Add TaskExtensions and tests; use in HttpProxy

* MarimerLLC#1059 Make .NET 4.0 retain old behavior

* MarimerLLC#1059 Implement sync code in HttpProxy that works from Windows Forms

* Ensure that explicit NULL default values for string properties are honoured rather than being altered to string.Empty. "default" defaults remain string.Empty.

* MarimerLLC#1059 Remove unneeded task extension classes and tests

* Add .NET 4 and 4.5 projects to CI build

* Bump Xamarin.Forms from 3.6.0.264807 to 3.6.0.293080 in /Source

Bumps Xamarin.Forms from 3.6.0.264807 to 3.6.0.293080.

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Add notes on working against a maintenance branch

* MarimerLLC#1059 HttpProxy with HttpClient and WebClient support

* MarimerLLC#1119 Update bootstrap version

* MarimerLLC#1115 Remove private constructors from templates (replacing with public ctors where appropriate)

* MarimerLLC#1111 Update website URL to https://cslanet.com; remove unused android tests

* Update release notes for version 5.0.0 prerelease

* Add missing work item to notes

* Add contributor info

* Bump MSTest.TestFramework from 1.2.1 to 1.4.0 in /Source

Bumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 1.2.1 to 1.4.0.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Commits](microsoft/testfx@v1.2.1...1.4.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Bump Microsoft.NET.Test.Sdk from 15.7.0 to 16.0.1 in /Source

Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 15.7.0 to 16.0.1.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](microsoft/vstest@v15.7.0...v16.0.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Bump MSTest.TestAdapter from 1.2.1 to 1.4.0 in /Source

Bumps [MSTest.TestAdapter](https://github.com/microsoft/testfx) from 1.2.1 to 1.4.0.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Commits](microsoft/testfx@v1.2.1...1.4.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Update csla-github-flow.md

* MarimerLLC#1125 Fixed issue with AcceptChanges in BusinessListBase

Fixes MarimerLLC#1125. Added a unit test to demonstrate the issue with BusinessListBase.AcceptChanges when using the MobileFormatter. Changed the order of operations for setting negative edit levels to 0 during AcceptChanges so that the value passed to child.AcceptChanges matches what is expected by the argument validation in UndoableBase.

* Bump Microsoft.Extensions.Configuration.Json in /Source

Bumps [Microsoft.Extensions.Configuration.Json](https://github.com/aspnet/Extensions) from 2.1.1 to 2.2.0.
- [Release notes](https://github.com/aspnet/Extensions/releases)
- [Commits](dotnet/extensions@2.1.1...2.2.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Bump Microsoft.EntityFrameworkCore from 2.2.3 to 2.2.4 in /Source

Bumps [Microsoft.EntityFrameworkCore](https://github.com/aspnet/EntityFrameworkCore) from 2.2.3 to 2.2.4.
- [Release notes](https://github.com/aspnet/EntityFrameworkCore/releases)
- [Commits](https://github.com/aspnet/EntityFrameworkCore/commits/v2.2.4)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Add CSLA 5 info

* Update README.md

* Create serialization.md

* Bump Microsoft.CodeAnalysis.Analyzers from 2.9.1 to 2.9.2 in /Source

Bumps [Microsoft.CodeAnalysis.Analyzers](https://github.com/dotnet/roslyn-analyzers) from 2.9.1 to 2.9.2.
- [Release notes](https://github.com/dotnet/roslyn-analyzers/releases)
- [Commits](dotnet/roslyn-analyzers@v2.9.1...v2.9.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Bump Xamarin.Forms from 3.6.0.293080 to 3.6.0.344457 in /Source

Bumps Xamarin.Forms from 3.6.0.293080 to 3.6.0.344457.

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Bump Microsoft.NET.Test.Sdk from 16.0.1 to 16.1.0 in /Source

Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.0.1 to 16.1.0.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](microsoft/vstest@v16.0.1...v16.1.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* MarimerLLC#1138 Reorder enum values so compiler directive has no x-plat effect

* Add LinkedIn group URL

* Add FB page link

* Bump System.Data.SqlClient from 4.6.0 to 4.6.1 in /Source

Bumps [System.Data.SqlClient](https://github.com/dotnet/corefx) from 4.6.0 to 4.6.1.
- [Release notes](https://github.com/dotnet/corefx/releases)
- [Commits](https://github.com/dotnet/corefx/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* MarimerLLC#981 Move NS2 ConnectionManager to new project/namespace; split out SafeSqlDataReader functionality for NS2, leaving old implementation for .NET FX

* MarimerLLC#981 Update project metadata; create/update nuget definitions

* MarimerLLC#981 Update build sln, target and xml doc output

* Bump Xamarin.Forms from 3.6.0.344457 to 4.0.0.425677 in /Source

Bumps Xamarin.Forms from 3.6.0.344457 to 4.0.0.425677.

Signed-off-by: dependabot[bot] <support@dependabot.com>

* MarimerLLC#1152 Autoflush writer

* MarimerLLC#1150 Add support for Microsoft.Data.SqlClient

* Update with most recent committed changes

* MarimerLLC#1151 Modernize NuGet package names

* Add notice of NuGet package name changes

* MarimerLLC#288 Add default support for flowing of TransactionScope transactions when using async/await pattern

* MarimerLLC#1160 Mark Silverlight style data portal methods Obsolete

* MarimerLLC#1160 Update tests to stop using Silverlight style data portal calls

* Update releasenotes.md

* Update releasenotes.md

* MarimerLLC#409 Allow async Task business rules via IBusinessRuleAsync and BusinessRuleAsync

* MarimerLLC#409 Update readme

* MarimerLLC#1102 Refactor server-side data portal code in prep for flexible data portal method names

* MarimerLLC#1102 Create and use method name cache

* Update Books-and-videos.md

* Bump Microsoft.NET.Test.Sdk from 16.1.0 to 16.1.1 in /Source

Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.1.0 to 16.1.1.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](microsoft/vstest@v16.1.0...v16.1.1)

* Add UpdateAll to ChildDataPortal and UpdateAllChildren to FieldDataManager

* MarimerLLC#1165 Add FlowSynchronizationContext so LocalProxy flows sync context via config

* Add note about MarimerLLC#1164 fix

* FieldManager UpdateAllChildren tests

* Bump Xamarin.Forms from 4.0.0.425677 to 4.0.0.471375 in /Source

Bumps Xamarin.Forms from 4.0.0.425677 to 4.0.0.471375.

* Add comment for MarimerLLC#1167

* Add contributor note

* MarimerLLC#1101 Update some unit tests to confirm changes work

* MarimerLLC#1101 Add RegisterProperty overloads for nameof; mark some as Obsolete

* MarimerLLC#1101 Add RegisterProperty overloads for nameof; mark some as Obsolete

* MarimerLLC#1101 Add overloads for RegisterMethod and nameof()

* MarimerLLC#1101 Update snippets to use nameof()

* Revert refactor that won't work on C# 7

* Clean up and remove old compiler directive code

* MarimerLLC#1102 Add data portal operation attributes.

* MarimerLLC#787 Add FromServices attribute for use by DI in data portal

* MarimerLLC#787 Add reflection method to find data portal method to be invoked based on criteria and DI parameters

* MarimerLLC#787 Implement FindMethodForCriteria and tests

* MarimerLLC#787 Implement "greedy" DI to minimize ambiguous method exceptions.

* Bump Xamarin.Forms from 4.0.0.471375 to 4.0.0.482894 in /Source

Bumps Xamarin.Forms from 4.0.0.471375 to 4.0.0.482894.

* MarimerLLC#787 Fix attribute type names

* MarimerLLC#1101 Fix unit test warnings due to obsolete RegisterProperty methods

* MarimerLLC#1101 Resolve RegisterProperty warnings

* MarimerLLC#787 Fix issue due to attribute renaming

* MarimerLLC#787 Implement CallMethodTryAsync for DI

* MarimerLLC#1176 Begin work to allow multiple criteria params for Create

* MarimerLLC#787 Enhance ApplicationContext to access IServiceProvider instance

* MarimerLLC#1179 Remove WebConfiguration.cs

* Organize Csla.Configuration files for clarity

* MarimerLLC#1179 MarimerLLC#787 Configuration updates for getting ServiceProvider

* Add static method to improve readability

* Add editorconfig file for Samples

* MarimerLLC#787 Add tests for calling methods with DI

* MarimerLLC#787 Fix bugs in the new data portal method location function

* MarimerLLC#787 Resolve remaining regression test issues so the new create now passes all tests

* MarimerLLC#1176 MarimerLLC#787 Implement fetch/update/insert/execute/delete behaviors

* Bump Microsoft.CodeAnalysis.Analyzers from 2.9.2 to 2.9.3 in /Source

Bumps [Microsoft.CodeAnalysis.Analyzers](https://github.com/dotnet/roslyn-analyzers) from 2.9.2 to 2.9.3.
- [Release notes](https://github.com/dotnet/roslyn-analyzers/releases)
- [Commits](dotnet/roslyn-analyzers@v2.9.2...v2.9.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump Xamarin.Forms from 4.0.0.482894 to 4.0.0.497661 in /Source

Bumps Xamarin.Forms from 4.0.0.482894 to 4.0.0.497661.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* MarimerLLC#787 Get RunLocal working again, support factory types

* Revert C# 7.1 dependency due to appveyor build issue

* Bump Microsoft.NET.Test.Sdk from 16.1.1 to 16.2.0 in /Source

Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.1.1 to 16.2.0.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](microsoft/vstest@v16.1.1...v16.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump Xamarin.Forms from 4.0.0.497661 to 4.0.0.540366 in /Source

Bumps Xamarin.Forms from 4.0.0.497661 to 4.0.0.540366.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* MarimerLLC#1191 Fix EditLevel issue with BusinessRules (really make UndoableBase understand IMobileObject types)

* Addresses MarimerLLC#1194, adding an IAuthorizationContext.

* Bump Xamarin.Forms from 4.0.0.540366 to 4.1.0.555618 in /Source

Bumps Xamarin.Forms from 4.0.0.540366 to 4.1.0.555618.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* MarimerLLC#1194 Add copyright notice

* Bump Microsoft.EntityFrameworkCore from 2.2.4 to 2.2.6 in /Source

Bumps [Microsoft.EntityFrameworkCore](https://github.com/aspnet/EntityFrameworkCore) from 2.2.4 to 2.2.6.
- [Release notes](https://github.com/aspnet/EntityFrameworkCore/releases)
- [Commits](dotnet/efcore@v2.2.4...v2.2.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump Xamarin.Forms from 4.1.0.555618 to 4.1.0.581479 in /Source

Bumps Xamarin.Forms from 4.1.0.555618 to 4.1.0.581479.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Fix Samples\SimpleNTier - WpfUI missing references

* MarimerLLC#1100 Got the analyzer working.

* MarimerLLC#1100 Got the code fix working, still needs unit tests.

* MarimerLLC#1100 Got all the code in, will do a PR if no other issues arise.

* MarimerLLC#1100 Almost done...

* MarimerLLC#1100 Almost forgot to change to look for all operations, root and child

* Bump Xamarin.Forms from 4.1.0.581479 to 4.1.0.618606 in /Source

Bumps Xamarin.Forms from 4.1.0.581479 to 4.1.0.618606.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* MarimerLLC#1100 Minor analyzer changes based on Roslyn analyzer suggestions and added .md file for CSLA0012

* Bump Microsoft.CodeAnalysis.Analyzers from 2.9.3 to 2.9.4 in /Source

Bumps [Microsoft.CodeAnalysis.Analyzers](https://github.com/dotnet/roslyn-analyzers) from 2.9.3 to 2.9.4.
- [Release notes](https://github.com/dotnet/roslyn-analyzers/releases)
- [Changelog](https://github.com/dotnet/roslyn-analyzers/blob/master/PostReleaseActivities.md)
- [Commits](dotnet/roslyn-analyzers@v2.9.3...v2.9.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* MarimerLLC#1212 Fix issues with undo and cloning

* MarimerLLC#1212 Major rework of n-level undo interactions with IMobileObject

* MarimerLLC#1212 Remove obsolete GetNativeFormatter method

* MarimerLLC#1102 Re-implement create and fetch for ChildDataPortal

* MarimerLLC#1102 Get create/fetch/update working with ChildDataPortal

* Clean up code based on VS recommendations

* Fix warnings about xml comments

* Clean up code based on VS recommendations

* MarimerLLC#1102 Fix bugs related to new ChildDataPortal implementation

* Update releasenotes.md

* Update releasenotes.md

* Fix build issue

* MarimerLLC#1205 Add base class for DP operation attributes

* MarimerLLC#392 Got the analyzer working.

* MarimerLLC#392 Got the code fix working.

* MarimerLLC#392 Added Markdown documentation.

* MarimerLLC#392 Added Markdown documentation from the right place (hopefully)

* MarimerLLC#392 Final commit
Troncho added a commit to Troncho/csla that referenced this issue Aug 6, 2019
* Create unit-testing

* Rename unit-testing to unit-testing.md

* Bump Microsoft.EntityFrameworkCore from 2.2.1 to 2.2.3 in /Source

Bumps [Microsoft.EntityFrameworkCore](https://github.com/aspnet/EntityFrameworkCore) from 2.2.1 to 2.2.3.
- [Release notes](https://github.com/aspnet/EntityFrameworkCore/releases)
- [Commits](https://github.com/aspnet/EntityFrameworkCore/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Update BasicModernTests.cs

Added unit test for BeginEdit while using MobileFormatter.

* MarimerLLC#1080 Update BasicModernTests.cs

Added unit test for BeginEdit while using MobileFormatter.

* Bump Microsoft.NETCore.UniversalWindowsPlatform in /Source

Bumps [Microsoft.NETCore.UniversalWindowsPlatform](https://github.com/Microsoft/dotnet) from 6.1.9 to 6.2.8.
- [Release notes](https://github.com/Microsoft/dotnet/releases)
- [Commits](https://github.com/Microsoft/dotnet/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* MarimerLLC#1080 Fixed issues caused by using MobileFormatter in .NET Framework

Fixes MarimerLLC#1080. Updated unit tests to complete the BeginEdit, CancelEdit, and ApplyChanges workflow. Added a factory method for getting a native formatter to support serialization and deserialization within the same process.Added unit tests to showcase the edit level mismatch bug that occurs when using the ViewModelBase class with MobileFormatter. Applied a fix to BusinessListBase to correct the edit level mismatch problem.

* Updated to NS1.3, trying to get tests to run...

* Bump Xamarin.Forms from 3.4.0.1029999 to 3.6.0.264807 in /Source

Bumps Xamarin.Forms from 3.4.0.1029999 to 3.6.0.264807.

Signed-off-by: dependabot[bot] <support@dependabot.com>

* MarimerLLC#804 Finished project updates for NS1.3.

* Updated tests and code to hopefully run on AppVeyor (MarimerLLC#1088)

* Updated tests and code to hopefully run on AppVeyor

* Updated tests and code to hopefully run on AppVeyor

* Create csla-github-flow.md

* Update CONTRIBUTING.md

* Update csla-github-flow.md

* Update csla-github-flow.md

* 623 fixing argument serialization issue (MarimerLLC#1089)

* MarimerLLC#680 Fixes trivia issue

Analyzer no longer removes leading and trailing trivia from new field
node.

* Closes MarimerLLC#623

* MarimerLLC#750 updated styles

* Update github flow doc - watch for changes

* Add link to Jonny's blog

* MarimerLLC#1091 Finished cleanup.

* 925 flag new keyword usage (MarimerLLC#1095)

Closes MarimerLLC#925 Added new analyzer

* 828-add-analyzer-docs

* 828-add-analyzer-docs

* Bump Microsoft.CodeAnalysis.Analyzers from 2.6.3 to 2.9.1 in /Source

Bumps [Microsoft.CodeAnalysis.Analyzers](https://github.com/dotnet/roslyn-analyzers) from 2.6.3 to 2.9.1.
- [Release notes](https://github.com/dotnet/roslyn-analyzers/releases)
- [Commits](dotnet/roslyn-analyzers@v2.6.3...v2.9.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Update Books-and-videos.md

* Update What-is-CSLA-.NET.md

* Update index.md

* Create code-generators.md

* Update index.md

* MarimerLLC#1043 Update GetUser methods to return unauthenticated principal instead of null

* Clean up some unit tests.

* Resolve compiler warnings about test code.

* Resolve erroneous unit test compiler warnings.

* MarimerLLC#1070 Remove unused legacy Silverlight test code.

* MarimerLLC#1038 Set default transaction timeout to 600 seconds

* MarimerLLC#754 Fix comment

* MarimerLLC#1053 Update nuspec files to use license element

* Update version numbers to 5.0.0

* MarimerLLC#1109 Add ContextManager property to CslaConfiguration.

* MarimerLLC#1059 Add AsyncManualResetEvent and tests

* MarimerLLC#1059 Add SyncTask and use in HttpProxy for sync operations

* Ensure SimpleDataPortal async mismatch checks are passed concretes rather than type safe casts which could be null.

* Remove legacy files

* MarimerLLC#1059 Add TaskExtensions and tests; use in HttpProxy

* MarimerLLC#1059 Make .NET 4.0 retain old behavior

* MarimerLLC#1059 Implement sync code in HttpProxy that works from Windows Forms

* Ensure that explicit NULL default values for string properties are honoured rather than being altered to string.Empty. "default" defaults remain string.Empty.

* MarimerLLC#1059 Remove unneeded task extension classes and tests

* Add .NET 4 and 4.5 projects to CI build

* Bump Xamarin.Forms from 3.6.0.264807 to 3.6.0.293080 in /Source

Bumps Xamarin.Forms from 3.6.0.264807 to 3.6.0.293080.

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Add notes on working against a maintenance branch

* MarimerLLC#1059 HttpProxy with HttpClient and WebClient support

* MarimerLLC#1119 Update bootstrap version

* MarimerLLC#1115 Remove private constructors from templates (replacing with public ctors where appropriate)

* MarimerLLC#1111 Update website URL to https://cslanet.com; remove unused android tests

* Update release notes for version 5.0.0 prerelease

* Add missing work item to notes

* Add contributor info

* Bump MSTest.TestFramework from 1.2.1 to 1.4.0 in /Source

Bumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 1.2.1 to 1.4.0.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Commits](microsoft/testfx@v1.2.1...1.4.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Bump Microsoft.NET.Test.Sdk from 15.7.0 to 16.0.1 in /Source

Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 15.7.0 to 16.0.1.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](microsoft/vstest@v15.7.0...v16.0.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Bump MSTest.TestAdapter from 1.2.1 to 1.4.0 in /Source

Bumps [MSTest.TestAdapter](https://github.com/microsoft/testfx) from 1.2.1 to 1.4.0.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Commits](microsoft/testfx@v1.2.1...1.4.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Update csla-github-flow.md

* MarimerLLC#1125 Fixed issue with AcceptChanges in BusinessListBase

Fixes MarimerLLC#1125. Added a unit test to demonstrate the issue with BusinessListBase.AcceptChanges when using the MobileFormatter. Changed the order of operations for setting negative edit levels to 0 during AcceptChanges so that the value passed to child.AcceptChanges matches what is expected by the argument validation in UndoableBase.

* Bump Microsoft.Extensions.Configuration.Json in /Source

Bumps [Microsoft.Extensions.Configuration.Json](https://github.com/aspnet/Extensions) from 2.1.1 to 2.2.0.
- [Release notes](https://github.com/aspnet/Extensions/releases)
- [Commits](dotnet/extensions@2.1.1...2.2.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Bump Microsoft.EntityFrameworkCore from 2.2.3 to 2.2.4 in /Source

Bumps [Microsoft.EntityFrameworkCore](https://github.com/aspnet/EntityFrameworkCore) from 2.2.3 to 2.2.4.
- [Release notes](https://github.com/aspnet/EntityFrameworkCore/releases)
- [Commits](https://github.com/aspnet/EntityFrameworkCore/commits/v2.2.4)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Add CSLA 5 info

* Update README.md

* Create serialization.md

* Bump Microsoft.CodeAnalysis.Analyzers from 2.9.1 to 2.9.2 in /Source

Bumps [Microsoft.CodeAnalysis.Analyzers](https://github.com/dotnet/roslyn-analyzers) from 2.9.1 to 2.9.2.
- [Release notes](https://github.com/dotnet/roslyn-analyzers/releases)
- [Commits](dotnet/roslyn-analyzers@v2.9.1...v2.9.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Bump Xamarin.Forms from 3.6.0.293080 to 3.6.0.344457 in /Source

Bumps Xamarin.Forms from 3.6.0.293080 to 3.6.0.344457.

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Bump Microsoft.NET.Test.Sdk from 16.0.1 to 16.1.0 in /Source

Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.0.1 to 16.1.0.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](microsoft/vstest@v16.0.1...v16.1.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* MarimerLLC#1138 Reorder enum values so compiler directive has no x-plat effect

* Add LinkedIn group URL

* Add FB page link

* Bump System.Data.SqlClient from 4.6.0 to 4.6.1 in /Source

Bumps [System.Data.SqlClient](https://github.com/dotnet/corefx) from 4.6.0 to 4.6.1.
- [Release notes](https://github.com/dotnet/corefx/releases)
- [Commits](https://github.com/dotnet/corefx/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* MarimerLLC#981 Move NS2 ConnectionManager to new project/namespace; split out SafeSqlDataReader functionality for NS2, leaving old implementation for .NET FX

* MarimerLLC#981 Update project metadata; create/update nuget definitions

* MarimerLLC#981 Update build sln, target and xml doc output

* Bump Xamarin.Forms from 3.6.0.344457 to 4.0.0.425677 in /Source

Bumps Xamarin.Forms from 3.6.0.344457 to 4.0.0.425677.

Signed-off-by: dependabot[bot] <support@dependabot.com>

* MarimerLLC#1152 Autoflush writer

* MarimerLLC#1150 Add support for Microsoft.Data.SqlClient

* Update with most recent committed changes

* MarimerLLC#1151 Modernize NuGet package names

* Add notice of NuGet package name changes

* MarimerLLC#288 Add default support for flowing of TransactionScope transactions when using async/await pattern

* MarimerLLC#1160 Mark Silverlight style data portal methods Obsolete

* MarimerLLC#1160 Update tests to stop using Silverlight style data portal calls

* Update releasenotes.md

* Update releasenotes.md

* MarimerLLC#409 Allow async Task business rules via IBusinessRuleAsync and BusinessRuleAsync

* MarimerLLC#409 Update readme

* MarimerLLC#1102 Refactor server-side data portal code in prep for flexible data portal method names

* MarimerLLC#1102 Create and use method name cache

* Update Books-and-videos.md

* Bump Microsoft.NET.Test.Sdk from 16.1.0 to 16.1.1 in /Source

Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.1.0 to 16.1.1.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](microsoft/vstest@v16.1.0...v16.1.1)

* Add UpdateAll to ChildDataPortal and UpdateAllChildren to FieldDataManager

* MarimerLLC#1165 Add FlowSynchronizationContext so LocalProxy flows sync context via config

* Add note about MarimerLLC#1164 fix

* FieldManager UpdateAllChildren tests

* Bump Xamarin.Forms from 4.0.0.425677 to 4.0.0.471375 in /Source

Bumps Xamarin.Forms from 4.0.0.425677 to 4.0.0.471375.

* Add comment for MarimerLLC#1167

* Add contributor note

* MarimerLLC#1101 Update some unit tests to confirm changes work

* MarimerLLC#1101 Add RegisterProperty overloads for nameof; mark some as Obsolete

* MarimerLLC#1101 Add RegisterProperty overloads for nameof; mark some as Obsolete

* MarimerLLC#1101 Add overloads for RegisterMethod and nameof()

* MarimerLLC#1101 Update snippets to use nameof()

* Revert refactor that won't work on C# 7

* Clean up and remove old compiler directive code

* MarimerLLC#1102 Add data portal operation attributes.

* MarimerLLC#787 Add FromServices attribute for use by DI in data portal

* MarimerLLC#787 Add reflection method to find data portal method to be invoked based on criteria and DI parameters

* MarimerLLC#787 Implement FindMethodForCriteria and tests

* MarimerLLC#787 Implement "greedy" DI to minimize ambiguous method exceptions.

* Bump Xamarin.Forms from 4.0.0.471375 to 4.0.0.482894 in /Source

Bumps Xamarin.Forms from 4.0.0.471375 to 4.0.0.482894.

* MarimerLLC#787 Fix attribute type names

* MarimerLLC#1101 Fix unit test warnings due to obsolete RegisterProperty methods

* MarimerLLC#1101 Resolve RegisterProperty warnings

* MarimerLLC#787 Fix issue due to attribute renaming

* MarimerLLC#787 Implement CallMethodTryAsync for DI

* MarimerLLC#1176 Begin work to allow multiple criteria params for Create

* MarimerLLC#787 Enhance ApplicationContext to access IServiceProvider instance

* MarimerLLC#1179 Remove WebConfiguration.cs

* Organize Csla.Configuration files for clarity

* MarimerLLC#1179 MarimerLLC#787 Configuration updates for getting ServiceProvider

* Add static method to improve readability

* Add editorconfig file for Samples

* MarimerLLC#787 Add tests for calling methods with DI

* MarimerLLC#787 Fix bugs in the new data portal method location function

* MarimerLLC#787 Resolve remaining regression test issues so the new create now passes all tests

* MarimerLLC#1176 MarimerLLC#787 Implement fetch/update/insert/execute/delete behaviors

* Bump Microsoft.CodeAnalysis.Analyzers from 2.9.2 to 2.9.3 in /Source

Bumps [Microsoft.CodeAnalysis.Analyzers](https://github.com/dotnet/roslyn-analyzers) from 2.9.2 to 2.9.3.
- [Release notes](https://github.com/dotnet/roslyn-analyzers/releases)
- [Commits](dotnet/roslyn-analyzers@v2.9.2...v2.9.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump Xamarin.Forms from 4.0.0.482894 to 4.0.0.497661 in /Source

Bumps Xamarin.Forms from 4.0.0.482894 to 4.0.0.497661.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* MarimerLLC#787 Get RunLocal working again, support factory types

* Revert C# 7.1 dependency due to appveyor build issue

* Bump Microsoft.NET.Test.Sdk from 16.1.1 to 16.2.0 in /Source

Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.1.1 to 16.2.0.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](microsoft/vstest@v16.1.1...v16.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump Xamarin.Forms from 4.0.0.497661 to 4.0.0.540366 in /Source

Bumps Xamarin.Forms from 4.0.0.497661 to 4.0.0.540366.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* MarimerLLC#1191 Fix EditLevel issue with BusinessRules (really make UndoableBase understand IMobileObject types)

* Addresses MarimerLLC#1194, adding an IAuthorizationContext.

* Bump Xamarin.Forms from 4.0.0.540366 to 4.1.0.555618 in /Source

Bumps Xamarin.Forms from 4.0.0.540366 to 4.1.0.555618.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* MarimerLLC#1194 Add copyright notice

* Bump Microsoft.EntityFrameworkCore from 2.2.4 to 2.2.6 in /Source

Bumps [Microsoft.EntityFrameworkCore](https://github.com/aspnet/EntityFrameworkCore) from 2.2.4 to 2.2.6.
- [Release notes](https://github.com/aspnet/EntityFrameworkCore/releases)
- [Commits](dotnet/efcore@v2.2.4...v2.2.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump Xamarin.Forms from 4.1.0.555618 to 4.1.0.581479 in /Source

Bumps Xamarin.Forms from 4.1.0.555618 to 4.1.0.581479.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Fix Samples\SimpleNTier - WpfUI missing references

* MarimerLLC#1100 Got the analyzer working.

* MarimerLLC#1100 Got the code fix working, still needs unit tests.

* MarimerLLC#1100 Got all the code in, will do a PR if no other issues arise.

* MarimerLLC#1100 Almost done...

* MarimerLLC#1100 Almost forgot to change to look for all operations, root and child

* Bump Xamarin.Forms from 4.1.0.581479 to 4.1.0.618606 in /Source

Bumps Xamarin.Forms from 4.1.0.581479 to 4.1.0.618606.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* MarimerLLC#1100 Minor analyzer changes based on Roslyn analyzer suggestions and added .md file for CSLA0012

* Bump Microsoft.CodeAnalysis.Analyzers from 2.9.3 to 2.9.4 in /Source

Bumps [Microsoft.CodeAnalysis.Analyzers](https://github.com/dotnet/roslyn-analyzers) from 2.9.3 to 2.9.4.
- [Release notes](https://github.com/dotnet/roslyn-analyzers/releases)
- [Changelog](https://github.com/dotnet/roslyn-analyzers/blob/master/PostReleaseActivities.md)
- [Commits](dotnet/roslyn-analyzers@v2.9.3...v2.9.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* MarimerLLC#1212 Fix issues with undo and cloning

* MarimerLLC#1212 Major rework of n-level undo interactions with IMobileObject

* MarimerLLC#1212 Remove obsolete GetNativeFormatter method

* MarimerLLC#1102 Re-implement create and fetch for ChildDataPortal

* MarimerLLC#1102 Get create/fetch/update working with ChildDataPortal

* Clean up code based on VS recommendations

* Fix warnings about xml comments

* Clean up code based on VS recommendations

* MarimerLLC#1102 Fix bugs related to new ChildDataPortal implementation

* Update releasenotes.md

* Update releasenotes.md

* Fix build issue

* MarimerLLC#1205 Add base class for DP operation attributes

* MarimerLLC#392 Got the analyzer working.

* MarimerLLC#392 Got the code fix working.

* MarimerLLC#392 Added Markdown documentation.

* MarimerLLC#392 Added Markdown documentation from the right place (hopefully)

* MarimerLLC#392 Final commit
@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 10, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
No open projects
Version 5.0.0
  
Done
Development

No branches or pull requests

3 participants