public static PhysicalProduct Build(ICreateNewPhysicalProductRequest request) { try { var product = ProductBuilder.Build(request); return(new PhysicalProduct() { Name = product.Name, Description = product.Description, Category = product.Category, Brand = product.Brand, Model = product.Model, Color = product.Color, Warranty = product.Warranty, PicturesUrls = product.PicturesUrls, Condition = product.Condition, Measurements = request.Mesuarments, Weight = request.Weight }); } catch (Exception e) { throw e; } }
private static async Task ValidateDataFields(ICreateNewPhysicalProductRequest request) { try { } catch (Exception e) { throw e; } }
public static PhysicalProduct Execute(ICreateNewPhysicalProductRequest request) { try { return(PhysicalProductBuilder.Build(request)); } catch (Exception e) { throw e; } }
public static async Task ValidateRequest(ICreateNewPhysicalProductRequest request) { try { await NewProductRequestEntity.ValidateRequest(request); await ValidateDataFields(request); } catch (Exception e) { throw e; } }
public static async Task CreateNewPhysicalProductAsync(ICreateNewPhysicalProductRequest request) { try { await NewPhysicalProductRequestEntity.ValidateRequest(request); var product = CreateNewPhysicalProduct.Execute(request); await PhysicalProductEntity.ValidateNewPhysicalProduct(product); await RegisterProduct.Execute(product); } catch (Exception e) { throw e; } }