public ProductDeletedEvent(DeleteProductDto product)
        {
            State = product.State;

            if (product.Errors != null && product.Errors.Count > 0)
            {
                Errors = new List <IError>();
                product.Errors?.ForEach(e =>
                {
                    var createError = new Error(e.Field, e.Message);
                    Errors.Add(createError);
                });
            }
        }
        public async Task <ActionResult <GetProductDto> > Delete([FromBody] DeleteProductDto productData)
        {
            if (productData == null)
            {
                return(BadRequest());
            }

            var result = await _product.Delete(productData);

            if (!result)
            {
                return(BadRequest("Could not deleted!"));
            }

            return(Ok("Deleted"));
        }
Beispiel #3
0
        public async Task <bool> Delete(DeleteProductDto product)
        {
            try
            {
                var entity = await _uow.Product.Get(p => p.Code == product.Code);

                if (entity == null)
                {
                    return(false);
                }

                await _uow.Product.Delete(entity);

                return(await _uow.CompleteAsync());
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Beispiel #4
0
        public async Task WhenAsync(DeleteProductDto c)
        {
            var idObj         = (c as IDeleteProduct).ProductId;
            var uriParameters = new ProductUriParameters();

            uriParameters.Id = idObj;

            var q = new ProductDeleteQuery();

            q.CommandId   = c.CommandId;
            q.RequesterId = c.RequesterId;
            q.Version     = Convert.ToString(c.Version);

            var req = new ProductDeleteRequest(uriParameters);

            req.Query = q;

            var resp = await _ramlClient.Product.Delete(req);

            ProductProxyUtils.ThrowOnHttpResponseError(resp);
        }
Beispiel #5
0
        /// <summary>
        /// Delete the product
        /// </summary>
        /// <param name="productId"></param>
        /// <returns></returns>
        public async Task <DeleteProductDto> DeleteProduct(string productId)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(productId))
                {
                    return(await Task.Run(() => new DeleteProductDto(false)
                    {
                        Errors = new List <Error>
                        {
                            new Error("productId", "Field must not be empty")
                        }
                    }));
                }

                var product = _repository.Product.GetProductById(Guid.Parse(productId));
                if (product != null)
                {
                    _repository.Product.DeleteProduct(product);
                    _repository.Save();
                    return(await Task.Run(() => new DeleteProductDto(true)));
                }

                return(new DeleteProductDto(false)
                {
                    Errors = new List <Error>
                    {
                        new Error("Product", "Product doesn't exists")
                    }
                });
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(await Task.Run(() => DeleteProductDto.PrepareExceptionResponse(null, "ERROR_SYSTEM")));
            }
        }
Beispiel #6
0
 public void When(DeleteProductDto c)
 {
     WhenAsync(c).GetAwaiter().GetResult();
 }