public void Update_A_Single_Entity()
        {
            //arrange
            var bodyParameter = new EqualsBinaryOperatorParameters
                                (
                new MemberSelectorOperatorParameters("FullName", new ParameterOperatorParameters(parameterName)),
                new ConstantOperatorParameters("Carson Alexander")
                                );

            //act
            DoTest <StudentModel, Student>
            (
                bodyParameter,
                null,
                null,
                parameterName,
                (StudentModel studentModel, ISchoolRepository repository) =>
            {
                studentModel.EnrollmentDate = new DateTime(2021, 2, 8);
                studentModel.EntityState    = LogicBuilder.Domain.EntityStateType.Modified;
                PersistenceOperations <StudentModel, Student> .Save(repository, studentModel);
            },
                returnValue =>
            {
                Assert.Equal(new DateTime(2021, 2, 8), returnValue.EnrollmentDate);
            },
                "$it => ($it.FullName == \"Carson Alexander\")"
            );
        }
        public void Delete_A_Single_Entity_Using_Delete()
        {
            //arrange
            var bodyParameter = new EqualsBinaryOperatorParameters
                                (
                new MemberSelectorOperatorParameters("FullName", new ParameterOperatorParameters(parameterName)),
                new ConstantOperatorParameters("Carson Alexander")
                                );

            //act
            DoTest <StudentModel, Student>
            (
                bodyParameter,
                null,
                null,
                parameterName,
                (StudentModel studentModel, ISchoolRepository repository) =>
            {
                IExpressionParameter expressionParameter           = GetFilterParameter <StudentModel>(bodyParameter, parameterName);
                Expression <Func <StudentModel, bool> > expression = ProjectionOperations <StudentModel, Student> .GetFilter
                                                                     (
                    serviceProvider.GetRequiredService <IMapper>().MapToOperator(expressionParameter)
                                                                     );

                PersistenceOperations <StudentModel, Student> .Delete(repository, expression);
            },
                returnValue =>
            {
                Assert.Null(returnValue);
            },
                "$it => ($it.FullName == \"Carson Alexander\")"
            );
        }
Exemplo n.º 3
0
        public void Delete_A_Single_Entity_Using_Save()
        {
            //arrange
            var bodyParameter = new EqualsBinaryOperatorParameter
            (
                new MemberSelectorOperatorParameter("FullName", new ParameterOperatorParameter(parameterName)),
                new ConstantOperatorParameter("Carson Alexander")
            );

            //act
            DoTest<StudentModel, Student>
            (
                bodyParameter,
                null,
                null,
                parameterName,
                (StudentModel studentModel, ISchoolRepository repository) =>
                {
                    studentModel.EntityState = LogicBuilder.Domain.EntityStateType.Deleted;
                    PersistenceOperations<StudentModel, Student>.Save(repository, studentModel);
                },
                returnValue =>
                {
                    Assert.Null(returnValue);
                },
                "$it => ($it.FullName == \"Carson Alexander\")"
            );
        }
        public void Add_An_Object_Graph()
        {
            //arrange
            var bodyParameter = new EqualsBinaryOperatorParameters
                                (
                new MemberSelectorOperatorParameters("FullName", new ParameterOperatorParameters(parameterName)),
                new ConstantOperatorParameters("Roger Milla")
                                );

            //act
            DoTest <StudentModel, Student>
            (
                bodyParameter,
                null,
                new SelectExpandDefinitionParameters
            {
                ExpandedItems = new List <SelectExpandItemParameters>
                {
                    new SelectExpandItemParameters {
                        MemberName = "Enrollments"
                    }
                }
            },
                parameterName,
                (StudentModel studentModel, ISchoolRepository repository) =>
            {
                PersistenceOperations <StudentModel, Student> .SaveGraph
                (
                    repository,
                    new StudentModel
                {
                    EntityState    = LogicBuilder.Domain.EntityStateType.Added,
                    EnrollmentDate = new DateTime(2021, 2, 8),
                    Enrollments    = new List <EnrollmentModel>
                    {
                        new EnrollmentModel {
                            CourseID = 1050, Grade = Domain.Entities.Grade.A
                        },
                        new EnrollmentModel {
                            CourseID = 4022, Grade = Domain.Entities.Grade.A
                        },
                        new EnrollmentModel {
                            CourseID = 4041, Grade = Domain.Entities.Grade.A
                        }
                    },
                    FirstName = "Roger",
                    LastName  = "Milla"
                }
                );
            },
                returnValue =>
            {
                Assert.Equal(new DateTime(2021, 2, 8), returnValue.EnrollmentDate);
                Assert.Equal(3, returnValue.Enrollments.Count());
            },
                "$it => ($it.FullName == \"Roger Milla\")"
            );
        }
        public void Continue()
        {
            if (string.IsNullOrEmpty(PersistenceOperations.GetMetaData().LastSaveFile))
            {
                print("No previous save file");
                return;
            }

            SceneManager.LoadScene("SampleScene");
        }
        public void Add_An_Entry_To_A_Child_Collection()
        {
            //arrange
            var bodyParameter = new EqualsBinaryOperatorParameters
                                (
                new MemberSelectorOperatorParameters("FullName", new ParameterOperatorParameters(parameterName)),
                new ConstantOperatorParameters("Carson Alexander")
                                );

            //act
            DoTest <StudentModel, Student>
            (
                bodyParameter,
                null,
                new SelectExpandDefinitionParameters
            {
                ExpandedItems = new List <SelectExpandItemParameters>
                {
                    new SelectExpandItemParameters {
                        MemberName = "Enrollments"
                    }
                }
            },
                parameterName,
                (StudentModel studentModel, ISchoolRepository repository) =>
            {
                studentModel.EnrollmentDate = new DateTime(2021, 2, 8);
                studentModel.Enrollments.Add
                (
                    new EnrollmentModel
                {
                    CourseID    = 3141,
                    Grade       = Domain.Entities.Grade.B,
                    EntityState = LogicBuilder.Domain.EntityStateType.Added
                }
                );

                studentModel.EntityState = LogicBuilder.Domain.EntityStateType.Modified;

                PersistenceOperations <StudentModel, Student> .SaveGraph(repository, studentModel);
            },
                returnValue =>
            {
                Assert.Equal(new DateTime(2021, 2, 8), returnValue.EnrollmentDate);
                Assert.Equal(Domain.Entities.Grade.B, returnValue.Enrollments.Single(e => e.CourseID == 3141).Grade);
                Assert.Equal(4, returnValue.Enrollments.Count());
            },
                "$it => ($it.FullName == \"Carson Alexander\")"
            );
        }
        public void CreateSaveFile()
        {
            var text = SaveFileNameInput.text;

            if (string.IsNullOrEmpty(text))
            {
                return;
            }

            print($"creating new file: {text}");
            var metaData = PersistenceOperations.GetMetaData(out var path);

            metaData.LastSaveFile = text;
            PersistenceOperations.SaveToFile(path, metaData);
            PersistenceOperations.CreateNewSaveDirectory(text);
            SceneManager.LoadScene("SampleScene");
        }