예제 #1
0
        public Result Add(BookModel model)
        {
            try
            {
                if (_bookRepository.EntityQuery().Any(p => p.Name.ToUpper() == model.Name.ToUpper().Trim()))
                {
                    return(new ErrorResult("Product with the same name exists!"));
                }

                double unitPrice;
                if (!double.TryParse(model.UnitPriceText.Trim().Replace(",", "."), NumberStyles.Any, CultureInfo.InvariantCulture, out unitPrice))
                {
                    return(new ErrorResult("Unit price must be a decimal number!"));
                }

                model.UnitPrice = unitPrice;
                var entity = new Book()
                {
                    CategoryId  = model.CategoryId,
                    Description = model.Description?.Trim(),
                    Name        = model.Name.Trim(),
                    StockAmount = model.StockAmount,
                    UnitPrice   = model.UnitPrice
                };
                _bookRepository.Add(entity);
                return(new SuccessResult());
            }
            catch (Exception exc)
            {
                return(new ExceptionResult(exc));
            }
        }