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); }
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); }
public ClaimData Execute(RegisterClaimRequest request) { return(new ClaimData { Id = Guid.NewGuid(), StateId = ClaimState.Registered }); }
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)); }
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>()); }
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(); }