protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5PA_SPU_1713 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guid();

            if (Parameter.Documents.Length > 0)
            {
                var patient_findingQuery = new ORM_HEC_Patient_Finding.Query();
                patient_findingQuery.HEC_Patient_FindingID = Parameter.PatientFindingID;
                patient_findingQuery.IsDeleted             = false;
                patient_findingQuery.Tenant_RefID          = securityTicket.TenantID;
                var patient_finding = ORM_HEC_Patient_Finding.Query.Search(Connection, Transaction, patient_findingQuery).Single();
                patient_finding.Modification_Timestamp = DateTime.Now;
                patient_finding.Save(Connection, Transaction);
            }

            foreach (var document in Parameter.Documents)
            {
                if (document.isDeleted)
                {
                    var findingDocumentQuery = new ORM_HEC_Patient_Finding_Document.Query();
                    findingDocumentQuery.Tenant_RefID = securityTicket.TenantID;
                    findingDocumentQuery.IsDeleted    = false;
                    findingDocumentQuery.HEC_Patient_Finding_DocumentID = document.id;

                    var findingDocument = ORM_HEC_Patient_Finding_Document.Query.Search(Connection, Transaction, findingDocumentQuery).Single();
                    findingDocument.IsDeleted = true;
                    findingDocument.Save(Connection, Transaction);

                    var documentTableQuery = new ORM_DOC_Document.Query();
                    documentTableQuery.DOC_DocumentID = findingDocument.Document_RefID;
                    findingDocument.Tenant_RefID      = securityTicket.TenantID;
                    findingDocument.IsDeleted         = false;

                    var documentTable = ORM_DOC_Document.Query.Search(Connection, Transaction, documentTableQuery).Single();
                    documentTable.IsDeleted = true;
                    documentTable.Save(Connection, Transaction);
                }
                else
                {
                    ORM_HEC_Patient_Finding_Document findingDocument = new ORM_HEC_Patient_Finding_Document();
                    findingDocument.HEC_Patient_Finding_DocumentID = document.id;
                    findingDocument.Document_RefID = document.Document_RefID;
                    findingDocument.Comment        = document.Name;
                    //findingDocument.Patient_Finding_RefID = document.findingid;
                    findingDocument.Tenant_RefID           = securityTicket.TenantID;
                    findingDocument.Creation_Timestamp     = DateTime.Now;
                    findingDocument.Modification_Timestamp = DateTime.Now;
                    findingDocument.Save(Connection, Transaction);

                    ORM_DOC_Document documentTable = new ORM_DOC_Document();
                    documentTable.PrimaryType        = document.Type;
                    documentTable.DOC_DocumentID     = findingDocument.Document_RefID;
                    documentTable.Alias              = document.Size;
                    documentTable.Tenant_RefID       = securityTicket.TenantID;
                    documentTable.Creation_Timestamp = DateTime.Now;
                    documentTable.Save(Connection, Transaction);
                }
            }


            return(returnValue);

            #endregion UserCode
        }
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5PA_SPF_1413 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guid();
            var returnID    = Guid.Empty;

            if (Parameter.FindingID == Guid.Empty)
            {
                #region Save


                var officeQuery = new ORM_CMN_STR_Office.Query();
                officeQuery.CMN_STR_OfficeID  = Parameter.PracticeID;
                officeQuery.IsMedicalPractice = true;
                officeQuery.IsDeleted         = false;
                officeQuery.Tenant_RefID      = securityTicket.TenantID;

                var office = ORM_CMN_STR_Office.Query.Search(Connection, Transaction, officeQuery).SingleOrDefault();

                ORM_HEC_Patient_Finding patient_finding = new ORM_HEC_Patient_Finding();
                patient_finding.HEC_Patient_FindingID                = Guid.NewGuid();
                patient_finding.Patient_RefID                        = Parameter.PatientID;
                patient_finding.MedicalPractice_RefID                = office != null ? office.IfMedicalPractise_HEC_MedicalPractice_RefID : Guid.Empty;
                patient_finding.UndersigningDoctor_RefID             = Parameter.DoctorID;
                patient_finding.IfFindingFromReferral_Referral_RefID = Guid.NewGuid();
                patient_finding.Tenant_RefID           = securityTicket.TenantID;
                patient_finding.Creation_Timestamp     = Parameter.Date;
                patient_finding.Modification_Timestamp = DateTime.Now;
                patient_finding.Save(Connection, Transaction);

                ORM_HEC_ACT_PerformedAction_Referral referal = new ORM_HEC_ACT_PerformedAction_Referral();
                referal.HEC_ACT_PerformedAction_ReferralID = patient_finding.IfFindingFromReferral_Referral_RefID;
                referal.Tenant_RefID = securityTicket.TenantID;
                referal.ReferralTo_MedicalPractice_RefID = Parameter.ReferalPracticeID;
                referal.Creation_Timestamp     = DateTime.Now;
                referal.Modification_Timestamp = DateTime.Now;
                referal.ReferralTo_MedicalPracticeType_RefID = Parameter.ReferalTypeID;
                referal.Save(Connection, Transaction);

                returnID = patient_finding.HEC_Patient_FindingID;
                #endregion
            }
            else
            {
                if (Parameter.isDeleted)
                {
                    #region Delete
                    var patient_findingQuery = new ORM_HEC_Patient_Finding.Query();
                    patient_findingQuery.HEC_Patient_FindingID = Parameter.FindingID;
                    patient_findingQuery.Patient_RefID         = Parameter.PatientID;
                    patient_findingQuery.IsDeleted             = false;
                    patient_findingQuery.Tenant_RefID          = securityTicket.TenantID;

                    var patient_finding = ORM_HEC_Patient_Finding.Query.Search(Connection, Transaction, patient_findingQuery).Single();
                    patient_finding.IsDeleted = true;
                    patient_finding.Modification_Timestamp = DateTime.Now;
                    patient_finding.Save(Connection, Transaction);

                    var referalQuery = new ORM_HEC_ACT_PerformedAction_Referral.Query();
                    referalQuery.HEC_ACT_PerformedAction_ReferralID = patient_finding.IfFindingFromReferral_Referral_RefID;
                    referalQuery.IsDeleted    = false;
                    referalQuery.Tenant_RefID = securityTicket.TenantID;

                    var referal = ORM_HEC_ACT_PerformedAction_Referral.Query.Search(Connection, Transaction, referalQuery).Single();
                    referal.IsDeleted = true;
                    referal.Modification_Timestamp = DateTime.Now;
                    referal.Save(Connection, Transaction);
                    #endregion
                }
                else
                {
                    #region Edit
                    var officeQuery = new ORM_CMN_STR_Office.Query();
                    officeQuery.CMN_STR_OfficeID  = Parameter.PracticeID;
                    officeQuery.IsMedicalPractice = true;
                    officeQuery.IsDeleted         = false;
                    officeQuery.Tenant_RefID      = securityTicket.TenantID;

                    var office = ORM_CMN_STR_Office.Query.Search(Connection, Transaction, officeQuery).SingleOrDefault();

                    var patient_findingQuery = new ORM_HEC_Patient_Finding.Query();
                    patient_findingQuery.HEC_Patient_FindingID = Parameter.FindingID;
                    patient_findingQuery.Patient_RefID         = Parameter.PatientID;
                    patient_findingQuery.IsDeleted             = false;
                    patient_findingQuery.Tenant_RefID          = securityTicket.TenantID;

                    var patient_finding = ORM_HEC_Patient_Finding.Query.Search(Connection, Transaction, patient_findingQuery).Single();
                    patient_finding.Patient_RefID            = Parameter.PatientID;
                    patient_finding.MedicalPractice_RefID    = office != null ? office.IfMedicalPractise_HEC_MedicalPractice_RefID : Guid.Empty;
                    patient_finding.UndersigningDoctor_RefID = Parameter.DoctorID;
                    patient_finding.Modification_Timestamp   = DateTime.Now;
                    patient_finding.Save(Connection, Transaction);

                    var referalQuery = new ORM_HEC_ACT_PerformedAction_Referral.Query();
                    referalQuery.HEC_ACT_PerformedAction_ReferralID = patient_finding.IfFindingFromReferral_Referral_RefID;
                    referalQuery.IsDeleted    = false;
                    referalQuery.Tenant_RefID = securityTicket.TenantID;

                    var referal = ORM_HEC_ACT_PerformedAction_Referral.Query.Search(Connection, Transaction, referalQuery).Single();
                    referal.Modification_Timestamp = DateTime.Now;
                    referal.ReferralTo_MedicalPracticeType_RefID = Parameter.ReferalTypeID;
                    referal.ReferralTo_MedicalPractice_RefID     = Parameter.ReferalPracticeID;
                    referal.Save(Connection, Transaction);

                    returnID = patient_finding.HEC_Patient_FindingID;
                    #endregion
                }
            }

            returnValue.Result = returnID;
            return(returnValue);

            #endregion UserCode
        }