示例#1
0
        public static ICreateNewPhysicalProductRequest Adapt(GrpcNewPhysicalProduct grpcRequest)
        {
            try
            {
                var request = new CreateNewPhysicalProductRequest()
                {
                    Brand       = grpcRequest.ProductData.Brand,
                    Name        = grpcRequest.ProductData.Name,
                    Description = grpcRequest.ProductData.Description,
                    Model       = grpcRequest.ProductData.Model,
                    Weight      = grpcRequest.Weight
                };

                DetermineCategory(grpcRequest, request);
                DetermineColor(grpcRequest, request);
                DetermineCondition(grpcRequest, request);
                BuildWarranty(grpcRequest, request);
                BuildMeasurements(grpcRequest, request);

                return(request);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
示例#2
0
 private static void DetermineCategory(GrpcNewPhysicalProduct grpcRequest, CreateNewPhysicalProductRequest request)
 {
     try
     {
     }
     catch (Exception e)
     {
         throw e;
     }
 }
 public static async Task CreateNewPhysicalProduct(GrpcNewPhysicalProduct grpcRequest)
 {
     try
     {
         var request = GrpcNewPhysicalRequestAdapter.Adapt(grpcRequest);
         await UseCaseOperator.CreateNewPhysicalProductAsync(request);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
示例#4
0
        public override async Task <GrpcResponseStatus> CreateNewPhysicalProduct(GrpcNewPhysicalProduct request, ServerCallContext context)
        {
            try
            {
                await Controller.CreateNewPhysicalProduct(request);

                return(new GrpcResponseStatus());
            }
            catch (Exception e)
            {
                throw HandleException(e);
            }
        }
示例#5
0
 private static void BuildWarranty(GrpcNewPhysicalProduct grpcRequest, CreateNewPhysicalProductRequest request)
 {
     try
     {
         request.Warranty = new ProductWarranty()
         {
             TimeInDays = grpcRequest.WarrantyTimeInDays
         };
     }
     catch (Exception e)
     {
         throw e;
     }
 }
示例#6
0
 private static void BuildMeasurements(GrpcNewPhysicalProduct grpcRequest, CreateNewPhysicalProductRequest request)
 {
     try
     {
         request.Mesuarments = new PhysicalProductMeasurements()
         {
             Width  = grpcRequest.Width,
             Height = grpcRequest.Height,
             Length = grpcRequest.Length
         };
     }
     catch (Exception e)
     {
         throw e;
     }
 }
示例#7
0
 private static void DetermineColor(GrpcNewPhysicalProduct grpcRequest, CreateNewPhysicalProductRequest request)
 {
     try
     {
         if (grpcRequest.ProductData.Color == "white")
         {
             request.Color = ProductColor.White;
         }
         else if (grpcRequest.ProductData.Color == "black")
         {
             request.Color = ProductColor.Black;
         }
         else
         {
             request.Color = ProductColor.Invalid;
         }
     }
     catch (Exception e)
     {
         throw e;
     }
 }
示例#8
0
 private static void DetermineCondition(GrpcNewPhysicalProduct grpcRequest, CreateNewPhysicalProductRequest request)
 {
     try
     {
         if (grpcRequest.ProductData.Condition == "new")
         {
             request.Condition = ProductCondition.New;
         }
         else if (grpcRequest.ProductData.Condition == "used")
         {
             request.Condition = ProductCondition.Used;
         }
         else
         {
             request.Condition = ProductCondition.Invalid;
         }
     }
     catch (Exception e)
     {
         throw e;
     }
 }