/// <summary>
        /// szerkesztés megkezdésekor kezdő értékek letárolása tbl_frmFormTransaction táblában
        /// </summary>
        /// <param name="ID_Created_By">user id</param>
        /// <param name="myForm">CustomForm példány</param>
        /// <param name="blAddnew">új rekord felvétele/módosítás</param>
        /// <returns>CustomForm</returns>
        private CustomForm OpenFormTransactionRows(int ID_Created_By, ref CustomForm myForm, bool blAddnew)
        {
            if (myForm.Status == FormStatus.AccesDenied)
                {
                    return myForm;
                }

                ServiceConfig srvcont = new ServiceConfig(_serviceconfigparameters);
                try
                {
                    var form_data = GetFormDataByFormIdKeyValue(myForm.FormHeader.FormID, myForm.FormHeader.KeyValue, blAddnew);

                    if (form_data == null || form_data.Count == 0)
                    {
                        myForm.Status = FormStatus.InvalidParameters;
                        myForm.StatusMessage = "Selected item does not exist in the current table!";
                        return myForm;
                    }

                    myForm.Data = form_data;
                    var stat_open_id = srvcont.DataContext.tbl_frmTransactionStatus.FirstOrDefault(f => f.TransactionStatus == Constants.TRANSACTION_STATUS.OPEN).ID;
                    foreach (var row in form_data)
                    {
                        var transaction_item = new Entities.tbl_frmFormTransaction();
                        transaction_item.ID_frmFormTransactionHeader = myForm.FormHeader.EditGuid;
                        transaction_item.ID_frmFormField = (int)row.fieldid;
                        transaction_item.ID_frmTransactionStatus = stat_open_id;
                        transaction_item.Value = row.id;
                        transaction_item.TS_CREATE = DateTime.Now;
                        transaction_item.CREATED_BY = ID_Created_By;
                        transaction_item.VALID_FROM = DateTime.Now;
                        transaction_item.VALID_TO = myForm.FormHeader.EditGuidExpire;
                        srvcont.DataContext.tbl_frmFormTransaction.AddObject(transaction_item);
                    }

                    srvcont.DataContext.SaveChanges();
                    myForm.Status = FormStatus.ProcedureReady;
                    myForm.FormHeader.IsReadOnly = false;

                }
                catch (Exception ex)
                {
                    HelperClasses.ExceptionHandler.LogException(ex, srvcont, "OpenFormTransactionRows");
                    myForm.Status = FormStatus.ProcedureFailed;
                    myForm.FormHeader.IsReadOnly = true;
                    myForm.StatusMessage = "Form rows openening failed!";
                }

                return myForm;
        }
        /// <summary>
        /// mentéskor tbl_frmFormTransaction táblába új értékek beszúrása
        /// </summary>
        /// <param name="ID_Created_By">user id</param>
        /// <param name="myForm">CustomForm példány</param>
        private void InsertFormTransactionRows(int ID_Created_By, ref CustomForm myForm)
        {
            if (myForm.Status == FormStatus.AccesDenied)
                {
                    return;
                }

                ServiceConfig srvcont = new ServiceConfig(_serviceconfigparameters);

                string guid = myForm.FormHeader.EditGuid;
                int table_fieldid = myForm.FormHeader.ID_TableField;
                var stat_open_id = srvcont.DataContext.tbl_frmTransactionStatus.FirstOrDefault(f => f.TransactionStatus == Constants.TRANSACTION_STATUS.OPEN).ID;
                var expire = srvcont.DataContext.tbl_frmFormTransactionHeader.FirstOrDefault(f => f.ID == guid && f.ID_genTableField == table_fieldid && f.CREATED_BY == ID_Created_By).VALID_TO;

                try
                {
                    myForm.Status = FormStatus.ProcedureInProgress;
                    foreach (var item in myForm.Data)
                    {
                        Entities.tbl_frmFormTransaction nRow = new Entities.tbl_frmFormTransaction();
                        nRow.ID_frmFormTransactionHeader = myForm.FormHeader.EditGuid;
                        nRow.ID_frmTransactionStatus = stat_open_id;
                        nRow.ID_frmFormField = (int)item.fieldid;
                        nRow.Value = item.id;
                        nRow.TS_CREATE = DateTime.Now;
                        nRow.CREATED_BY = ID_Created_By;
                        nRow.VALID_FROM = DateTime.Now;
                        nRow.VALID_TO = expire;
                        srvcont.DataContext.tbl_frmFormTransaction.AddObject(nRow);
                    }

                    srvcont.DataContext.SaveChanges();
                    myForm.Status = FormStatus.ProcedureReady;

                }
                catch (Exception ex)
                {

                    HelperClasses.ExceptionHandler.LogException(ex, srvcont, "InsertFormTransactionRow");
                    myForm.Status = FormStatus.ProcedureFailed;
                    myForm.FormHeader.IsReadOnly = true;
                    myForm.StatusMessage = "Inserting FormTransactionRow failed!";
                }
        }