public async Task <IActionResult> Delete([FromBody] ProductAttributeCrudRequest request) { try { var response = new ProductAttributeCrudResponse(); var validate = ProductAttributeRequestValidator.ValidateModel(request); if (validate.IsValid) { // Đổi trạng thái về Lock để ẩn thuộc tính request.Status = EnumDefine.StatusEnum.Lock; response = await _productAttributeAppService.AddOrUpdate(request); } else { response.SetFail(validate.Errors.Select(p => p.ToString())); } return(Json(response)); } catch (Exception e) { _logger.LogError(e, Common.Common.GetMethodName(), request); throw; } }
public async Task <ProductAttributeCrudResponse> AddOrUpdate(ProductAttributeCrudRequest request) { var response = new ProductAttributeCrudResponse(); try { var user = await _context.GetCurrentCustomer(); var command = request.ToCommand(user.Id); var result = await _productAttributeService.SendCommand(command); if (result.IsSucess) { response.SetSucess(); } else { response.SetFail(result.Message); } } catch (Exception e) { response.SetFail(e); _logger.LogError(e, e.Message, request); } return(response); }
public static ProductAttributeCommand ToCommand(this ProductAttributeCrudRequest request, string userId) { if (request == null) { return(null); } if (!string.IsNullOrEmpty(request.Id)) { return(new ProductAttributeCommand() { Id = request.Id, Name = request.Name, Status = request.Status, UpdatedOnUtc = Extensions.GetCurrentDateUtc(), UpdatedUserId = userId }); } else { return(new ProductAttributeCommand() { Name = request.Name, Status = request.Status, CreatedOnUtc = Extensions.GetCurrentDateUtc(), CreatedUserId = userId }); } }