public GeneralResponse AddProductPrice(AddProductPriceRequestOld request) { GeneralResponse response = new GeneralResponse(); try { ProductPrice productPrice = new ProductPrice(); productPrice.ID = Guid.NewGuid(); productPrice.CreateDate = PersianDateTime.Now; productPrice.CreateEmployee = _employeeRepository.FindBy(request.CreateEmployeeID); productPrice.Imposition = request.Imposition; productPrice.MaxDiscount = request.MaxDiscount; productPrice.Product = this._productRepository.FindBy(request.ProductID); productPrice.ProductPriceTitle = request.ProductPriceTitle; productPrice.UnitPrice = request.UnitPrice; productPrice.Note = request.Note; productPrice.Discontinued = request.Discontinued; productPrice.SortOrder = GetSortOrder(); productPrice.RowVersion = 1; // Validation if (productPrice.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in productPrice.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } _productPriceRepository.Add(productPrice); _uow.Commit(); ////response.success = true; } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); } return(response); }
public GeneralResponse EditProductPrice(EditProductPriceRequestOld request) { GeneralResponse response = new GeneralResponse(); ProductPrice productPrice = new ProductPrice(); productPrice = _productPriceRepository.FindBy(request.ID); if (productPrice != null) { try { productPrice.ModifiedDate = PersianDateTime.Now; productPrice.ModifiedEmployee = _employeeRepository.FindBy(request.ModifiedEmployeeID); productPrice.Imposition = request.Imposition; productPrice.MaxDiscount = request.MaxDiscount; if (request.ProductID != null) { productPrice.Product = this._productRepository.FindBy(request.ProductID); } if (request.ProductPriceTitle != null) { productPrice.ProductPriceTitle = request.ProductPriceTitle; } productPrice.UnitPrice = request.UnitPrice; if (request.Note != null) { productPrice.Note = request.Note; } productPrice.Discontinued = request.Discontinued; if (productPrice.RowVersion != request.RowVersion) { response.ErrorMessages.Add("کارشناس محترم، یک کاربر همزمان با شما در حال ویرایش این رکورد است. بنابراین اطلاعات شما ذخیره نمی شود."); return(response); } else { productPrice.RowVersion += 1; } if (productPrice.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in productPrice.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } _productPriceRepository.Save(productPrice); _uow.Commit(); ////response.success = true; } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); } } else { response.ErrorMessages.Add("هیچ موردی جهت ویرایش وجود ندارد."); } return(response); }
public GeneralResponse EditProductPrices(IEnumerable <EditProductPriceRequest> requests, Guid ModifiedEmployeeID, Guid ProductID) { GeneralResponse response = new GeneralResponse(); try { foreach (EditProductPriceRequest request in requests) { ProductPrice productPrice = new ProductPrice(); #region Validate Product Price Code string _errorMessag = EditValidate(request.ProductPriceCode, request.ProductPriceTitle, request.ID); if (_errorMessag != "NoError") { response.ErrorMessages.Add(_errorMessag); return(response); } #endregion if (request.MaxDiscount > request.UnitPrice) { response.ErrorMessages.Add("تخفیف نمیتواند بیش از قیمت پایه باشد"); return(response); } productPrice = _productPriceRepository.FindBy(request.ID); productPrice.ModifiedDate = PersianDateTime.Now; productPrice.ModifiedEmployee = _employeeRepository.FindBy(ModifiedEmployeeID); productPrice.Imposition = request.Imposition; productPrice.MaxDiscount = request.MaxDiscount; productPrice.Comission = request.Comission; productPrice.Bonus = request.Bonus; if (request.ProductID != productPrice.Product.ID) { productPrice.Product = this._productRepository.FindBy(ProductID); } if (request.ProductPriceTitle != null) { productPrice.ProductPriceTitle = request.ProductPriceTitle; } productPrice.UnitPrice = request.UnitPrice; productPrice.ProductPriceCode = request.ProductPriceCode; if (request.Note != null) { productPrice.Note = request.Note; } productPrice.Discontinued = request.Discontinued; if (productPrice.RowVersion != request.RowVersion) { response.ErrorMessages.Add("EditConcurrencyKey"); return(response); } else { productPrice.RowVersion += 1; } if (productPrice.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in productPrice.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } _productPriceRepository.Save(productPrice); } _uow.Commit(); } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); if (ex.InnerException != null) { response.ErrorMessages.Add(ex.InnerException.Message); } } return(response); }
public GeneralResponse AddProductPrices(IEnumerable <AddProductPriceRequest> requests, Guid CreateEmployeeID, Guid ProductID) { GeneralResponse response = new GeneralResponse(); try { foreach (AddProductPriceRequest request in requests) { ProductPrice productPrice = new ProductPrice(); if (request.MaxDiscount > request.UnitPrice) { response.ErrorMessages.Add("تخفیف نمیتواند بیش از قیمت پایه باشد"); return(response); } #region Validate Product Price Code string _errorMessag = AddValidate(request.ProductPriceCode, request.ProductPriceTitle); if (_errorMessag != "NoError") { response.ErrorMessages.Add(_errorMessag); return(response); } #endregion productPrice.ID = Guid.NewGuid(); productPrice.CreateDate = PersianDateTime.Now; productPrice.CreateEmployee = _employeeRepository.FindBy(CreateEmployeeID); productPrice.Imposition = request.Imposition; productPrice.MaxDiscount = request.MaxDiscount; productPrice.ProductPriceCode = request.ProductPriceCode; productPrice.Product = this._productRepository.FindBy(ProductID); productPrice.ProductPriceTitle = request.ProductPriceTitle; productPrice.UnitPrice = request.UnitPrice; productPrice.Note = request.Note; productPrice.Discontinued = request.Discontinued; productPrice.Bonus = request.Bonus; productPrice.Comission = request.Comission; productPrice.SortOrder = GetSortOrder(); productPrice.RowVersion = 1; // Validation if (productPrice.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in productPrice.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } _productPriceRepository.Add(productPrice); } _uow.Commit(); } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); if (ex.InnerException != null) { response.ErrorMessages.Add(ex.InnerException.Message); } } return(response); }