0

I need order number,that is not order ID but is unique. I generate from time,member id,random. ...

bll.DataAccess.BeginTransaction();            
    try
    {
        T_ProductOrd order = new T_ProductOrd();
        DateTime tm = DateTime.Now;
        order.F_MemberID = user.F_MemberID;
        order.F_Status = (short)OrderStatus.waitpay;
        order.F_Price = items.Sum(i => i.num * i.price);
        do {                 
            order.F_OrderNum = tm.ToString("yyyyMMdd") + (user.F_MemberID % 1000).ToString("0000") + new Random((int)tm.Ticks).Next(0, 9999).ToString("0000");
            bll.Save(order);
        } while (bll.FindCount(p => p.F_OrderNum == order.F_OrderNum) > 1);   

My question is :do...while query and regenerate in database transaction will work fine?or still possible throw unique conflict when commit? If is not work fine 100%.how can I fixed?

Habeeb
  • 7,601
  • 1
  • 30
  • 33
fe263
  • 121
  • 1
  • 7

0 Answers0