示例#1
0
 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;
     }
 }
示例#2
0
 private static async Task ValidateDataFields(ICreateNewPhysicalProductRequest request)
 {
     try
     {
     }
     catch (Exception e)
     {
         throw e;
     }
 }
示例#3
0
 public static PhysicalProduct Execute(ICreateNewPhysicalProductRequest request)
 {
     try
     {
         return(PhysicalProductBuilder.Build(request));
     }
     catch (Exception e)
     {
         throw e;
     }
 }
示例#4
0
 public static async Task ValidateRequest(ICreateNewPhysicalProductRequest request)
 {
     try
     {
         await NewProductRequestEntity.ValidateRequest(request);
         await ValidateDataFields(request);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
示例#5
0
        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;
            }
        }