Ejemplo n.º 1
0
        public ClaimData Execute(RegisterClaimRequest request)
        {
            if (request.ClaimData == null)
            {
                throw new RegisterClaimException("ClaimData is null. Please, check ClaimData.");
            }

            if (request.ClaimerId == Guid.Empty)
            {
                throw new RegisterClaimException("ClaimData does not have ClaimerId. ClaimerId is necessary.");
            }

            ClaimData claimData = request.ClaimData;

            using (var repository = _repositoryFactory.MakeRepository())
            {
                var claimerData = repository.Find <Person>(request.ClaimerId);
                if (claimerData == null)
                {
                    throw new RegisterClaimException(string.Format("There is not a person with Id = {0}", request.ClaimData.PersonId));
                }

                claimData.StateId = ClaimState.Registered;
                claimerData.Claims.Add(claimData);

                repository.Save();
            }

            return(claimData);
        }
Ejemplo n.º 2
0
        private RegisterClaimRequest CreateRequest(CreateClaimViewModel model)
        {
            if (!model.PersonId.HasValue)
            {
                throw new RegisterClaimException("There is no personId. PersonId is required");
            }
            var claimData = new ClaimData
            {
                Inn            = model.Inn,
                RegAddress     = model.RegAddress,
                PostAddress    = model.PostAddress,
                Job            = model.Job,
                JobSphere      = model.JobSphere,
                Position       = model.Position,
                FamilyIncome   = model.FamilyIncome,
                PersonalIncome = model.PersonalIncome,
                Ownership      = model.Ownership,
                Email          = model.Email,
                Phone          = model.Phone,
                CategoryId     = 1,
                ProgramId      = 1
            };


            var request = new RegisterClaimRequest(model.PersonId.Value, claimData, _claimDateProvider);

            return(request);
        }
Ejemplo n.º 3
0
 public ClaimData Execute(RegisterClaimRequest request)
 {
     return(new ClaimData {
         Id = Guid.NewGuid(),
         StateId = ClaimState.Registered
     });
 }
Ejemplo n.º 4
0
        public void ShouldReturnRegisteredClaim()
        {
            registerClaim = new SqlRegisterClaim(new FakePersonsRepositoryFactory());
            var claimerId = Guid.Parse("931B4569-F92D-E611-80B3-3C4A92F56376");
            var claimData = new ClaimData()
            {
                Inn            = "234123219879",
                RegAddress     = "г. Уфа",
                PostAddress    = "Ufa",
                Job            = "ООО Башнефть",
                JobSphere      = "Нефть",
                Position       = "генеральный директор",
                FamilyIncome   = "500000",
                PersonalIncome = "400000",
                Ownership      = "Дом",
                Email          = "*****@*****.**",
                Phone          = "9177777777",
                DateTime       = new DateTime(2016, 07, 28, 17, 35, 59),
                CategoryId     = 1,
                ProgramId      = 1
            };
            var claimDateProvider = new NowClaimDateProvider();
            var request           = new RegisterClaimRequest(claimerId, claimData, claimDateProvider);

            var claim = registerClaim.Execute(request);

            Assert.That(claim, Is.InstanceOf <ClaimData>());
            Assert.That(claim.StateId, Is.EqualTo(ClaimState.Registered));
        }
Ejemplo n.º 5
0
        public void ShouldThrowExceptionIfThereIsNoPersonWithThatPersonId()
        {
            var repositoryFactory = new EveryTimeReturnsNullRepositoryFactory();

            registerClaim = new SqlRegisterClaim(repositoryFactory);

            var claimData = new ClaimData()
            {
                Inn            = "234123219879",
                RegAddress     = "г. Уфа",
                PostAddress    = "Ufa",
                Job            = "ООО Башнефть",
                JobSphere      = "Нефть",
                Position       = "генеральный директор",
                FamilyIncome   = "500000",
                PersonalIncome = "400000",
                Ownership      = "Дом",
                Email          = "*****@*****.**",
                Phone          = "9177777777",
                DateTime       = new DateTime(2016, 07, 28, 17, 35, 59),
                CategoryId     = 1,
                ProgramId      = 1
            };
            var claimDateProvider = new NowClaimDateProvider();

            var request = new RegisterClaimRequest(Guid.NewGuid(), claimData, claimDateProvider);

            Assert.That(delegate
            {
                registerClaim.Execute(request);
            }, Throws.TypeOf <RegisterClaimException>());
        }
Ejemplo n.º 6
0
        public void ShouldThrowExceptionIfRequestDoesNotHaveClaimData()
        {
            var request = new RegisterClaimRequest(Guid.NewGuid(), null, null);

            Assert.That(delegate
            {
                registerClaim.Execute(request);
            }, Throws.TypeOf <RegisterClaimException>());
        }
 public ClaimData Execute(RegisterClaimRequest request)
 {
     throw new RegisterClaimException();
 }