ثبت نشدن محصول
سلام دوستان
خسته نباشید.
از بخش43 فصل20
دیگه کاتالوگ ثبت نمی شه کدهای این قسمت باعث شده دیگه کاتالوگ ثبت نشود.ممنون می شم برنامه خودتونو چک کنید اگر برای شما هم این اتفاق افتاد .مشکلو بیان کنید.
زمانی که در این قسمت فیلدهای زیر
;private int _price = 0
;private int? _oldPrice = null
اضافه شد دیگه نمی تونم محصول اضافه کنم.مدت زیادی می شه درگیر این قسمتم از دوستانی که این مشکلو می توانند حل کنند ممنون می شم راهنماییم کنند.
[Auditable]
public class CatalogItem
{
private int _price = 0;
private int? _oldPrice = null;
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public int Price
{
get
{
return GetPrice();
}
set
{
Price = _price;
}
}
public int? OldPrice
{
get
{
return _oldPrice;
}
set
{
OldPrice = _oldPrice;
}
}
public int? PercentDiscount { get; set; }
public int CatalogTypeId { get; set; }
public CatalogType CatalogType { get; set; }
public int CatalogBrandId { get; set; }
public CatalogBrand CatalogBrand { get; set; }
public int AvailableStock { get; set; }
public int RestockThreshold { get; set; }
public int MaxStockThreshold { get; set; }
public int VisitCount { get; set; }
public ICollection<CatalogItemFeature> CatalogItemFeatures { get; set; }
public ICollection<CatalogItemImage> CatalogItemImages { get; set; }
public ICollection<Discount> Discounts { get; set; }
public ICollection<CatalogItemFavourite> CatalogItemFavourites { get; set; }
public ICollection<OrderItem> OrderItems { get; set; }
private int GetPrice()
{
var dis = GetPreferredDiscount(Discounts, _price);
if (dis != null)
{
var discountAmount = dis.GetDiscountAmount(_price);
int newPrice = _price - discountAmount;
_oldPrice = _price;
PercentDiscount = (discountAmount * 100) / _price;
return newPrice;
}
return _price;
}
/// <summary>
/// دریافت بیشترین تخفیف
/// </summary>
/// <param name="discounts"></param>
/// <param name="price"></param>
/// <returns></returns>
private Discount GetPreferredDiscount(ICollection<Discount> discounts, int price)
{
Discount preferredDiscount = null;
decimal? maximumDiscountValue = null;
if (discounts != null)
{
foreach (var discount in discounts)
{
var currentDiscountValue = discount.GetDiscountAmount(price);
if (currentDiscountValue != decimal.Zero)
{
if (!maximumDiscountValue.HasValue || currentDiscountValue > maximumDiscountValue)
{
maximumDiscountValue = currentDiscountValue;
preferredDiscount = discount;
}
}
}
}
return preferredDiscount;
}
}
با تغییرات در پروپرتی های OldPriceوPriceدر قسمت set کردن مشکل حل می شود:
public int Price
{
get
{
;()return GetPrice
}
set
{
;price=value_
}
}
public int? OldPrice
{
get
{
;return _oldPrice
}
set
{
;oldPrice=value_
}
پاسخی برای این باگ ارسال کنید
لطفا کدها را درون قطعه کد ارسال نمایید
برای ارسال پاسخ باید وارد حساب کاربری خود شوید
ورود به حساب کاربری