Beispiel #1
0
        public async Task <IActionResult> Edit([FromBody] ProductShelfEditViewModel viewModel)
        {
            if (viewModel == null)
            {
                return(this.ApiResponse <string>(null, "Empty payload", ApiResponseCodes.INVALID_REQUEST));
            }

            var result = await _productShelftService.Edit(viewModel, this.CurrentUser.UserId);


            if (result.Any())
            {
                return(base.ApiResponse <string>(null, result.Select(r => r.ErrorMessage).ToArray(),
                                                 ApiResponseCodes.INVALID_REQUEST, result.Count()));
            }
            return(this.ApiResponse <ProductShelfEditViewModel>(viewModel, "successful.", ApiResponseCodes.OK));
        }
        public async Task <List <ValidationResult> > Edit(ProductShelfEditViewModel viewModel, Guid createdBy)
        {
            try
            {
                if (viewModel == null)
                {
                    throw new ArgumentNullException(nameof(viewModel));
                }
                var department = await this.GetByIdAsync(Guid.Parse(viewModel.Id));

                if (department == null)
                {
                    results.Add(new ValidationResult($"{viewModel.Id} not found"));
                    return(results);
                }


                department.Name        = viewModel.Name;
                department.RegNumber   = viewModel.RegNumber;
                department.Description = viewModel.Description;
                department.ModifiedBy  = createdBy;
                department.ModifiedOn  = DateTime.UtcNow;
                var createResult = await this.UpdateAsync(department);

                if (createResult == 0)
                {
                    results.Add(new ValidationResult("Update Failed"));
                    return(results);
                }

                viewModel.Id = department.Id.ToString();
                return(results);
            }
            catch (Exception ex)
            {
                results.Add(new ValidationResult(ex.Message));
                return(results);
            }
        }