public NewProductResultSet CreateProduct(ProductDTO newProductDTO) { var currentUser = ClaimsPrincipal.Current.Identity.Name; NewProductResultSet result = new NewProductResultSet(); try { var newProductResultSet = _unitOfWork.ProductRepository.CreateNewProduct(newProductDTO); if (newProductResultSet != null && newProductResultSet.Status == Enums.UpdateStatus.Success) { _unitOfWork.Commit(); } result = newProductResultSet; } catch { result.Status = Enums.UpdateStatus.Error; } return(result); }
public static NewProductResultSet CreateNewProduct(this IGenericRepository <Product> productRepository, ProductDTO newProductDTO) { NewProductResultSet result = new NewProductResultSet(); try { var product = productRepository.Find(x => x.Name == newProductDTO.Name && x.Category == newProductDTO.Category).ToList(); if (product.Count == 0) { Product newProduct = new Product(); Mapper.Map <ProductDTO, Product>(newProductDTO, newProduct); newProduct.CreatedOnUtc = DateTime.UtcNow; newProduct.UpdatedOnUtc = DateTime.UtcNow; newProduct.Size1 = newProductDTO.Size1; newProduct.Size2 = newProductDTO.Size2; newProduct.Size3 = newProductDTO.Size3; newProduct.Size4 = newProductDTO.Size4; newProduct.Size5 = newProductDTO.Size5; newProduct.Size6 = newProductDTO.Size6; productRepository.Add(newProduct); result.NewProduct = newProduct; result.Status = Enums.UpdateStatus.Success; return(result); } else { result.Status = Enums.UpdateStatus.AlreadyExist; return(result); } } catch { result.Status = Enums.UpdateStatus.Error; return(result); } }