SubmitChanges() throws internal server error

63 views Asked by At
public void RejectOrder(string rejectReason, int selectedNewOrderId)
    {
        SFNewOrder sfNewOrder = mdbDataContext.SFNewOrders.FirstOrDefault(x => x.ID == selectedNewOrderId && !x.IsRejected);

        if (sfNewOrder != null)
        {
            sfNewOrder.IsRejected = true;                              
        }

        SFReject sfReject = new SFReject();

        sfReject.SFNewOrderID = sfNewOrder.ID;
        sfReject.RejectReason = rejectReason;
        sfReject.RejectedDate = DateTime.Now;           
        sfReject.RejectedBy = 2;

        mdbDataContext.SFRejects.InsertOnSubmit(sfReject);
        mdbDataContext.SubmitChanges();
    }

Here I want to change IsRejected property in SFNewOrder Table & Insert a new record In SFReject Table. But I m getting

internal server error

...on

mdbDataContext.submitchanges();

Please help... Thanks in advance.

1

There are 1 answers

1
Renascent On BEST ANSWER
public void RejectOrder(string rejectReason, int selectedNewOrderId, User user)
{
    SFNewOrder sfNewOrder = mdbDataContext.SFNewOrders.FirstOrDefault(x => x.ID == selectedNewOrderId && !x.IsRejected);

    if (sfNewOrder != null)
    {
        sfNewOrder.IsRejected = true;                              
    }

    SFReject sfReject = new SFReject();

    sfReject.SFNewOrder = sfNewOrder; 
    sfReject.RejectReason = rejectReason;
    sfReject.RejectedDate = DateTime.Now;           
    sfReject.User= user;

    mdbDataContext.SFRejects.InsertOnSubmit(sfReject);
    mdbDataContext.SubmitChanges();
}

As I have 2 foreign keys in SFReject table I need to assign whole object of that tables. Its working :)