Пример #1
0
        public async Task <IActionResult> Create(string jsonModel, CancellationToken cancellationToken)
        {
            if (!_permissionService.Authorize(XrmsPermissionProvider.ManageWaiterOrders))
            {
                return(AccessDeniedView());
            }

            if (!String.IsNullOrEmpty(jsonModel))
            {
                try
                {
                    CreateInStoreOrderModel model = JsonConvert.DeserializeObject <CreateInStoreOrderModel>(jsonModel);

                    // validate model
                    CreateInStoreOrderModelValidator validator = new CreateInStoreOrderModelValidator(this._localizationService);
                    ValidationResult results = validator.Validate(model);

                    if (!results.IsValid)
                    {
                        _logger.InsertLog(LogLevel.Error, "Create Order: Validation Error", results.ToString());
                        List <string> errorList = new List <string>();
                        foreach (var failure in results.Errors)
                        {
                            //Console.WriteLine("Property " + failure.PropertyName + " failed validation. Error was: " + failure.ErrorMessage);
                            errorList.Add(failure.ErrorMessage);
                        }
                        return(BadRequest(errorList));
                    }

                    // no error, send command
                    Guid guid = CompGuid.NewGuid();
                    await _commandSender.Send(new CreateCmd(guid, model), cancellationToken);

                    return(Ok(guid));
                }
                catch (Exception ex)
                {
                    _logger.InsertLog(LogLevel.Error, "Create Order: Exception Error", ex.Message);
                    return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
                }
            }
            else
            {
                _logger.InsertLog(LogLevel.Error, "Create Order: Empty Object", "Request object is null or empty.");
                return(BadRequest("Request object is null or empty."));
            }
        }
Пример #2
0
 public CreateCmd(Guid id, CreateInStoreOrderModel model)
 {
     Id           = id;
     CommandModel = model ?? throw new ArgumentNullException();
 }