public async Task <IDeleteProductResponseObject> Handle(IDeleteProductRequestObject deleteProductRequestObject) { try { deleteProductRequestObject.Validate(); if (!deleteProductRequestObject.IsValid) { return(new DeleteProductResponseObject((int)HttpStatusCode.BadRequest, deleteProductRequestObject.ValidationNotifications)); } var product = await _unitOfWork.ProductRepository.GetById(deleteProductRequestObject.Id); if (product == null) { return(new DeleteProductResponseObject((int)HttpStatusCode.NotFound, new ValidationNotification(Messages.ProductIdError))); } _unitOfWork.ProductRepository.Delete(product); if (!_unitOfWork.Commit()) { return(new DeleteProductResponseObject((int)HttpStatusCode.InternalServerError, new ValidationNotification(Messages.DatabaseError))); } return(new DeleteProductResponseObject((int)HttpStatusCode.OK)); }catch (Exception e) { return(new DeleteProductResponseObject((int)HttpStatusCode.InternalServerError, new ValidationNotification(Messages.ServerError, e.Message))); } }
public async Task <IDeleteProductResponseObject> Handle(IDeleteProductRequestObject deleteProductRequestObject) { return(await _deleteProduct.Handle(deleteProductRequestObject)); }