public async Task <ValidationResult> ValidateUpdateAsync(int id, ApiProductDescriptionRequestModel model) { this.DescriptionRules(); this.ModifiedDateRules(); this.RowguidRules(); return(await this.ValidateAsync(model, id)); }
private async Task <ApiProductDescriptionResponseModel> CreateRecord(ApiClient client) { var model = new ApiProductDescriptionRequestModel(); model.SetProperties("B", DateTime.Parse("1/1/1988 12:00:00 AM"), Guid.Parse("3842cac4-b9a0-8223-0dcc-509a6f75849b")); CreateResponse <ApiProductDescriptionResponseModel> result = await client.ProductDescriptionCreateAsync(model); result.Success.Should().BeTrue(); return(result.Record); }
public void MapModelToBO() { var mapper = new BOLProductDescriptionMapper(); ApiProductDescriptionRequestModel model = new ApiProductDescriptionRequestModel(); model.SetProperties("A", DateTime.Parse("1/1/1987 12:00:00 AM"), Guid.Parse("8420cdcf-d595-ef65-66e7-dff9f98764da")); BOProductDescription response = mapper.MapModelToBO(1, model); response.Description.Should().Be("A"); response.ModifiedDate.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM")); response.Rowguid.Should().Be(Guid.Parse("8420cdcf-d595-ef65-66e7-dff9f98764da")); }
public virtual async Task <IActionResult> Create([FromBody] ApiProductDescriptionRequestModel model) { CreateResponse <ApiProductDescriptionResponseModel> result = await this.ProductDescriptionService.Create(model); if (result.Success) { return(this.Created($"{this.Settings.ExternalBaseUrl}/api/ProductDescriptions/{result.Record.ProductDescriptionID}", result)); } else { return(this.StatusCode(StatusCodes.Status422UnprocessableEntity, result)); } }
public virtual BOProductDescription MapModelToBO( int productDescriptionID, ApiProductDescriptionRequestModel model ) { BOProductDescription boProductDescription = new BOProductDescription(); boProductDescription.SetProperties( productDescriptionID, model.Description, model.ModifiedDate, model.Rowguid); return(boProductDescription); }
public virtual async Task <CreateResponse <ApiProductDescriptionResponseModel> > Create( ApiProductDescriptionRequestModel model) { CreateResponse <ApiProductDescriptionResponseModel> response = new CreateResponse <ApiProductDescriptionResponseModel>(await this.productDescriptionModelValidator.ValidateCreateAsync(model)); if (response.Success) { var bo = this.bolProductDescriptionMapper.MapModelToBO(default(int), model); var record = await this.productDescriptionRepository.Create(this.dalProductDescriptionMapper.MapBOToEF(bo)); response.SetRecord(this.bolProductDescriptionMapper.MapBOToModel(this.dalProductDescriptionMapper.MapEFToBO(record))); } return(response); }
public void CreatePatch() { var mapper = new ApiProductDescriptionModelMapper(); var model = new ApiProductDescriptionRequestModel(); model.SetProperties("A", DateTime.Parse("1/1/1987 12:00:00 AM"), Guid.Parse("8420cdcf-d595-ef65-66e7-dff9f98764da")); JsonPatchDocument <ApiProductDescriptionRequestModel> patch = mapper.CreatePatch(model); var response = new ApiProductDescriptionRequestModel(); patch.ApplyTo(response); response.Description.Should().Be("A"); response.ModifiedDate.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM")); response.Rowguid.Should().Be(Guid.Parse("8420cdcf-d595-ef65-66e7-dff9f98764da")); }
private async Task <ApiProductDescriptionRequestModel> PatchModel(int id, JsonPatchDocument <ApiProductDescriptionRequestModel> patch) { var record = await this.ProductDescriptionService.Get(id); if (record == null) { return(null); } else { ApiProductDescriptionRequestModel request = this.ProductDescriptionModelMapper.MapResponseToRequest(record); patch.ApplyTo(request); return(request); } }
public async void Create() { var mock = new ServiceMockFacade <IProductDescriptionRepository>(); var model = new ApiProductDescriptionRequestModel(); mock.RepositoryMock.Setup(x => x.Create(It.IsAny <ProductDescription>())).Returns(Task.FromResult(new ProductDescription())); var service = new ProductDescriptionService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.ProductDescriptionModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLProductDescriptionMapperMock, mock.DALMapperMockFactory.DALProductDescriptionMapperMock, mock.BOLMapperMockFactory.BOLProductModelProductDescriptionCultureMapperMock, mock.DALMapperMockFactory.DALProductModelProductDescriptionCultureMapperMock); CreateResponse <ApiProductDescriptionResponseModel> response = await service.Create(model); response.Should().NotBeNull(); mock.ModelValidatorMockFactory.ProductDescriptionModelValidatorMock.Verify(x => x.ValidateCreateAsync(It.IsAny <ApiProductDescriptionRequestModel>())); mock.RepositoryMock.Verify(x => x.Create(It.IsAny <ProductDescription>())); }
public async void Delete() { var mock = new ServiceMockFacade <IProductDescriptionRepository>(); var model = new ApiProductDescriptionRequestModel(); mock.RepositoryMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(Task.CompletedTask); var service = new ProductDescriptionService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.ProductDescriptionModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLProductDescriptionMapperMock, mock.DALMapperMockFactory.DALProductDescriptionMapperMock, mock.BOLMapperMockFactory.BOLProductModelProductDescriptionCultureMapperMock, mock.DALMapperMockFactory.DALProductModelProductDescriptionCultureMapperMock); ActionResponse response = await service.Delete(default(int)); response.Should().NotBeNull(); mock.RepositoryMock.Verify(x => x.Delete(It.IsAny <int>())); mock.ModelValidatorMockFactory.ProductDescriptionModelValidatorMock.Verify(x => x.ValidateDeleteAsync(It.IsAny <int>())); }
public virtual async Task <UpdateResponse <ApiProductDescriptionResponseModel> > Update( int productDescriptionID, ApiProductDescriptionRequestModel model) { var validationResult = await this.productDescriptionModelValidator.ValidateUpdateAsync(productDescriptionID, model); if (validationResult.IsValid) { var bo = this.bolProductDescriptionMapper.MapModelToBO(productDescriptionID, model); await this.productDescriptionRepository.Update(this.dalProductDescriptionMapper.MapBOToEF(bo)); var record = await this.productDescriptionRepository.Get(productDescriptionID); return(new UpdateResponse <ApiProductDescriptionResponseModel>(this.bolProductDescriptionMapper.MapBOToModel(this.dalProductDescriptionMapper.MapEFToBO(record)))); } else { return(new UpdateResponse <ApiProductDescriptionResponseModel>(validationResult)); } }
public virtual async Task <IActionResult> Update(int id, [FromBody] ApiProductDescriptionRequestModel model) { ApiProductDescriptionRequestModel request = await this.PatchModel(id, this.ProductDescriptionModelMapper.CreatePatch(model)); if (request == null) { return(this.StatusCode(StatusCodes.Status404NotFound)); } else { UpdateResponse <ApiProductDescriptionResponseModel> result = await this.ProductDescriptionService.Update(id, request); if (result.Success) { return(this.Ok(result)); } else { return(this.StatusCode(StatusCodes.Status422UnprocessableEntity, result)); } } }
public virtual async Task <IActionResult> Patch(int id, [FromBody] JsonPatchDocument <ApiProductDescriptionRequestModel> patch) { ApiProductDescriptionResponseModel record = await this.ProductDescriptionService.Get(id); if (record == null) { return(this.StatusCode(StatusCodes.Status404NotFound)); } else { ApiProductDescriptionRequestModel model = await this.PatchModel(id, patch); UpdateResponse <ApiProductDescriptionResponseModel> result = await this.ProductDescriptionService.Update(id, model); if (result.Success) { return(this.Ok(result)); } else { return(this.StatusCode(StatusCodes.Status422UnprocessableEntity, result)); } } }