Example #1
0
        public async Task <ServiceResponse <ProductDTO_ToReturn> > EditProduct(ProductDTO_ToAdd input, int id)
        {
            var errMsg = "";

            //validate productgroup
            var productGroupExsist = await GetActiveProductGroupById(input.ProductGroupId);

            if (productGroupExsist is null)
            {
                errMsg = $"product group id: {input.ProductGroupId} not found";
                _logger.LogError(errMsg);
                return(ResponseResult.Failure <ProductDTO_ToReturn>(errMsg));
            }

            //validate exsist product
            var productToUpdate = await GetActiveProductById(id);

            if (productToUpdate is null)
            {
                errMsg = $"product id: {id} not found";
                return(ResponseResult.Failure <ProductDTO_ToReturn>(errMsg));
            }

            //update product
            try
            {
                productToUpdate.Name           = input.Name;
                productToUpdate.Price          = input.Price;
                productToUpdate.ImageUrl       = input.ImageUrl;
                productToUpdate.ProductGroupId = input.ProductGroupId;
                productToUpdate.UpdatedBy      = GetUsername();
                productToUpdate.UpdatedDate    = Now();
                _context.Update(productToUpdate);
                await _context.SaveChangesAsync();

                var dto = _mapper.Map <ProductDTO_ToReturn>(productToUpdate);
                return(ResponseResult.Success <ProductDTO_ToReturn>(dto));
            }
            catch (System.Exception ex)
            {
                _logger.LogError(ex.Message);
                return(ResponseResult.Failure <ProductDTO_ToReturn>(ex.Message));
            }
        }
Example #2
0
        public async Task <ServiceResponse <ProductDTO_ToReturn> > AddProduct(ProductDTO_ToAdd input)
        {
            var errMsg = "";

            //validate productgroup
            var productGroupExsist = await GetActiveProductGroupById(input.ProductGroupId);

            if (productGroupExsist is null)
            {
                errMsg = $"product group id: {input.ProductGroupId} not found";
                _logger.LogError(errMsg);
                return(ResponseResult.Failure <ProductDTO_ToReturn>(errMsg));
            }

            try
            {
                var productToAdd = new Product();
                productToAdd.Name           = input.Name;
                productToAdd.ProductGroupId = input.ProductGroupId;
                productToAdd.Price          = input.Price;
                productToAdd.Stock          = input.Stock;
                productToAdd.ImageUrl       = "";
                productToAdd.IsActive       = true;
                productToAdd.CreatedBy      = GetUsername();
                productToAdd.CreatedDate    = Now();
                productToAdd.UpdatedBy      = GetUsername();
                productToAdd.UpdatedDate    = Now();
                await _context.Products.AddAsync(productToAdd);

                await _context.SaveChangesAsync();

                var dto = _mapper.Map <ProductDTO_ToReturn>(productToAdd);
                return(ResponseResult.Success <ProductDTO_ToReturn>(dto));
            }
            catch (System.Exception ex)
            {
                _logger.LogError(ex.Message);
                return(ResponseResult.Failure <ProductDTO_ToReturn>(ex.Message));
            }
        }
Example #3
0
 public async Task <IActionResult> EditProduct(ProductDTO_ToAdd input, int id)
 {
     return(Ok(await _service.EditProduct(input, id)));
 }
Example #4
0
 public async Task <IActionResult> AddProduct(ProductDTO_ToAdd input)
 {
     return(Ok(await _service.AddProduct(input)));
 }