public override Task <ProductResponse> AddProduct(ProductRequest request, ServerCallContext context) { UserValidation(); var brand = GetBrand(request.Brand); var product = new eShop.ProductEntities.Entities.Product { AvailableStock = Convert.ToInt32(request.AvailableStock), Brand = brand }; _kernel.AddEntity(entity: product, saveChanges: true); context.Status = new Status(StatusCode.OK, string.Empty); return(Task.FromResult(MapToResponse(product: product))); }
private ProductResponse MapToResponse(eShop.ProductEntities.Entities.Product product) { return(new ProductResponse { Id = product.ExternalId.ToString(), Name = product.Display, Category = GetCategory(product), Brand = GetBrand(product), Price = (double)product.Price, Discount = product.Discount, DiscountPrice = (double)product.DiscountPrice, AvailableStock = product.AvailableStock, Description = product.Description, ShortDescription = product.ShortDescription, Specification = product.Specification, Colors = GetEmunStings <Color>(product.Colors), Sizes = GetEmunStings <Size>(product.Sizes), Promotions = product.Promotion.ToString() }); }
private ProductType GetCategory(eShop.ProductEntities.Entities.Product product) { return(product.Category != null && product.Category.Active ? new ProductType { Id = product.Category.ExternalId.ToString(), Name = product.Category.Display } : null); }
private ProductBrand GetBrand(eShop.ProductEntities.Entities.Product product) { return(product.Brand != null && product.Brand.Active ? new ProductBrand { Id = product.Brand.ExternalId.ToString(), Name = product.Brand.Display } : null); }