I want to copy data from one collection to another. I'm using following code.
foreach (var x in invVM.invFreeItemsWithBatch)
            {
                invVM.invitemsWithBatch.Add(x);
            }
But this is wrong. How can I correct?
public ObservableCollection<InvFreeItemWithBatch> invFreeItemsWithBatch = new ObservableCollection<InvFreeItemWithBatch>();
    public ObservableCollection<InvFreeItemWithBatch> AddInvFreeItemsByBatch(int intitemID, string stritem, double dblqty, double dblamount, string struOM, bool blnfreeIssue,
        double dbluPrice, double dbldiscPerce, double dbldiscAmount, string strbatch, double dblBalanceForFreeqty)
    {
        invFreeItemsWithBatch.Add(new InvFreeItemWithBatch(intitemID, stritem, dblqty, dblamount, struOM, blnfreeIssue, dbluPrice, dbldiscPerce,
            dbldiscAmount, strbatch, dblBalanceForFreeqty));
        stritem = ""; struOM = "";
        return invFreeItemsWithBatch;
    }
    public ObservableCollection<InvItemWithBatch> invitemsWithBatch = new ObservableCollection<InvItemWithBatch>();
    public ObservableCollection<InvItemWithBatch> AddInvItemsByBatch(int intitemID, string stritem, double dblqty, double dblamount, string struOM, bool blnfreeIssue,
        double dbluPrice, double dbldiscPerce, double dbldiscAmount, string strbatch, double dblBalanceForFreeqty)
    {
        invitemsWithBatch.Add(new InvItemWithBatch(intitemID, stritem, dblqty, dblamount, struOM, blnfreeIssue, dbluPrice, dbldiscPerce,
            dbldiscAmount, strbatch, dblBalanceForFreeqty));
        stritem = ""; struOM = "";
        return invitemsWithBatch;
    }


 
    