Esempio n. 1
0
        public OperationResponse <SampleBoxProductUpdateCommandOutputDTO> Execute(SampleBoxProductUpdateCommandInputDTO input)
        {
            var result = new OperationResponse <SampleBoxProductUpdateCommandOutputDTO>();

            using (var dbContextScope = this.DbContextScopeFactory.Create())
            {
                var getByIdResult = this.Repository.GetById(input.Id);
                result.AddResponse(getByIdResult);
                if (result.IsSucceed)
                {
                    getByIdResult.Bag.Order = input.Order;

                    try
                    {
                        dbContextScope.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        result.AddError("Error updating Product Color Type", ex);
                    }

                    getByIdResult = this.Repository.GetById(input.Id);
                    result.AddResponse(getByIdResult);
                    if (result.IsSucceed)
                    {
                        result.Bag = new SampleBoxProductUpdateCommandOutputDTO
                        {
                            Id                     = getByIdResult.Bag.Id,
                            SampleBoxId            = getByIdResult.Bag.SampleBoxId,
                            ProductId              = getByIdResult.Bag.SaleOpportunityTargetPriceProduct.ProductId,
                            ProductAmount          = getByIdResult.Bag.SaleOpportunityTargetPriceProduct.ProductAmount,
                            ProductName            = getByIdResult.Bag.SaleOpportunityTargetPriceProduct.Product.Name,
                            ProductTypeId          = getByIdResult.Bag.SaleOpportunityTargetPriceProduct.Product.ProductTypeId,
                            ProductTypeName        = getByIdResult.Bag.SaleOpportunityTargetPriceProduct.Product.ProductType.Name,
                            ProductTypeDescription = getByIdResult.Bag.SaleOpportunityTargetPriceProduct.Product.ProductType.Description,
                            ProductPictureId       = getByIdResult.Bag.SaleOpportunityTargetPriceProduct.Product.ProductMedias.Select(media => media.FileRepositoryId).FirstOrDefault(),
                            ProductColorTypeId     = getByIdResult.Bag.SaleOpportunityTargetPriceProduct.ProductColorTypeId,
                            ProductColorTypeName   = getByIdResult.Bag.SaleOpportunityTargetPriceProduct.ProductColorType?.Name
                        };
                    }
                }
            }

            return(result);
        }
Esempio n. 2
0
        public IActionResult Put([FromBody] SampleBoxProductUpdateCommandInputDTO model)
        {
            var appResult = this.UpdateCommand.Execute(model);

            return(appResult.IsSucceed ? (IActionResult)this.Ok(appResult) : (IActionResult)this.BadRequest(appResult));
        }