These are my model classes
But when I update my model, the PurchaseReturnDetail
table is not there in the model, and it creates a one-to-many relationship between PurchaseReturn
and PurchaseDetail
.
I'm using repository pattern and I don't know how to insert transactions in PurchaseReturnDetail
table.
Following is my code to insert transaction. but it gives exception
Message = "An entity object cannot be referenced by multiple instances of IEntityChangeTracker."
public async Task<Response> SaveAsync(PurchaseReturn purchaseReturn, List<string> serialNoList)
{
PurchaseReturnRepository rep = new PurchaseReturnRepository();
decimal totalRate = 0;
foreach (var serialNo in serialNoList)
{
var purchaseDetail = await PurchaseService.Instance.GetSinglePurchasedItemDetailAsync(serialNo);
purchaseReturn.PurchaseDetails.Add(purchaseDetail);
//Calculating total rate to update supplier balance
totalRate += purchaseDetail.Rate;
}
var response = await rep.AddAsync(purchaseReturn);
if (response.Success)
{
//Updating Supplier Balance
response = await SupplierService.Instance.UpdataBalanceAsync(purchaseReturn.SupplierId, totalRate, false);
response.Msg = "Items has beed returned and stock is updated";
}
return response;
}
NOTE : I'm using database first approach