public string DoSaveItemTranferInRemote(DsInventory.ITEMTRANSFERMAINRow drow,DsInventory.ITEMTRANSFERDETAILDataTable itemtransferdetail)
        {
            var dm = new DataManager();
            string retval=string.Empty;
            SqlTransaction tran = null;
            try
            {
                var cn = new SqlConnection(_syncConstr);
                cn.Open();
                tran = cn.BeginTransaction(IsolationLevel.ReadUncommitted);

                var ds = new DsInventory();
                var dtdetail = ds.ITEMTRANSFERDETAIL;
                var dt = ds.ITEMTRANSFERMAIN;

                var taPurMain = new ITEMTRANSFERMAINTableAdapter();

                var taPurDetail = new ITEMTRANSFERDETAILTableAdapter();

                taPurMain.Connection.ConnectionString = _syncConstr;

            //   taPurMain.Fill(ds.ITEMTRANSFERMAIN);

                taPurMain.FillByTranid(dt, drow.TRANID);

                // Assaign Transaction
                taPurMain.AssignConnection(cn, tran);
                taPurDetail.AssignConnection(cn, tran);
                
                var dr = dt.FindByTRANID(drow.TRANID);

                if (dr == null)
                {
                    dr = (DsInventory.ITEMTRANSFERMAINRow) dt.NewRow();
                    dr.TRANID = drow.TRANID;
                    dr.COMPANY = drow.COMPANY;
                    if (!drow.IsEDATENull())
                    dr.EDATE = drow.EDATE;
                    if (!drow.IsEUSERIDNull())
                    dr.EUSERID = drow.EUSERID;
                    dr.FRMSTOREID = drow.FRMSTOREID;
                    dr.TOSTOREID = drow.TOSTOREID;
                    dr.TRANDATE = drow.TRANDATE;
                    dr.TOTVALUE = drow.TOTVALUE;
                    dr.TOTITEMS = drow.TOTITEMS;
                    dr.HOLD = drow.HOLD;
                    dr.FRMNAME = drow.FRMNAME;
                    dr.TONAME = drow.TONAME;
                    dr.TTYPE = drow.TTYPE;
                    dr.TOCOMP = drow.TOCOMP;
                    dr.USERID = drow.USERID;
                    dr.DOWNFILENO = drow.DOWNFILENO;
                    dt.Rows.Add(dr);
                    taPurMain.Update(dt);
                    foreach (DsInventory.ITEMTRANSFERDETAILRow  ditemdetarow in itemtransferdetail)
                    {
                        var newdetrow = dtdetail.NewRow();
                        foreach (DataColumn dc in itemtransferdetail.Columns)
                        {
                            if (!dc.ReadOnly)
                            {
                                newdetrow[dc.ColumnName] = ditemdetarow[dc.ColumnName];
                            }
                        }
                        dtdetail.Rows.Add(newdetrow);
                    }
                    taPurDetail.Update(dtdetail);
                    tran.Commit();
                    retval = "1";
                }
                else
                {
                    retval = "1"; 
                }
            }
            catch (Exception ex)
            {
                if (tran != null)
                    tran.Rollback();
                retval = ex.ToString();
            }
            return retval;
        }