public void ValidateProduct(OnLineOrderProductRequest onLineOrderProductRequest)
 {
     if (string.IsNullOrEmpty(onLineOrderProductRequest.ProductDescription))
     {
         Errors.Add(CreateError(1001, "Product Description is not provided"));
     }
     else
     {
         if (onLineOrderProductRequest.ProductDescription.Length > 50)
         {
             Errors.Add(CreateError(1002, "Product Description should not be more than 50 charactors"));
         }
     }
     if (string.IsNullOrEmpty(onLineOrderProductRequest.ProductName))
     {
         Errors.Add(CreateError(1003, "Product Name is not provided"));
     }
     else
     {
         if (onLineOrderProductRequest.ProductDescription.Length > 50)
         {
             Errors.Add(CreateError(1004, "Product Name should not be more than 50 charactors"));
         }
     }
     if (string.IsNullOrEmpty(onLineOrderProductRequest.Price.ToString()))
     {
         Errors.Add(CreateError(1005, "Product Price is not provided"));
     }
 }
Example #2
0
 public static Product MapOnLineOrderRequest(OnLineOrderProductRequest onLineOrderProductRequest)
 {
     return(new Product
     {
         Price = onLineOrderProductRequest.Price,
         ProductDescription = onLineOrderProductRequest.ProductDescription,
         ProductName = onLineOrderProductRequest.ProductName
     });
 }
Example #3
0
        public ActionResult Create([Bind(Include = "ProductId,ProductName,ProductDescription,Price")] Product product)
        {
            if (ModelState.IsValid)
            {
                var result = service.CreateLoginSession("Sazi", "Password0");
                OnLineOrderProductRequest products = new OnLineOrderProductRequest()
                {
                    ProductDescription = product.ProductDescription,
                    ProductName        = product.ProductName,
                    Price     = product.Price,
                    SessionId = result.OnLineOrderLoginSesssionKey
                };
                service.CreateProduct(products);
                return(RedirectToAction("Index"));
            }

            return(View(product));
        }
        public OnLineOrderCreateProductResponse CreateProduct(OnLineOrderProductRequest onLineOrderRequest)
        {
            var response = new OnLineOrderCreateProductResponse();
            var validate = new ValidatorOnLineOrder(onLineOrderRequest.SessionId);

            try
            {
                if (!validate.IsSessionIdValidate())
                {
                    response.Errors = validate.Errors;
                }
                else
                {
                    if (loginSessionService.GetLoginSesionBySenssionIdAsync(onLineOrderRequest.SessionId).Result == null)
                    {
                        response.Errors.Add(CreateError(005, "No username and Password Found"));
                    }
                    else
                    {
                        var validator = new ValidatorOnLineOrder(onLineOrderRequest);
                        if (validator.IsProductValid())
                        {
                            productService.CreateProductAsync(ProductDto.MapOnLineOrderRequest(onLineOrderRequest));
                        }
                        else
                        {
                            response.Errors = validator.Errors;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                response.Errors.Add(CreateError(1000, "OnLineOrder - Error : " + ex.Message));
            }
            return(response);
        }
 public ValidatorOnLineOrder(OnLineOrderProductRequest onLineOrderProductRequest)
 {
     Errors = new List <OnLineOrderError>();
     OnLineOrderProductRequest = onLineOrderProductRequest;
 }