Exemplo n.º 1
0
        public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            var validator = new OrderViewModelValidator();
            var result    = validator.Validate(this);

            return(result.Errors.Select(item => new ValidationResult(item.ErrorMessage, new[] { item.PropertyName })));
        }
Exemplo n.º 2
0
        public ActionResult Update(OrderViewModel model)
        {
            var result = new OrderViewModel();
            var validator = new OrderViewModelValidator();
            var validationResult = validator.Validate(new ValidationContext<OrderViewModel>(model, new PropertyChain(), new RulesetValidatorSelector("update")));
            if (validationResult.IsValid)
            {
                var request = model.ConvertToUpdateOrderRequest();
                request.IdentityToken = this.FormsAuthentication.GetAuthenticationToken();
                var response = this.orderService.UpdateOrder(request);
                result = response.ConvertToOrderViewModel();
            }
            else
            {
                result.MessageType = MessageType.Warning.ToString();
                result.BrokenRules = new List<BusinessRule>();
                foreach (var failure in validationResult.Errors)
                {
                    result.BrokenRules.Add(new BusinessRule(failure.PropertyName, failure.ErrorMessage));
                }
            }

            if (result.Id == 0)
            {
                result.Id = model.Id;
            }

            if (string.IsNullOrEmpty(result.OrderNumber))
            {
                result.OrderNumber = model.OrderNumber;
            }

            if (string.IsNullOrEmpty(result.TrackingNumber))
            {
                result.TrackingNumber = model.TrackingNumber;
            }

            if (string.IsNullOrEmpty(result.Status))
            {
                result.Status = model.Status;
            }

            var jsonNetResult = new JsonNetResult
            {
                Formatting = (Formatting)Newtonsoft.Json.Formatting.Indented,
                Data = result
            };
            return jsonNetResult;
        }
Exemplo n.º 3
0
        public ActionResult Add([Bind]string retailerUrl, string userEmail)
        {
            this.EnsureUserEmailIsNotChanged(userEmail);
            var result = new OrderViewModel { Status = "New", RetailerUrl = retailerUrl };
            var validator = new OrderViewModelValidator();
            var validationResult = validator.Validate(result);
            if (validationResult.IsValid)
            {
                var request = new AddOrderRequest
                {
                    RetailerUrl = retailerUrl,
                    CreatedDate = DateTime.UtcNow,
                    IdentityToken = userEmail,
                    CreatedByOperator = !userEmail.Equals(FormsAuthentication.GetAuthenticationToken())
                };
                var response = this.orderService.AddOrder(request);
                result = response.ConverToOrderViewModel();
            }
            else
            {
                result.MessageType = MessageType.Warning.ToString();
                result.BrokenRules = new List<BusinessRule>();
                foreach (var failure in validationResult.Errors)
                {
                    result.BrokenRules.Add(new BusinessRule(failure.PropertyName, failure.ErrorMessage));
                }
            }

            var jsonNetResult = new JsonNetResult
                {
                    Formatting = (Formatting)Newtonsoft.Json.Formatting.Indented,
                    Data = result
                };
            return jsonNetResult;
        }