コード例 #1
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_L5PR_RPCC_1436 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guids();
            //Put your code here

            var cancelledHeaders = new List <Guid>();

            foreach (var cancelling in Parameter.Cancellings.ToList())
            {
                var history = new ORM_ORD_CUO_RFP_RequestForProposal_History();

                history.ORD_CUO_RFP_RequestForProposal_HistoryID = Guid.NewGuid();
                history.RequestForProposal_Header_RefID          = cancelling.HeaderID;
                history.Comment = cancelling.Comment;
                history.IsEvent_ByCustomer_ProposalRequest_Revoked = true;
                history.Tenant_RefID = securityTicket.TenantID;

                cancelledHeaders.Add(cancelling.HeaderID);
            }

            returnValue.Result = cancelledHeaders.ToArray();

            return(returnValue);

            #endregion UserCode
        }
コード例 #2
0
        ///<summary>
        /// Method Invocation of wrapper classes
        ///<summary>
        protected static FR_Guids Invoke(DbConnection Connection, DbTransaction Transaction, string ConnectionString, P_L5ST_GSTQFST_1516 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            bool cleanupConnection  = Connection == null;
            bool cleanupTransaction = Transaction == null;

            FR_Guids functionReturn = new FR_Guids();

            try
            {
                if (cleanupConnection == true)
                {
                    Connection = CSV2Core_MySQL.Support.DBSQLSupport.CreateConnection(ConnectionString);
                    Connection.Open();
                }
                if (cleanupTransaction == true)
                {
                    Transaction = Connection.BeginTransaction();
                }

                functionReturn = Execute(Connection, Transaction, Parameter, securityTicket);

                #region Cleanup Connection/Transaction
                //Commit the transaction
                if (cleanupTransaction == true)
                {
                    Transaction.Commit();
                }
                //Close the connection
                if (cleanupConnection == true)
                {
                    Connection.Close();
                }
                #endregion
            }
            catch (Exception ex)
            {
                try
                {
                    if (cleanupTransaction == true && Transaction != null)
                    {
                        Transaction.Rollback();
                    }
                }
                catch { }

                try
                {
                    if (cleanupConnection == true && Connection != null)
                    {
                        Connection.Close();
                    }
                }
                catch { }

                Guid errorID = Guid.NewGuid();
                ServerLog.Instance.Fatal("Application error occured. ErrorID = " + errorID, ex);
                throw new Exception("Exception occured in method cls_Get_ShiftQualifications_For_ShiftTemplateID", ex);
            }
            return(functionReturn);
        }
コード例 #3
0
        ///<summary>
        /// Method Invocation of wrapper classes
        ///<summary>
        protected static FR_Guids Invoke(DbConnection Connection, DbTransaction Transaction, string ConnectionString, P_L5DI_SFDS_1352 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            bool cleanupConnection  = Connection == null;
            bool cleanupTransaction = Transaction == null;

            FR_Guids functionReturn = new FR_Guids();

            try
            {
                if (cleanupConnection == true)
                {
                    Connection = CSV2Core_MySQL.Support.DBSQLSupport.CreateConnection(ConnectionString);
                    Connection.Open();
                }
                if (cleanupTransaction == true)
                {
                    Transaction = Connection.BeginTransaction();
                }

                functionReturn = Execute(Connection, Transaction, Parameter, securityTicket);


                #region Cleanup Connection/Transaction
                //Commit the transaction
                if (cleanupTransaction == true)
                {
                    Transaction.Commit();
                }
                //Close the connection
                if (cleanupConnection == true)
                {
                    Connection.Close();
                }
                #endregion
            }
            catch (Exception ex)
            {
                try
                {
                    if (cleanupTransaction == true && Transaction != null)
                    {
                        Transaction.Rollback();
                    }
                }
                catch { }

                try
                {
                    if (cleanupConnection == true && Connection != null)
                    {
                        Connection.Close();
                    }
                }
                catch { }

                throw ex;
            }
            return(functionReturn);
        }
        ///<summary>
        /// Method Invocation of wrapper classes
        ///<summary>
        protected static FR_Guids Invoke(DbConnection Connection, DbTransaction Transaction, string ConnectionString, P_MD_SNICaRNIDs_1653[] Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            bool cleanupConnection  = Connection == null;
            bool cleanupTransaction = Transaction == null;

            FR_Guids functionReturn = new FR_Guids();

            try
            {
                if (cleanupConnection == true)
                {
                    Connection = CSV2Core_MySQL.Support.DBSQLSupport.CreateConnection(ConnectionString);
                    Connection.Open();
                }
                if (cleanupTransaction == true)
                {
                    Transaction = Connection.BeginTransaction();
                }

                functionReturn = Execute(Connection, Transaction, Parameter, securityTicket);

                #region Cleanup Connection/Transaction
                //Commit the transaction
                if (cleanupTransaction == true)
                {
                    Transaction.Commit();
                }
                //Close the connection
                if (cleanupConnection == true)
                {
                    Connection.Close();
                }
                #endregion
            }
            catch (Exception ex)
            {
                try
                {
                    if (cleanupTransaction == true && Transaction != null)
                    {
                        Transaction.Rollback();
                    }
                }
                catch { }

                try
                {
                    if (cleanupConnection == true && Connection != null)
                    {
                        Connection.Close();
                    }
                }
                catch { }

                throw new Exception("Exception occured in method cls_Save_New_Insurance_Companies_and_Return_New_IDs", ex);
            }
            return(functionReturn);
        }
コード例 #5
0
        ///<summary>
        /// Method Invocation of wrapper classes
        ///<summary>
        protected static FR_Guids Invoke(DbConnection Connection, DbTransaction Transaction, string ConnectionString, P_CAS_CMFSfPAID_1502 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            bool cleanupConnection  = Connection == null;
            bool cleanupTransaction = Transaction == null;

            FR_Guids functionReturn = new FR_Guids();

            try
            {
                if (cleanupConnection == true)
                {
                    Connection = CSV2Core_MySQL.Support.DBSQLSupport.CreateConnection(ConnectionString);
                    Connection.Open();
                }
                if (cleanupTransaction == true)
                {
                    Transaction = Connection.BeginTransaction();
                }

                functionReturn = Execute(Connection, Transaction, Parameter, securityTicket);

                #region Cleanup Connection/Transaction
                //Commit the transaction
                if (cleanupTransaction == true)
                {
                    Transaction.Commit();
                }
                //Close the connection
                if (cleanupConnection == true)
                {
                    Connection.Close();
                }
                #endregion
            }
            catch (Exception ex)
            {
                try
                {
                    if (cleanupTransaction == true && Transaction != null)
                    {
                        Transaction.Rollback();
                    }
                }
                catch { }

                try
                {
                    if (cleanupConnection == true && Connection != null)
                    {
                        Connection.Close();
                    }
                }
                catch { }

                throw new Exception("Exception occured in method cls_Change_ManagementFee_Status_for_PlannedActionID", ex);
            }
            return(functionReturn);
        }
        ///<summary>
        /// Method Invocation of wrapper classes
        ///<summary>
        protected static FR_Guids Invoke(DbConnection Connection, DbTransaction Transaction, string ConnectionString, P_L5CO_CCOaMR_1102 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            bool cleanupConnection  = Connection == null;
            bool cleanupTransaction = Transaction == null;

            FR_Guids functionReturn = new FR_Guids();

            try
            {
                if (cleanupConnection == true)
                {
                    Connection = CSV2Core_MySQL.Support.DBSQLSupport.CreateConnection(ConnectionString);
                    Connection.Open();
                }
                if (cleanupTransaction == true)
                {
                    Transaction = Connection.BeginTransaction();
                }

                functionReturn = Execute(Connection, Transaction, Parameter, securityTicket);

                #region Cleanup Connection/Transaction
                //Commit the transaction
                if (cleanupTransaction == true)
                {
                    Transaction.Commit();
                }
                //Close the connection
                if (cleanupConnection == true)
                {
                    Connection.Close();
                }
                #endregion
            }
            catch (Exception ex)
            {
                try
                {
                    if (cleanupTransaction == true && Transaction != null)
                    {
                        Transaction.Rollback();
                    }
                }
                catch { }

                try
                {
                    if (cleanupConnection == true && Connection != null)
                    {
                        Connection.Close();
                    }
                }
                catch { }

                throw new Exception("Exception occured in method cls_Create_CustomerOrder_after_MessageReceive", ex);
            }
            return(functionReturn);
        }
コード例 #7
0
        ///<summary>
        /// Method Invocation of wrapper classes
        ///<summary>
        protected static FR_Guids Invoke(DbConnection Connection, DbTransaction Transaction, string ConnectionString, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            bool cleanupConnection  = Connection == null;
            bool cleanupTransaction = Transaction == null;

            FR_Guids functionReturn = new FR_Guids();

            try
            {
                if (cleanupConnection == true)
                {
                    Connection = CSV2Core_MySQL.Support.DBSQLSupport.CreateConnection(ConnectionString);
                    Connection.Open();
                }
                if (cleanupTransaction == true)
                {
                    Transaction = Connection.BeginTransaction();
                }

                functionReturn = Execute(Connection, Transaction, securityTicket);

                #region Cleanup Connection/Transaction
                //Commit the transaction
                if (cleanupTransaction == true)
                {
                    Transaction.Commit();
                }
                //Close the connection
                if (cleanupConnection == true)
                {
                    Connection.Close();
                }
                #endregion
            }
            catch (Exception ex)
            {
                try
                {
                    if (cleanupTransaction == true && Transaction != null)
                    {
                        Transaction.Rollback();
                    }
                }
                catch { }

                try
                {
                    if (cleanupConnection == true && Connection != null)
                    {
                        Connection.Close();
                    }
                }
                catch { }

                throw new Exception("Exception occured in method cls_Get_All_SupplierSelectionArea2Country_Assignments", ex);
            }
            return(functionReturn);
        }
コード例 #8
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_L5DI_SFDS_1352 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guids();

            foreach (var catalog in Parameter.SelfLearningData)
            {
                var potentialDiagnosisCatalogQuery = new ORM_HEC_DIA_PotentialDiagnosis_Catalog.Query();
                potentialDiagnosisCatalogQuery.Tenant_RefID = securityTicket.TenantID;
                potentialDiagnosisCatalogQuery.IsDeleted    = false;
                potentialDiagnosisCatalogQuery.HEC_DIA_PotentialDiagnosis_CatalogID = catalog.CatalogID;

                var potentialCatalog = ORM_HEC_DIA_PotentialDiagnosis_Catalog.Query.Search(Connection, Transaction, potentialDiagnosisCatalogQuery).Single();

                if (catalog.isSelfLearning)
                {
                    potentialCatalog.IsUsingSelfLearningPriorities = true;
                    potentialCatalog.SelfLearningPriorities_InitializationTreshold           = Int32.Parse(catalog.Initialization_Threshold);
                    potentialCatalog.SelfLearningPriorities_NumberOfPastDaysTakenIntoAccount = Int32.Parse(catalog.FavouriteDiagnoseIntervalinDays);
                    potentialCatalog.Save(Connection, Transaction);
                }
                else
                {
                    potentialCatalog.IsUsingSelfLearningPriorities = false;
                    potentialCatalog.SelfLearningPriorities_InitializationTreshold           = 0;
                    potentialCatalog.SelfLearningPriorities_NumberOfPastDaysTakenIntoAccount = 0;
                    potentialCatalog.Save(Connection, Transaction);
                }
            }

            foreach (var diagnose in Parameter.Diagnoses)
            {
                var potentionalDiagnosePrioritySequenceQuery = new ORM_HEC_DIA_PotentialDiagnosis_PrioritySequence.Query();
                potentionalDiagnosePrioritySequenceQuery.Tenant_RefID = securityTicket.TenantID;
                potentionalDiagnosePrioritySequenceQuery.IsDeleted    = false;
                potentionalDiagnosePrioritySequenceQuery.HEC_DIA_PotentialDiagnosis_PrioritySequenceID = diagnose.PrioritySequenceID;

                var potentionalDiagnosePrioritySequence = ORM_HEC_DIA_PotentialDiagnosis_PrioritySequence.Query.Search(Connection, Transaction, potentionalDiagnosePrioritySequenceQuery).Single();


                if (!Parameter.SelfLearningData.Where(i => i.CatalogID == potentionalDiagnosePrioritySequence.PotentialDiagnosis_Catalog_RefID).Single().isSelfLearning)
                {
                    potentionalDiagnosePrioritySequence.PriorityNumber_Manual    = Int32.Parse(diagnose.ManualScore);
                    potentionalDiagnosePrioritySequence.PriorityNumber_Automatic = Int32.Parse(diagnose.CalculatedScore);
                    potentionalDiagnosePrioritySequence.Save(Connection, Transaction);
                }
            }



            return(returnValue);

            #endregion UserCode
        }
コード例 #9
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_L5DI_SPO_1452 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            //Leave UserCode region to enable user code saving
            #region UserCode
            var returnValue = new FR_Guids();
            //Put your code here

            List <Guid> resultID = new List <Guid>();
            foreach (var observationParam in Parameter.PotentialObservation)
            {
                ORM_HEC_DIA_TypicalPotentialObservation typicalPotentialObservation = ORM_HEC_DIA_TypicalPotentialObservation.Query.Search(Connection, Transaction, new ORM_HEC_DIA_TypicalPotentialObservation.Query {
                    HEC_DIA_TypicalPotentialObservationID = observationParam.TypicalPotentialObservationID,
                    IsDeleted    = false,
                    Tenant_RefID = securityTicket.TenantID
                }).SingleOrDefault();
                if (!observationParam.IsDeleted)
                {
                    if (observationParam.NewPotentialObservation)
                    {
                        ORM_HEC_PotentialObservation potentialObservation = new ORM_HEC_PotentialObservation();
                        potentialObservation.HEC_PotentialObservationID = observationParam.PotentialObservationID;
                        potentialObservation.Observation_Text           = observationParam.Observation_Text;
                        potentialObservation.IsDeleted    = false;
                        potentialObservation.Tenant_RefID = securityTicket.TenantID;
                        potentialObservation.Save(Connection, Transaction);
                    }
                    if (typicalPotentialObservation == null)
                    {
                        typicalPotentialObservation = new ORM_HEC_DIA_TypicalPotentialObservation();
                        typicalPotentialObservation.HEC_DIA_TypicalPotentialObservationID = observationParam.TypicalPotentialObservationID;
                    }
                    typicalPotentialObservation.PotentialDiagnosis_RefID   = observationParam.PotentialDiagnosis_RefID;
                    typicalPotentialObservation.PotentialObservation_RefID = observationParam.PotentialObservationID;
                    typicalPotentialObservation.IsDeleted    = false;
                    typicalPotentialObservation.Tenant_RefID = securityTicket.TenantID;
                    typicalPotentialObservation.Save(Connection, Transaction);
                    resultID.Add(typicalPotentialObservation.HEC_DIA_TypicalPotentialObservationID);
                }
                else if (typicalPotentialObservation != null && observationParam.IsDeleted)
                {
                    typicalPotentialObservation.IsDeleted = true;
                    typicalPotentialObservation.Save(Connection, Transaction);
                    resultID.Add(typicalPotentialObservation.HEC_DIA_TypicalPotentialObservationID);
                }
            }
            returnValue.Result = resultID.ToArray();

            return(returnValue);

            #endregion UserCode
        }
コード例 #10
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_L5ST_GSTQFST_1516 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            //Leave UserCode region to enable user code saving
            #region UserCode
            var         returnValue = new FR_Guids();
            List <Guid> returnList  = new List <Guid>();

            ORM_CMN_PPS_ShiftTemplate_WorkDetail.Query shiftTemplateDetailQuery = new ORM_CMN_PPS_ShiftTemplate_WorkDetail.Query();
            shiftTemplateDetailQuery.Tenant_RefID = securityTicket.TenantID;
            shiftTemplateDetailQuery.IsDeleted    = false;
            shiftTemplateDetailQuery.CMN_PPS_ShiftTemplate_RefID = Parameter.ShiftTemplateID;
            List <ORM_CMN_PPS_ShiftTemplate_WorkDetail> shiftTemplateDetails = ORM_CMN_PPS_ShiftTemplate_WorkDetail.Query.Search(Connection, Transaction, shiftTemplateDetailQuery);
            foreach (var shiftTemplateDetail in shiftTemplateDetails)
            {
                ORM_CMN_STR_PPS_WorkDetail_Activity.Query activityQuery = new ORM_CMN_STR_PPS_WorkDetail_Activity.Query();
                activityQuery.IsDeleted    = false;
                activityQuery.Tenant_RefID = securityTicket.TenantID;
                activityQuery.CMN_PPS_ShiftTemplate_WorkDetail_RefID = shiftTemplateDetail.CMN_PPS_ShiftTemplate_WorkDetailID;
                List <ORM_CMN_STR_PPS_WorkDetail_Activity> activities = ORM_CMN_STR_PPS_WorkDetail_Activity.Query.Search(Connection, Transaction, activityQuery);
                if (activities.Count != 0)
                {
                    activities = activities.Where(i => i.CMN_STR_PPS_Workplace_RefID == Guid.Empty).ToList();
                    foreach (var activity in activities)
                    {
                        ORM_CMN_STR_PPS_Activity activityItem = new ORM_CMN_STR_PPS_Activity();
                        activityItem.Load(Connection, Transaction, activity.CMN_STR_PPS_Activity_RefID);
                        if (!activityItem.IsAbsenceActivity)
                        {
                            ORM_CMN_STR_PPS_Activity_SkillAssignment.Query SkillactivityAssignment = new ORM_CMN_STR_PPS_Activity_SkillAssignment.Query();
                            SkillactivityAssignment.CMN_STR_PPS_Activity_RefID = activity.CMN_STR_PPS_Activity_RefID;
                            SkillactivityAssignment.Tenant_RefID = securityTicket.TenantID;
                            SkillactivityAssignment.IsDeleted    = false;
                            List <ORM_CMN_STR_PPS_Activity_SkillAssignment> skillAssignments = ORM_CMN_STR_PPS_Activity_SkillAssignment.Query.Search(Connection, Transaction, SkillactivityAssignment);
                            if (skillAssignments.Count != 0)
                            {
                                if (!returnList.Contains(skillAssignments[0].CMN_STR_Skill_RefID))
                                {
                                    returnList.Add(skillAssignments[0].CMN_STR_Skill_RefID);
                                }
                            }
                        }
                    }
                }
            }
            returnValue.Result = returnList.ToArray();
            //Put your code here
            return(returnValue);

            #endregion UserCode
        }
コード例 #11
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_L5PR_CCRR_1327 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guids();
            //Put your code here

            List <Guid> createdResponses = new List <Guid>();

            foreach (var request in Parameter.ProposalRequests)
            {
                List <Guid> articlesList = new List <Guid>();
                foreach (var position in request.RequestPositions)
                {
                    articlesList.Add(position.ProductID);
                }

                var articlesParameter = new P_L3AR_GAfAL_0942();
                articlesParameter.ProductID_List = articlesList.ToArray();

                var articles = cls_Get_Articles_for_ArticleList.Invoke(Connection, Transaction, articlesParameter, securityTicket).Result;

                ORM_ORD_CUO_RFP_IssuedProposalResponse_Header responseHeader = new ORM_ORD_CUO_RFP_IssuedProposalResponse_Header();
                responseHeader.ORD_CUO_RFP_IssuedProposalResponse_HeaderID = Guid.NewGuid();

                foreach (var position in request.RequestPositions)
                {
                    ORM_ORD_CUO_RFP_IssuedProposalResponse_Position tempPosition = new ORM_ORD_CUO_RFP_IssuedProposalResponse_Position();
                    tempPosition.ORD_CUO_RFP_IssuedProposalResponse_PositionID = Guid.NewGuid();
                    tempPosition.Quantity = position.Quantity;
                    tempPosition.CMN_PRO_Product_RefID = position.ProductID;
                    tempPosition.IssuedProposalResponseHeader_RefID            = responseHeader.ORD_CUO_RFP_IssuedProposalResponse_HeaderID;
                    tempPosition.ProposalResponsePositionITPL                  = tempPosition.ORD_CUO_RFP_IssuedProposalResponse_PositionID.ToString();
                    tempPosition.CreatedFrom_RequestForProposal_Position_RefID = position.RequestPositionID;
                    tempPosition.Tenant_RefID = securityTicket.TenantID;
                    tempPosition.Save(Connection, Transaction);
                }

                responseHeader.ProposalResponseHeaderITPL = responseHeader.ORD_CUO_RFP_IssuedProposalResponse_HeaderID.ToString();
                responseHeader.CreatedFor_RequestForProposal_Header_RefID = request.RequestHeaderID;
                responseHeader.ValidThrough = request.ValidThrough;
                responseHeader.Save(Connection, Transaction);

                createdResponses.Add(responseHeader.ORD_CUO_RFP_IssuedProposalResponse_HeaderID);
            }

            returnValue.Result = createdResponses.ToArray();
            return(returnValue);

            #endregion UserCode
        }
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_MD_SNICaRNIDs_1653[] Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guids();

            returnValue.Result = Parameter.Select(hip =>
            {
                var Hip = ORM_HEC_HIS_HealthInsurance_Company.Query.Search(Connection, Transaction, new ORM_HEC_HIS_HealthInsurance_Company.Query()
                {
                    HealthInsurance_IKNumber = hip.IKNumber,
                    IsDeleted    = false,
                    Tenant_RefID = securityTicket.TenantID
                }).SingleOrDefault();
                if (Hip != null)
                {
                    return(Hip.CMN_BPT_BusinessParticipant_RefID);
                }
                else
                {
                    var businessParticipantHIP = new ORM_CMN_BPT_BusinessParticipant();
                    businessParticipantHIP.CMN_BPT_BusinessParticipantID = Guid.NewGuid();
                    businessParticipantHIP.IsDeleted              = false;
                    businessParticipantHIP.IsCompany              = true;
                    businessParticipantHIP.Tenant_RefID           = securityTicket.TenantID;
                    businessParticipantHIP.Creation_Timestamp     = DateTime.Now;
                    businessParticipantHIP.Modification_Timestamp = DateTime.Now;
                    businessParticipantHIP.DisplayName            = hip.HIPName;
                    businessParticipantHIP.Save(Connection, Transaction);

                    var healthInsuranceCompany                = new ORM_HEC_HIS_HealthInsurance_Company();
                    healthInsuranceCompany.IsDeleted          = false;
                    healthInsuranceCompany.Tenant_RefID       = securityTicket.TenantID;
                    healthInsuranceCompany.Creation_Timestamp = DateTime.Now;
                    healthInsuranceCompany.CMN_BPT_BusinessParticipant_RefID = businessParticipantHIP.CMN_BPT_BusinessParticipantID;
                    healthInsuranceCompany.HealthInsurance_IKNumber          = hip.IKNumber;
                    healthInsuranceCompany.Save(Connection, Transaction);

                    return(businessParticipantHIP.CMN_BPT_BusinessParticipantID);
                }
            }).ToArray();

            return(returnValue);

            #endregion UserCode
        }
コード例 #13
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_L3CO_SCONfH_1413 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            //Leave UserCode region to enable user code saving
            #region UserCode
            var returnValue = new FR_Guids();
            var results     = new List <Guid>();

            #region Get Account Bussiness participant id
            var resultAccount = new ORM_USR_Account();
            resultAccount.Load(Connection, Transaction, securityTicket.AccountID);
            #endregion

            foreach (var note in Parameter.Notes)
            {
                var result = cls_Save_ORD_CUO_CustomerOrder_Note.Invoke(
                    Connection
                    , Transaction
                    , new P_L2CO_SCON_1442()
                {
                    CustomerOrder_Header_RefID           = Parameter.CustomerOrderHeaderId,
                    CustomerOrder_Position_RefID         = note.CustomerOrderPositionId,
                    CMN_BPT_CTM_OrganizationalUnit_RefID = note.OrganizationslUnitId,
                    CreatedBy_BusinessParticipant_RefID  = resultAccount.BusinessParticipant_RefID,
                    Title               = note.Title,
                    Comment             = note.Comment,
                    NotePublishDate     = note.NotePublichDate,
                    SequenceOrderNumber = -1      // TODO:Marko - leve it empty, for now
                }
                    , securityTicket);
                if (result.Status != FR_Status.Success)
                {
                    returnValue.Status = FR_Status.Error_Internal;
                    returnValue.Result = null;
                    return(returnValue);
                }
                results.Add(result.Result);
            }
            returnValue.Status = FR_Status.Success;
            returnValue.Result = results.ToArray();

            return(returnValue);

            #endregion UserCode
        }
コード例 #14
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_L5DI_SPP_1242 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guids();
            //Put your code here
            List <Guid> resultID = new List <Guid>();
            foreach (var procedureParam in Parameter.PotentialProcedures)
            {
                ORM_HEC_DIA_TypicalPotentialProcedure typicalPotentialProcedure = ORM_HEC_DIA_TypicalPotentialProcedure.Query.Search(Connection, Transaction, new ORM_HEC_DIA_TypicalPotentialProcedure.Query
                {
                    HEC_DIA_TypicalPotentialProcedureID = procedureParam.HEC_DIA_TypicalPotentialProcedureID,
                    IsDeleted    = false,
                    Tenant_RefID = securityTicket.TenantID
                }).SingleOrDefault();

                if (!procedureParam.IsDeleted)
                {
                    if (typicalPotentialProcedure == null)
                    {
                        typicalPotentialProcedure = new ORM_HEC_DIA_TypicalPotentialProcedure();
                        typicalPotentialProcedure.HEC_DIA_TypicalPotentialProcedureID = procedureParam.HEC_DIA_TypicalPotentialProcedureID;
                    }
                    typicalPotentialProcedure.PotentialDiagnosis_RefID = procedureParam.PotentialDiagnosis_RefID;
                    typicalPotentialProcedure.PotentialProcedure_RefID = procedureParam.PotentialProcedure_RefID;
                    typicalPotentialProcedure.IsDeleted    = false;
                    typicalPotentialProcedure.Tenant_RefID = securityTicket.TenantID;
                    typicalPotentialProcedure.Save(Connection, Transaction);
                    resultID.Add(typicalPotentialProcedure.HEC_DIA_TypicalPotentialProcedureID);
                }
                else if (typicalPotentialProcedure != null && procedureParam.IsDeleted)
                {
                    typicalPotentialProcedure.IsDeleted = true;
                    typicalPotentialProcedure.Save(Connection, Transaction);
                    resultID.Add(typicalPotentialProcedure.HEC_DIA_TypicalPotentialProcedureID);
                }
            }
            returnValue.Result = resultID.ToArray();


            return(returnValue);

            #endregion UserCode
        }
コード例 #15
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_L5DI_SPHR_1208 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guids();
            //Put your code here

            List <Guid> resultID = new List <Guid>();
            //foreach (var hospitalParam in Parameter.PossibleHospitalReferral)
            //{
            //    ORM_HEC_DIA_STA_Diagnosis_ReferalHistory referalMedicalPractice = ORM_HEC_DIA_STA_Diagnosis_ReferalHistory.Query.Search(Connection, Transaction, new ORM_HEC_DIA_STA_Diagnosis_ReferalHistory.Query
            //    {
            //        HEC_DIA_STA_Diagnosis_ReferalHistoryID = hospitalParam.HEC_DIA_STA_Diagnosis_ReferalHistoryID,
            //        IsDeleted = false,
            //        Tenant_RefID = securityTicket.TenantID
            //    }).SingleOrDefault();

            //    if (!hospitalParam.IsDeleted)
            //    {
            //        if (referalMedicalPractice == null)
            //        {
            //            referalMedicalPractice = new ORM_HEC_DIA_STA_Diagnosis_ReferalHistory();
            //            referalMedicalPractice.HEC_DIA_STA_Diagnosis_ReferalHistoryID = referalMedicalPractice.HEC_DIA_STA_Diagnosis_ReferalHistoryID;
            //        }
            //        referalMedicalPractice.MedicalPractice_RefID = hospitalParam.MedicalPractice_RefID;
            //        referalMedicalPractice.PotentialDiagnosis_RefID = hospitalParam.PotentialDiagnosis_RefID;
            //        referalMedicalPractice.IsDeleted = false;
            //        referalMedicalPractice.Tenant_RefID = securityTicket.TenantID;
            //        referalMedicalPractice.Save(Connection, Transaction);
            //        resultID.Add(referalMedicalPractice.HEC_DIA_STA_Diagnosis_ReferalHistoryID);
            //    }
            //    else if (referalMedicalPractice != null && hospitalParam.IsDeleted)
            //    {
            //        referalMedicalPractice.IsDeleted = true;
            //        referalMedicalPractice.Save(Connection, Transaction);
            //        resultID.Add(referalMedicalPractice.HEC_DIA_STA_Diagnosis_ReferalHistoryID);
            //    }
            //}
            returnValue.Result = resultID.ToArray();

            return(returnValue);

            #endregion UserCode
        }
コード例 #16
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_L5PR_RPHA_1546 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guids();
            //Put your code here

            var updatedHeaders = new List <Guid>();

            foreach (var headerID in Parameter.HeaderIDs.Distinct().ToList())
            {
                var header = new ORM_ORD_PRC_RFP_RequestForProposal_Header().Load(Connection, Transaction, headerID);

                var potentialSuppliers = ORM_ORD_PRC_RFP_PotentialSupplier.Query.Search(Connection, Transaction,
                                                                                        new ORM_ORD_PRC_RFP_PotentialSupplier.Query()
                {
                    Tenant_RefID = securityTicket.TenantID,
                    RequestForProposal_Header_RefID = headerID,
                    IsDeleted = false
                }
                                                                                        );

                foreach (var supplier in Parameter.PotentialSuppliers.ToList())
                {
                    ORM_ORD_PRC_RFP_PotentialSupplier_History history = new ORM_ORD_PRC_RFP_PotentialSupplier_History();
                    history.ORD_PRC_RFP_PotentialSupplier_HistoryID = Guid.NewGuid();
                    history.ORD_PRC_RFP_PotentialSupplier_RefID     = supplier;
                    history.Comment = Parameter.HistoryModel.Comment;
                    history.IsEvent_ProposalRequest_Sent      = Parameter.HistoryModel.IsEvent_ProposalRequest_Sent;
                    history.IsEvent_ProposalResponse_Declined = Parameter.HistoryModel.IsEvent_ProposalResponse_Declined;
                    history.IsEvent_ProposalRequest_Revoked   = Parameter.HistoryModel.IsEvent_ProposalRequest_Revoked;
                    history.Tenant_RefID = securityTicket.TenantID;

                    history.Save(Connection, Transaction);
                }

                updatedHeaders.Add(headerID);
            }

            returnValue.Result = updatedHeaders.ToArray();
            return(returnValue);

            #endregion UserCode
        }
コード例 #17
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_L5MPC_SDCS_1620 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guids();

            List <Guid> resultID = new List <Guid>();
            foreach (var diagnosisCatalogParam in Parameter.DiagnosisCatalogSubscription)
            {
                ORM_HEC_CMT_Membership_PotentialDiagnosisCatalogSubscription existingDiagnosisCatalogSubscription = ORM_HEC_CMT_Membership_PotentialDiagnosisCatalogSubscription.Query.Search(Connection, Transaction, new ORM_HEC_CMT_Membership_PotentialDiagnosisCatalogSubscription.Query
                {
                    PotentialDiagnosisCatalogITL = diagnosisCatalogParam.PotentialDiagnosisCatalogITL,
                    Membership_RefID             = Parameter.Membership_RefID,
                    IsDeleted    = false,
                    Tenant_RefID = securityTicket.TenantID
                }).SingleOrDefault();

                if (existingDiagnosisCatalogSubscription == null && !diagnosisCatalogParam.IsDeleted)
                {
                    ORM_HEC_CMT_Membership_PotentialDiagnosisCatalogSubscription diagnosisCatalogSubscription = new ORM_HEC_CMT_Membership_PotentialDiagnosisCatalogSubscription();
                    diagnosisCatalogSubscription.HEC_CMT_Membership_DiagnosisCatalogSubscriptionID = Guid.NewGuid();
                    diagnosisCatalogSubscription.Membership_RefID             = Parameter.Membership_RefID;
                    diagnosisCatalogSubscription.PotentialDiagnosisCatalogITL = diagnosisCatalogParam.PotentialDiagnosisCatalogITL;
                    diagnosisCatalogSubscription.Tenant_RefID = securityTicket.TenantID;
                    diagnosisCatalogSubscription.Save(Connection, Transaction);

                    resultID.Add(diagnosisCatalogSubscription.HEC_CMT_Membership_DiagnosisCatalogSubscriptionID);
                }
                else if (existingDiagnosisCatalogSubscription != null && diagnosisCatalogParam.IsDeleted)
                {
                    existingDiagnosisCatalogSubscription.IsDeleted = true;
                    existingDiagnosisCatalogSubscription.Save(Connection, Transaction);
                }
            }

            returnValue.Result = resultID.ToArray();
            return(returnValue);

            #endregion UserCode
        }
コード例 #18
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            var returnStatus = new FR_Guids();

            DbCommand command = Connection.CreateCommand();

            command.Connection  = Connection;
            command.Transaction = Transaction;
            var commandLocation = "CL3_SupplierSelectionArea.Atomic.Retrieval.SQL.cls_Get_All_SupplierSelectionArea2Country_Assignments.sql";

            command.CommandText = new System.IO.StreamReader(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(commandLocation)).ReadToEnd();
            CSV2Core_MySQL.Support.DBSQLSupport.SetParameter(command, "ticket", securityTicket);
            command.CommandTimeout = QueryTimeout;

            List <Guid> results = new List <Guid>();
            var         reader  = new CSV2Core_MySQL.Support.DBSQLReader(command.ExecuteReader());

            try
            {
                reader.SetOrdinals(new string[] { "CMN_Country_RefID" });
                while (reader.Read())
                {
                    var item = reader.GetGuid(0);
                    results.Add(item);
                }
            }
            catch (Exception ex)
            {
                reader.Close();
                throw new Exception("Exception occured durng data retrieval in method cls_Get_All_SupplierSelectionArea2Country_Assignments", ex);
            }

            reader.Close();

            returnStatus.Result = results.ToArray();
            return(returnStatus);
        }
コード例 #19
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_L5PO_SPD_1148 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guids();
            //Put your code here

            List <Guid> discountGuidList = new List <Guid>();

            if (Parameter.Discounts != null)
            {
                List <Guid> positionIDs = new List <Guid>();

                if (Parameter.SaveNaturalDiscountForAllPositions)
                {
                    var position = new ORM_ORD_PRC_ProcurementOrder_Position();
                    position.Load(Connection, Transaction, Parameter.ProcurementOrderPositionID);
                    var headerID = position.ProcurementOrder_Header_RefID;

                    var headerPositions = ORM_ORD_PRC_ProcurementOrder_Position.Query.Search(Connection, Transaction,
                                                                                             new ORM_ORD_PRC_ProcurementOrder_Position.Query {
                        Tenant_RefID = securityTicket.TenantID,
                        IsDeleted    = false,
                        ProcurementOrder_Header_RefID = headerID
                    }).ToList();

                    positionIDs.AddRange(headerPositions.Select(x => x.ORD_PRC_ProcurementOrder_PositionID));
                }

                var positionDiscounts = CL1_ORD_PRC.ORM_ORD_PRC_ProcurementOrder_Position_Discount.Query.Search(Connection, Transaction,
                                                                                                                new ORM_ORD_PRC_ProcurementOrder_Position_Discount.Query
                {
                    Tenant_RefID = securityTicket.TenantID,
                    IsDeleted    = false,
                    ORD_PRC_ProcurementOrder_Position_RefID = Parameter.ProcurementOrderPositionID
                }
                                                                                                                ).ToArray();

                //Preload discount types and choose those that are applying to stock reciept positions
                var discountTypesParam = new P_L2DT_GDTfGPMIL_1546();
                discountTypesParam.GlobalPropertyMatchingID_List = new string[]
                {
                    EnumUtils.GetEnumDescription(EDiscountType.MainDiscount),
                    EnumUtils.GetEnumDescription(EDiscountType.Discount2),
                    EnumUtils.GetEnumDescription(EDiscountType.Discount3),
                    EnumUtils.GetEnumDescription(EDiscountType.NaturalDiscount)
                };
                var discountTypes = cls_Get_DiscountTypes_for_GlobalPropertyMatchingID_List.Invoke(Connection, Transaction, discountTypesParam, securityTicket).Result;

                ORM_ORD_PRC_ProcurementOrder_Position_Discount discount = null;
                foreach (var item in discountTypes)
                {
                    var paramDiscount = Parameter.Discounts.SingleOrDefault(x => x.DiscountTypeID == item.ORD_PRC_DiscountTypeID);
                    if (paramDiscount == null)
                    {
                        continue;
                    }

                    discount = positionDiscounts.SingleOrDefault(x => x.ORD_PRC_DiscountType_RefID == item.ORD_PRC_DiscountTypeID);
                    if (discount == null)
                    {
                        discount = new ORM_ORD_PRC_ProcurementOrder_Position_Discount
                        {
                            ORD_PRC_ProcurementOrder_Position_DiscountID = Guid.NewGuid(),
                            ORD_PRC_DiscountType_RefID = item.ORD_PRC_DiscountTypeID,
                            ORD_PRC_ProcurementOrder_Position_RefID = Parameter.ProcurementOrderPositionID,
                            Tenant_RefID       = securityTicket.TenantID,
                            Creation_Timestamp = DateTime.Now,
                            IsDeleted          = false
                        };
                    }

                    discount.DiscountValue = paramDiscount.DiscountValue;
                    discount.Save(Connection, Transaction);

                    discountGuidList.Add(discount.ORD_PRC_ProcurementOrder_Position_DiscountID);
                }

                //if SaveNaturalDiscountForAllPositions, change discount value for natural discount for all positions of procurement header
                if (Parameter.SaveNaturalDiscountForAllPositions)
                {
                    foreach (var currentPosID in positionIDs)
                    {
                        if (currentPosID != Parameter.ProcurementOrderPositionID)
                        {
                            var posDiscounts = CL1_ORD_PRC.ORM_ORD_PRC_ProcurementOrder_Position_Discount.Query.Search(Connection, Transaction,
                                                                                                                       new ORM_ORD_PRC_ProcurementOrder_Position_Discount.Query
                            {
                                Tenant_RefID = securityTicket.TenantID,
                                IsDeleted    = false,
                                ORD_PRC_ProcurementOrder_Position_RefID = currentPosID
                            }
                                                                                                                       ).ToArray();

                            //Preload discount types and choose those that are applying to stock reciept positions
                            var discountTypesPar = new P_L2DT_GDTfGPMIL_1546();
                            discountTypesPar.GlobalPropertyMatchingID_List = new string[]
                            {
                                EnumUtils.GetEnumDescription(EDiscountType.NaturalDiscount)
                            };
                            var discNaturalType = cls_Get_DiscountTypes_for_GlobalPropertyMatchingID_List.Invoke(Connection, Transaction, discountTypesPar, securityTicket).Result;

                            ORM_ORD_PRC_ProcurementOrder_Position_Discount discountNatural = null;
                            foreach (var item in discNaturalType)
                            {
                                var paramDiscount = Parameter.Discounts.SingleOrDefault(x => x.DiscountTypeID == discNaturalType.First().ORD_PRC_DiscountTypeID);
                                if (paramDiscount == null)
                                {
                                    continue;
                                }

                                discountNatural = posDiscounts.SingleOrDefault(x => x.ORD_PRC_DiscountType_RefID == discNaturalType.First().ORD_PRC_DiscountTypeID);
                                if (discountNatural == null)
                                {
                                    discountNatural = new ORM_ORD_PRC_ProcurementOrder_Position_Discount
                                    {
                                        ORD_PRC_ProcurementOrder_Position_DiscountID = Guid.NewGuid(),
                                        ORD_PRC_DiscountType_RefID = item.ORD_PRC_DiscountTypeID,
                                        ORD_PRC_ProcurementOrder_Position_RefID = currentPosID,
                                        Tenant_RefID       = securityTicket.TenantID,
                                        Creation_Timestamp = DateTime.Now,
                                        IsDeleted          = false
                                    };
                                }

                                discountNatural.DiscountValue = paramDiscount.DiscountValue;
                                discountNatural.Save(Connection, Transaction);

                                discountGuidList.Add(discount.ORD_PRC_ProcurementOrder_Position_DiscountID);
                            }
                        }
                    }
                }
            }

            returnValue.Result = discountGuidList.ToArray();

            return(returnValue);

            #endregion UserCode
        }
コード例 #20
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_CAS_CCGPOS_1000 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var  returnValue = new FR_Guids();
            Guid treatment_performed_action_type_id = Guid.Empty;
            var  resultList = new List <Guid>();

            var treatment_performed_action_type = ORM_HEC_ACT_ActionType.Query.Search(Connection, Transaction, new ORM_HEC_ACT_ActionType.Query()
            {
                Tenant_RefID             = securityTicket.TenantID,
                IsDeleted                = false,
                GlobalPropertyMatchingID = "mm.docconect.doc.app.performed.action.treatment"
            }).SingleOrDefault();

            if (treatment_performed_action_type == null)
            {
                treatment_performed_action_type = new ORM_HEC_ACT_ActionType();
                treatment_performed_action_type.GlobalPropertyMatchingID = "mm.docconect.doc.app.performed.action.treatment";
                treatment_performed_action_type.Creation_Timestamp       = DateTime.Now;
                treatment_performed_action_type.Modification_Timestamp   = DateTime.Now;
                treatment_performed_action_type.Tenant_RefID             = securityTicket.TenantID;

                treatment_performed_action_type.Save(Connection, Transaction);

                treatment_performed_action_type_id = treatment_performed_action_type.HEC_ACT_ActionTypeID;
            }
            else
            {
                treatment_performed_action_type_id = treatment_performed_action_type.HEC_ACT_ActionTypeID;
            }

            var treatment_count = cls_Get_Treatment_Count_for_PatientID_And_DiagnoseID_and_LocalizationCode.Invoke(Connection, Transaction, new P_CAS_GTCfPIDaDIDaLC_1008()
            {
                ActionTypeID     = treatment_performed_action_type_id,
                DiagnoseID       = Parameter.diagnose_id,
                PatientID        = Parameter.patient_id,
                LocalizationCode = Parameter.localization,
                PerformedDate    = Parameter.treatment_date == DateTime.MinValue ? DateTime.Now : Parameter.treatment_date
            }, securityTicket).Result;

            if (treatment_count != null)
            {
                treatment_count.treatment_count++;

                var contracts = cls_Get_InsuranceToBrokerContractID_for_DrugID_and_DiagnoseID.Invoke(Connection, Transaction, new P_CAS_GItBCIDfDIDaDID_1541()
                {
                    DiagnoseID    = Parameter.diagnose_id,
                    DrugID        = Parameter.drug_id,
                    PatientID     = Parameter.patient_id,
                    TreatmentDate = DateTime.Now
                }, securityTicket).Result.OrderBy(ctr => ctr.patient_consent_valid_from);

                var contract_id = contracts.LastOrDefault(ctr => ctr.patient_consent_valid_from.Date <= Parameter.treatment_date);

                if (contract_id == null)
                {
                    contract_id = contracts.LastOrDefault();
                }

                if (contract_id == null)
                {
                    throw new Exception("Contract not found during GPOS calculation");
                }

                var gpos_details = cls_Get_All_GPOS_Details_for_ContractID.Invoke(Connection, Transaction, new P_CAS_GAGPOSDfCID_1754()
                {
                    ContractID = contract_id.contract_id
                }, securityTicket).Result;

                if (gpos_details.Length != 0)
                {
                    List <string> gpos_types = new List <string>();

                    if (Parameter.oct_doctor_id != Guid.Empty)
                    {
                        gpos_types.Add("mm.docconnect.gpos.catalog.voruntersuchung");
                    }
                    else
                    {
                        if (Parameter.treatment_doctor_id == Guid.Empty && Parameter.ac_doctor_id != Guid.Empty)
                        {
                            gpos_types.Add("mm.docconnect.gpos.catalog.nachsorge");
                        }
                        else if (Parameter.diagnose_id != Guid.Empty)
                        {
                            gpos_types.Add("mm.docconnect.gpos.catalog.operation");
                            gpos_types.Add("mm.docconnect.gpos.catalog.nachsorge");
                        }
                    }

                    foreach (var gpos_type in gpos_types)
                    {
                        foreach (var gpos_detail in gpos_details.Where(t => t.GposType == gpos_type))
                        {
                            var covered_drugs = ORM_HEC_BIL_PotentialCode_2_HealthcareProduct.Query.Search(Connection, Transaction, new ORM_HEC_BIL_PotentialCode_2_HealthcareProduct.Query()
                            {
                                HEC_BIL_PotentialCode_RefID = gpos_detail.GposID,
                                Tenant_RefID = securityTicket.TenantID,
                                IsDeleted    = false
                            }).Select(covered_drug => covered_drug.HEC_Product_RefID);

                            var covered_diagnoses = ORM_HEC_BIL_PotentialCode_2_PotentialDiagnosis.Query.Search(Connection, Transaction, new ORM_HEC_BIL_PotentialCode_2_PotentialDiagnosis.Query()
                            {
                                HEC_BIL_PotentialCode_RefID = gpos_detail.GposID,
                                Tenant_RefID = securityTicket.TenantID,
                                IsDeleted    = false
                            }).Select(covered_diagnose => covered_diagnose.HEC_DIA_PotentialDiagnosis_RefID);

                            var drug_condition     = covered_drugs.Any() ? covered_drugs.Any(t => t == Parameter.drug_id) : true;
                            var diagnose_condition = covered_diagnoses.Any() ? covered_diagnoses.Any(t => t == Parameter.diagnose_id) : true;

                            bool treatment_count_condition = gpos_detail.FromInjection > 1000000;

                            if (covered_drugs.Any() && covered_diagnoses.Any())
                            {
                                var gpos_details_for_drug_diagnose_combo = cls_Get_GPOS_Details_for_DiagnoseID_and_DrugID.Invoke(Connection, Transaction, new P_CAS_GGPOSDfDIDaDID_1033()
                                {
                                    ContractID = contract_id.contract_id,
                                    DiagnoseID = Parameter.diagnose_id,
                                    DrugID     = Parameter.drug_id
                                }, securityTicket).Result;

                                treatment_count_condition = treatment_count.treatment_count >= gpos_detail.FromInjection &&
                                                            !gpos_details_for_drug_diagnose_combo.Any(gpos => treatment_count.treatment_count >= gpos.injection_from && gpos.injection_from > gpos_detail.FromInjection && gpos.gpos_type == gpos_type);
                            }

                            var gpos_condition = drug_condition && diagnose_condition && treatment_count_condition;

                            if (gpos_condition)
                            {
                                ORM_BIL_BillPosition gpos_position = new ORM_BIL_BillPosition();
                                gpos_position.BIL_BilHeader_RefID        = Guid.Empty;
                                gpos_position.Creation_Timestamp         = Parameter.creation_timestamp != DateTime.MinValue ? Parameter.creation_timestamp : DateTime.Now;
                                gpos_position.Modification_Timestamp     = DateTime.Now;
                                gpos_position.Tenant_RefID               = securityTicket.TenantID;
                                gpos_position.PositionValue_IncludingTax = Convert.ToDecimal(gpos_detail.GposPrice);

                                gpos_position.Save(Connection, Transaction);

                                resultList.Add(gpos_position.BIL_BillPositionID);

                                ORM_HEC_BIL_BillPosition hec_gpos_position = new ORM_HEC_BIL_BillPosition();
                                hec_gpos_position.Creation_Timestamp         = Parameter.creation_timestamp != DateTime.MinValue ? Parameter.creation_timestamp : DateTime.Now;
                                hec_gpos_position.Ext_BIL_BillPosition_RefID = gpos_position.BIL_BillPositionID;
                                hec_gpos_position.HEC_BIL_BillPositionID     = Guid.NewGuid();
                                hec_gpos_position.Modification_Timestamp     = DateTime.Now;
                                hec_gpos_position.Tenant_RefID = securityTicket.TenantID;
                                hec_gpos_position.PositionFor_Patient_RefID = Parameter.patient_id;

                                hec_gpos_position.Save(Connection, Transaction);

                                ORM_HEC_BIL_BillPosition_BillCode hec_gpos_position_code = new ORM_HEC_BIL_BillPosition_BillCode();
                                hec_gpos_position_code.BillPosition_RefID = hec_gpos_position.HEC_BIL_BillPositionID;
                                hec_gpos_position_code.Creation_Timestamp = Parameter.creation_timestamp != DateTime.MinValue ? Parameter.creation_timestamp : DateTime.Now;
                                hec_gpos_position_code.HEC_BIL_BillPosition_BillCodeID = Guid.NewGuid();
                                hec_gpos_position_code.IM_BillingCode         = gpos_detail.GposNumber;
                                hec_gpos_position_code.Modification_Timestamp = DateTime.Now;
                                hec_gpos_position_code.PotentialCode_RefID    = gpos_detail.GposID;
                                hec_gpos_position_code.Tenant_RefID           = securityTicket.TenantID;

                                hec_gpos_position_code.Save(Connection, Transaction);

                                ORM_HEC_CAS_Case_BillCode hec_gpos_case_code = new ORM_HEC_CAS_Case_BillCode();
                                hec_gpos_case_code.Creation_Timestamp = Parameter.creation_timestamp != DateTime.MinValue ? Parameter.creation_timestamp : DateTime.Now;
                                hec_gpos_case_code.HEC_BIL_BillPosition_BillCode_RefID = hec_gpos_position_code.HEC_BIL_BillPosition_BillCodeID;
                                hec_gpos_case_code.HEC_CAS_Case_BillCodeID             = Guid.NewGuid();
                                hec_gpos_case_code.HEC_CAS_Case_RefID     = Parameter.case_id;
                                hec_gpos_case_code.Modification_Timestamp = DateTime.Now;
                                hec_gpos_case_code.Tenant_RefID           = securityTicket.TenantID;

                                hec_gpos_case_code.Save(Connection, Transaction);
                            }
                        }
                    }
                }
            }

            returnValue.Result = resultList.ToArray();
            return(returnValue);

            #endregion UserCode
        }
コード例 #21
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_L5ME_SRS_1512 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guids();
            //Put your code here
            List <Guid> resultID = new List <Guid>();
            foreach (var substanceParam in Parameter.RecommendedSubstance)
            {
                ORM_HEC_DIA_RecommendedSubstance existintSubstance = ORM_HEC_DIA_RecommendedSubstance.Query.Search(Connection, Transaction, new ORM_HEC_DIA_RecommendedSubstance.Query
                {
                    HEC_DIA_RecommendedSubstanceID = substanceParam.HEC_DIA_RecommendedSubstanceID,
                    IsDeleted    = false,
                    Tenant_RefID = securityTicket.TenantID
                }).SingleOrDefault();

                if (!substanceParam.IsDeleted)
                {
                    Guid SubstanceID = substanceParam.SubstanceID;
                    Guid DiagnosisID = substanceParam.DiagnoseID;

                    if (existintSubstance == null)
                    {
                        existintSubstance = new ORM_HEC_DIA_RecommendedSubstance();
                        existintSubstance.HEC_DIA_RecommendedSubstanceID = substanceParam.HEC_DIA_RecommendedSubstanceID;
                        existintSubstance.PotentialDiagnosis_RefID       = DiagnosisID;
                        existintSubstance.Substance_RefID = SubstanceID;
                        existintSubstance.IsDeleted       = false;
                    }
                    existintSubstance.Substance_Unit_RefID = substanceParam.Substance_Unit_RefID;
                    existintSubstance.SubstanceStrength    = substanceParam.SubstanceStrength;
                    existintSubstance.Tenant_RefID         = securityTicket.TenantID;
                    existintSubstance.Save(Connection, Transaction);
                    resultID.Add(existintSubstance.HEC_DIA_RecommendedSubstanceID);

                    foreach (var dosageParam in substanceParam.DosageList)
                    {
                        ORM_HEC_DIA_RecommendedSubstance_Dosage existingDosage = ORM_HEC_DIA_RecommendedSubstance_Dosage.Query.Search(Connection, Transaction, new ORM_HEC_DIA_RecommendedSubstance_Dosage.Query
                        {
                            HEC_DIA_RecommendedSubstance_DosageID = dosageParam.HEC_DIA_RecommendedSubstance_DosageID,
                            IsDeleted    = false,
                            Tenant_RefID = securityTicket.TenantID
                        }).SingleOrDefault();

                        if (!dosageParam.IsDeleted)
                        {
                            if (existingDosage == null)
                            {
                                existingDosage = new ORM_HEC_DIA_RecommendedSubstance_Dosage();
                                existingDosage.HEC_DIA_RecommendedSubstance_DosageID = dosageParam.HEC_DIA_RecommendedSubstance_DosageID;
                            }

                            existingDosage.RecommendedSubstance_RefID = existintSubstance.HEC_DIA_RecommendedSubstanceID;
                            existingDosage.Dosage_RefID = dosageParam.Dosage_RefID;
                            existingDosage.IsDefault    = dosageParam.IsDefault;
                            existingDosage.IsDeleted    = false;
                            existingDosage.Tenant_RefID = securityTicket.TenantID;
                            existingDosage.Save(Connection, Transaction);
                        }
                        else if (existingDosage != null && dosageParam.IsDeleted)
                        {
                            existingDosage.IsDeleted = true;
                            existingDosage.Save(Connection, Transaction);
                        }
                    }
                }
                else
                {
                    ORM_HEC_DIA_RecommendedSubstance_Dosage.Query.SoftDelete(Connection, Transaction, new ORM_HEC_DIA_RecommendedSubstance_Dosage.Query
                    {
                        RecommendedSubstance_RefID = existintSubstance.HEC_DIA_RecommendedSubstanceID,
                        IsDeleted    = false,
                        Tenant_RefID = securityTicket.TenantID
                    });
                    existintSubstance.IsDeleted = true;
                    existintSubstance.Save(Connection, Transaction);
                }
            }
            returnValue.Result = resultID.ToArray();
            return(returnValue);

            #endregion UserCode
        }
コード例 #22
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_L5BD_SCDP_1347 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guids();
            //Put your code here

            var savedProcesses = new List <Guid>();

            foreach (var billHeaderID in Parameter.BIL_BillHeaderIDs.ToList())
            {
                #region Prerequisites

                var billHeader = new ORM_BIL_BillHeader();
                billHeader.Load(Connection, Transaction, billHeaderID);

                //assigned payments
                var assignedPaymentsQuery = new ORM_BIL_BillHeader_AssignedPayment.Query();
                assignedPaymentsQuery.BIL_BillHeader_RefID = billHeader.BIL_BillHeaderID;
                assignedPaymentsQuery.Tenant_RefID         = securityTicket.TenantID;
                var foundAssignmentPayments = ORM_BIL_BillHeader_AssignedPayment.Query.Search(Connection, Transaction, assignedPaymentsQuery);

                //calculated sum of payments to the present day
                var paymentsSummForCurrentDate = foundAssignmentPayments.Where(fap => fap.Creation_Timestamp <= DateTime.Now).Sum(x => x.AssignedValue);

                //customer
                var customerQuery = new ORM_CMN_BPT_CTM_Customer.Query();
                customerQuery.Tenant_RefID = securityTicket.TenantID;
                customerQuery.Ext_BusinessParticipant_RefID = billHeader.BillRecipient_BuisnessParticipant_RefID;
                var foundCustomer = ORM_CMN_BPT_CTM_Customer.Query.Search(Connection, Transaction, customerQuery).Single();

                //Model
                ORM_ACC_DUN_Dunning_Model.Query defaultDunningModelQuery = new ORM_ACC_DUN_Dunning_Model.Query();
                defaultDunningModelQuery.Tenant_RefID           = securityTicket.TenantID;
                defaultDunningModelQuery.IsDefaultCustomerModel = true;
                var foundDunningModel = ORM_ACC_DUN_Dunning_Model.Query.Search(Connection, Transaction, defaultDunningModelQuery).SingleOrDefault();

                //Assignment to levels
                var modelToLevelsAssignmentQuery = new ORM_ACC_DUN_DunningLevel_ModelAssignment.Query();
                modelToLevelsAssignmentQuery.Dunning_Model_RefID = foundDunningModel.ACC_DUN_Dunning_ModelID;
                modelToLevelsAssignmentQuery.Tenant_RefID        = securityTicket.TenantID;
                var foundModelToLevelsAssignments = ORM_ACC_DUN_DunningLevel_ModelAssignment.Query.Search(Connection, Transaction, modelToLevelsAssignmentQuery);

                var minimalLevelInSequence = foundModelToLevelsAssignments.OrderBy(la => la.OrderSequence).First();



                //Levels
                var dunningLevels = new ORM_ACC_DUN_Dunning_Level();
                //dunningLevels.Load(Connection, Transaction, foundModelToLevelsAssignment.Dunning_Level_RefID);

                #endregion

                //model to customer assignment
                var modelToCustomerAssignment = new ORM_ACC_DUN_Dunning_Model_2_Customer();
                modelToCustomerAssignment.Tenant_RefID = securityTicket.TenantID;
                modelToCustomerAssignment.ACC_DUN_DunningModel_RefID = foundDunningModel.ACC_DUN_Dunning_ModelID;
                modelToCustomerAssignment.CMN_BPT_CTM_Customer_RefID = foundCustomer.CMN_BPT_CTM_CustomerID;
                var savedModelToCustomerAssignmentID = new FR_Guid(modelToCustomerAssignment.Save(Connection, Transaction), modelToCustomerAssignment.AssignmentID);

                //dunning process
                P_L2BD_SADDP_1412 saveDunningProcessParameter = new P_L2BD_SADDP_1412();
                saveDunningProcessParameter.DunnedCustomer_RefID          = foundCustomer.CMN_BPT_CTM_CustomerID;
                saveDunningProcessParameter.DunningModel_RefID            = foundDunningModel.ACC_DUN_Dunning_ModelID;
                saveDunningProcessParameter.Current_DunningLevel_RefID    = minimalLevelInSequence.Dunning_Level_RefID;
                saveDunningProcessParameter.DunnedAmount_Total            = billHeader.TotalValue_BeforeTax - paymentsSummForCurrentDate;
                saveDunningProcessParameter.Currency_RefID                = billHeader.Currency_RefID;
                saveDunningProcessParameter.ReachesNextDunningLevelAtDate = DateTime.Now.AddDays(minimalLevelInSequence.WaitPeriodToNextDunningLevel_In_Days);

                var savedDunningProcessID = cls_Save_ACC_DUN_DunningProcess.Invoke(Connection, Transaction, saveDunningProcessParameter, securityTicket).Result;

                //dunning process member bills
                P_L2BD_SADDPMB_1359 saveMemberBillsParameter = new P_L2BD_SADDPMB_1359();
                saveMemberBillsParameter.BIL_BillHeader_RefID         = billHeaderID;
                saveMemberBillsParameter.ACC_DUN_DunningProcess_RefID = savedDunningProcessID;
                saveMemberBillsParameter.ApplicableProcessDunningFees = 0;
                saveMemberBillsParameter.CurrentUnpaidBillFraction    = 0;

                var savedMemberBillID = cls_Save_ACC_DUN_DunningProcess_MemberBill.Invoke(Connection, Transaction, saveMemberBillsParameter, securityTicket).Result;
                savedProcesses.Add(savedMemberBillID);

                //dunning process history
                var dunningProcessHistory = new ORM_ACC_DUN_DunningProcess_History();
                dunningProcessHistory.ACC_DUN_Dunning_Level_RefID  = minimalLevelInSequence.Dunning_Level_RefID;
                dunningProcessHistory.ACC_DUN_DunningProcess_RefID = savedDunningProcessID;
                dunningProcessHistory.Creation_Timestamp           = DateTime.Now;
                dunningProcessHistory.DunningProcessFee_IncludingThisDunningLevel = 0;
                dunningProcessHistory.IsCurrentStep = true;
                dunningProcessHistory.Tenant_RefID  = securityTicket.TenantID;

                var savedDunningProcessHistoryID = new FR_Guid(dunningProcessHistory.Save(Connection, Transaction), dunningProcessHistory.ACC_DUN_DunningProcess_HistoryID);
            }

            returnValue.Result = savedProcesses.ToArray();

            return(returnValue);

            #endregion UserCode
        }
コード例 #23
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_CAS_SCME_1741 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guids();
            //Put your code here


            ORM_CMN_Language.Query all_languagesQ = new ORM_CMN_Language.Query();
            all_languagesQ.Tenant_RefID = securityTicket.TenantID;
            all_languagesQ.IsDeleted    = false;

            var all_languagesL = ORM_CMN_Language.Query.Search(Connection, Transaction, all_languagesQ).ToArray();

            var treatment_doctor_details = cls_Get_Doctor_Details_for_DoctorID.Invoke(Connection, Transaction, new P_DO_GDDfDID_0823()
            {
                DoctorID = Parameter.treatment_doctor_id
            }, securityTicket).Result.SingleOrDefault();
            var aftercare_doctor_details = cls_Get_Doctor_Details_for_DoctorID.Invoke(Connection, Transaction, new P_DO_GDDfDID_0823()
            {
                DoctorID = Parameter.aftercare_doctor_id
            }, securityTicket).Result.SingleOrDefault();
            var aftercare_practice_details = cls_Get_Practice_Details_for_PracticeID.Invoke(Connection, Transaction, new P_DO_GPDfPID_1432()
            {
                PracticeID = Parameter.aftercare_doctor_id
            }, securityTicket).Result.FirstOrDefault();
            List <string> aftercare_ids           = new List <string>();
            List <string> withdrawn_aftercare_ids = new List <string>();
            List <string> new_aftercare_ids       = new List <string>();

            ORM_USR_Account treatment_doctor_account = null;
            if (Parameter.treatment_doctor_id != Guid.Empty)
            {
                treatment_doctor_account = ORM_USR_Account.Query.Search(Connection, Transaction, new ORM_USR_Account.Query()
                {
                    USR_AccountID = cls_Get_Doctor_AccountID_for_DoctorID.Invoke(Connection, Transaction, new P_DO_GDAIDfDID_1549()
                    {
                        DoctorID = Parameter.treatment_doctor_id
                    }, securityTicket).Result.accountID,
                    Tenant_RefID = securityTicket.TenantID,
                    IsDeleted    = false
                }).SingleOrDefault();
            }

            ORM_USR_Account aftercare_doctor_account = null;
            if (Parameter.aftercare_doctor_id != Guid.Empty)
            {
                if (aftercare_doctor_details != null)
                {
                    aftercare_doctor_account = ORM_USR_Account.Query.Search(Connection, Transaction, new ORM_USR_Account.Query()
                    {
                        USR_AccountID = cls_Get_Doctor_AccountID_for_DoctorID.Invoke(Connection, Transaction, new P_DO_GDAIDfDID_1549()
                        {
                            DoctorID = Parameter.aftercare_doctor_id
                        }, securityTicket).Result.accountID,
                        Tenant_RefID = securityTicket.TenantID,
                        IsDeleted    = false
                    }).SingleOrDefault();
                }
                else
                {
                    aftercare_doctor_account = ORM_USR_Account.Query.Search(Connection, Transaction, new ORM_USR_Account.Query()
                    {
                        USR_AccountID = cls_Get_Practice_AccountID_for_PracticeID.Invoke(Connection, Transaction, new P_DO_GPAIDfPID_1351()
                        {
                            PracticeID = Parameter.aftercare_doctor_id
                        }, securityTicket).Result.accountID,
                        Tenant_RefID = securityTicket.TenantID,
                        IsDeleted    = false
                    }).SingleOrDefault();
                }
            }

            foreach (var case_id in Parameter.case_ids)
            {
                if (treatment_doctor_details != null && Parameter.is_treatment)
                {
                    #region UPDATE TREATMENT DOCTOR
                    var treatment_planned_action_id = cls_Get_Treatment_Planned_Action_for_CaseID.Invoke(Connection, Transaction, new P_CAS_GTPAfCID_0946()
                    {
                        CaseID = case_id
                    }, securityTicket).Result;
                    if (treatment_planned_action_id != null)
                    {
                        var treatment_planned_action = ORM_HEC_ACT_PlannedAction.Query.Search(Connection, Transaction, new ORM_HEC_ACT_PlannedAction.Query()
                        {
                            HEC_ACT_PlannedActionID = treatment_planned_action_id.planned_action_id,
                            Tenant_RefID            = securityTicket.TenantID,
                            IsDeleted   = false,
                            IsCancelled = false
                        }).SingleOrDefault();

                        if (treatment_planned_action != null)
                        {
                            treatment_planned_action.Modification_Timestamp = DateTime.Now;
                            treatment_planned_action.ToBePerformedBy_BusinessParticipant_RefID = treatment_doctor_account.BusinessParticipant_RefID;

                            treatment_planned_action.Save(Connection, Transaction);
                        }
                    }
                    #endregion
                }

                #region UPDATE AFTERCARE DOCTOR
                if (!string.IsNullOrEmpty(Parameter.aftercare_performed_date) || aftercare_doctor_details != null || aftercare_practice_details != null)
                {
                    var aftercare_planned_action_id = cls_Get_Aftercare_Planned_Action_for_CaseID.Invoke(Connection, Transaction, new P_CAS_GAPAfCID_0959()
                    {
                        CaseID = case_id
                    }, securityTicket).Result;
                    if (aftercare_planned_action_id != null)
                    {
                        aftercare_ids.Add(aftercare_planned_action_id.planned_action_id.ToString());
                        if (aftercare_doctor_details != null || aftercare_practice_details != null)
                        {
                            var aftercare_planned_action = ORM_HEC_ACT_PlannedAction.Query.Search(Connection, Transaction, new ORM_HEC_ACT_PlannedAction.Query()
                            {
                                HEC_ACT_PlannedActionID = aftercare_planned_action_id.planned_action_id,
                                Tenant_RefID            = securityTicket.TenantID,
                                IsDeleted   = false,
                                IsCancelled = false
                            }).SingleOrDefault();

                            if (aftercare_planned_action != null)
                            {
                                if (aftercare_planned_action.ToBePerformedBy_BusinessParticipant_RefID != Guid.Empty)
                                {
                                    if (aftercare_doctor_account.BusinessParticipant_RefID != aftercare_planned_action.ToBePerformedBy_BusinessParticipant_RefID)
                                    {
                                        bool is_current_aftercare_practice = false;
                                        CAS_GPIDfPBPTID_1336 current_aftercare_practice = null;
                                        var current_aftercare_doctor = cls_Get_PracticeID_for_Doctor_BusinessParticipantID.Invoke(
                                            Connection,
                                            Transaction,
                                            new P_CAS_GPIDfDBPTID_1205()
                                        {
                                            BusinessParticipantID = aftercare_planned_action.ToBePerformedBy_BusinessParticipant_RefID
                                        },
                                            securityTicket).Result;

                                        if (current_aftercare_doctor == null)
                                        {
                                            current_aftercare_practice = cls_Get_PracticeID_for_Practice_BusinessParticipantID.Invoke(Connection, Transaction, new P_CAS_GPIDfPBPTID_1336()
                                            {
                                                BusinessParticipantID = aftercare_planned_action.ToBePerformedBy_BusinessParticipant_RefID
                                            }, securityTicket).Result;
                                            is_current_aftercare_practice = true;
                                        }

                                        var new_aftercare_practice_id     = aftercare_doctor_details != null ? aftercare_doctor_details.practice_id : aftercare_practice_details.practiceID;
                                        var current_aftercare_practice_id = is_current_aftercare_practice ? current_aftercare_practice.practice_id : current_aftercare_doctor.practice_id;

                                        if (new_aftercare_practice_id != current_aftercare_practice_id)
                                        {
                                            aftercare_planned_action.IsCancelled            = true;
                                            aftercare_planned_action.Modification_Timestamp = DateTime.Now;
                                            aftercare_planned_action.Save(Connection, Transaction);

                                            withdrawn_aftercare_ids.Add(aftercare_planned_action.HEC_ACT_PlannedActionID.ToString());

                                            #region NEW AFTERCARE PLANNED ACTION

                                            #region DELETE CURRENT PLANNED ACTION TO CASE
                                            ORM_HEC_CAS_Case_RelevantPlannedAction.Query current_aftercare_action_2_caseQ = new ORM_HEC_CAS_Case_RelevantPlannedAction.Query();
                                            current_aftercare_action_2_caseQ.Case_RefID          = case_id;
                                            current_aftercare_action_2_caseQ.PlannedAction_RefID = aftercare_planned_action_id.planned_action_id;
                                            current_aftercare_action_2_caseQ.Tenant_RefID        = securityTicket.TenantID;
                                            current_aftercare_action_2_caseQ.IsDeleted           = false;

                                            var current_aftercare_action_2_case = ORM_HEC_CAS_Case_RelevantPlannedAction.Query.Search(Connection, Transaction, current_aftercare_action_2_caseQ).SingleOrDefault();
                                            if (current_aftercare_action_2_case != null)
                                            {
                                                current_aftercare_action_2_case.IsDeleted = true;
                                                current_aftercare_action_2_case.Save(Connection, Transaction);
                                            }
                                            #endregion

                                            var new_aftercare_id = cls_Create_Aftercare_Planned_Action.Invoke(Connection, Transaction, new P_CAS_CAPA_1237()
                                            {
                                                aftercare_doctor_practice_id = Parameter.aftercare_doctor_id,
                                                all_languagesL = all_languagesL,
                                                case_id        = case_id,
                                                patient_id     = aftercare_planned_action.Patient_RefID,
                                                practice_id    = Parameter.practice_id,
                                                treatment_date = string.IsNullOrEmpty(Parameter.aftercare_performed_date) ? DateTime.Now : DateTime.ParseExact(Parameter.aftercare_performed_date, "dd.MM.yyyy", new System.Globalization.CultureInfo("de", true))
                                            }, securityTicket).Result;

                                            new_aftercare_ids.Add(new_aftercare_id.ToString());

                                            #endregion NEW AFTERCARE PLANNED ACTION
                                        }
                                        else
                                        {
                                            aftercare_planned_action.Modification_Timestamp = DateTime.Now;
                                            aftercare_planned_action.ToBePerformedBy_BusinessParticipant_RefID = aftercare_doctor_account.BusinessParticipant_RefID;

                                            aftercare_planned_action.Save(Connection, Transaction);
                                        }
                                    }
                                }
                                else
                                {
                                    aftercare_planned_action.Modification_Timestamp = DateTime.Now;
                                    aftercare_planned_action.ToBePerformedBy_BusinessParticipant_RefID = aftercare_doctor_account.BusinessParticipant_RefID;

                                    aftercare_planned_action.Save(Connection, Transaction);
                                }
                            }
                        }
                    }
                    else
                    {
                        var treatment_planned_action_id = cls_Get_Treatment_Planned_Action_for_CaseID.Invoke(Connection, Transaction, new P_CAS_GTPAfCID_0946()
                        {
                            CaseID = case_id
                        }, securityTicket).Result;
                        if (treatment_planned_action_id != null)
                        {
                            var treatment_planned_action = ORM_HEC_ACT_PlannedAction.Query.Search(Connection, Transaction, new ORM_HEC_ACT_PlannedAction.Query()
                            {
                                HEC_ACT_PlannedActionID = treatment_planned_action_id.planned_action_id,
                                Tenant_RefID            = securityTicket.TenantID,
                                IsDeleted   = false,
                                IsCancelled = false
                            }).SingleOrDefault();

                            var result = cls_Create_Aftercare_Planned_Action.Invoke(Connection, Transaction, new P_CAS_CAPA_1237()
                            {
                                aftercare_doctor_practice_id = Parameter.aftercare_doctor_id,
                                all_languagesL = ORM_CMN_Language.Query.Search(Connection, Transaction, new ORM_CMN_Language.Query()
                                {
                                    Tenant_RefID = securityTicket.TenantID, IsDeleted = false
                                }).ToArray(),
                                case_id        = case_id,
                                patient_id     = treatment_planned_action.Patient_RefID,
                                practice_id    = aftercare_doctor_details != null ? aftercare_doctor_details.practice_id : Parameter.aftercare_doctor_id,
                                treatment_date = treatment_planned_action.PlannedFor_Date
                            }, securityTicket);

                            aftercare_ids.Add(result.Result.ToString());
                        }
                    }
                }
                #endregion
            }

            #region UPDATE LAST USED AFTERCARES
            if (aftercare_doctor_details != null || aftercare_practice_details != null)
            {
                var aftercare_name = aftercare_doctor_details == null ? aftercare_practice_details.practice_name :
                                     GenericUtils.GetDoctorName(aftercare_doctor_details);

                var ac_practice_id = aftercare_doctor_details != null ? aftercare_doctor_details.practice_id : aftercare_practice_details.practiceID;

                var last_used_practices_doctors = Get_Practices_and_Doctors.Get_Last_Used_Doctors_Practices(Guid.Empty, securityTicket);
                if (last_used_practices_doctors.Count != 0)
                {
                    last_used_practices_doctors = last_used_practices_doctors.OrderBy(l => l.date_of_use).ToList();
                    var last_used = last_used_practices_doctors.SingleOrDefault(l => l.id.ToLower().Equals(Parameter.aftercare_doctor_id.ToString().ToLower()));
                    if (last_used != null)
                    {
                        last_used.date_of_use = DateTime.Now;
                    }
                    else
                    {
                        Practice_Doctor_Last_Used_Model practice_last_used_model = new Practice_Doctor_Last_Used_Model();
                        practice_last_used_model.id           = Parameter.aftercare_doctor_id.ToString();
                        practice_last_used_model.display_name = aftercare_name;
                        practice_last_used_model.date_of_use  = DateTime.Now;
                        practice_last_used_model.practice_id  = ac_practice_id.ToString();

                        last_used_practices_doctors.Add(practice_last_used_model);
                    }
                }
                else
                {
                    Practice_Doctor_Last_Used_Model practice_last_used_model = new Practice_Doctor_Last_Used_Model();
                    practice_last_used_model.id           = Parameter.aftercare_doctor_id.ToString();
                    practice_last_used_model.display_name = aftercare_name;
                    practice_last_used_model.date_of_use  = DateTime.Now;
                    practice_last_used_model.practice_id  = ac_practice_id.ToString();

                    last_used_practices_doctors.Add(practice_last_used_model);
                }

                Add_New_Practice_Last_Used.Import_Practice_Last_Used_Data_to_ElasticDB(last_used_practices_doctors, securityTicket.TenantID.ToString(), securityTicket.AccountID.ToString());

                last_used_practices_doctors = Get_Practices_and_Doctors.Get_Last_Used_Doctors_Practices(Guid.Empty, securityTicket);

                if (last_used_practices_doctors.Count() > 3)
                {
                    var id_to_delete = last_used_practices_doctors.OrderBy(pd => pd.date_of_use).First().id;
                    Add_New_Practice_Last_Used.Delete_Practice_Last_Used(securityTicket.TenantID.ToString(), "user_" + securityTicket.AccountID.ToString(), id_to_delete);
                }
            }
            #endregion

            returnValue.Result = Parameter.case_ids;
            return(returnValue);

            #endregion UserCode
        }
コード例 #24
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_L5CO_CCOaMR_1102 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guids();
            var result      = new List <Guid>();

            #region Current_CustomerOrderStatus

            var orderedStatusID = ORM_ORD_CUO_CustomerOrder_Status.Query.Search(Connection, Transaction,
                                                                                new ORM_ORD_CUO_CustomerOrder_Status.Query
            {
                GlobalPropertyMatchingID = EnumUtils.GetEnumDescription(ECustomerOrderStatus.Ordered),
                Tenant_RefID             = securityTicket.TenantID,
                IsDeleted = false
            }).SingleOrDefault().ORD_CUO_CustomerOrder_StatusID;

            #endregion

            #region Get All OrganizationalUnits

            var organizationalUnits = ORM_CMN_BPT_CTM_OrganizationalUnit.Query.Search(Connection, Transaction, new ORM_CMN_BPT_CTM_OrganizationalUnit.Query()
            {
                Tenant_RefID = securityTicket.TenantID,
                IsDeleted    = false
            });
            #endregion

            foreach (var procurement in Parameter.Procurements)
            {
                #region CustomerOrder_Number

                var incrNumberParam = new P_L2NR_GaIINfUA_1454()
                {
                    GlobalStaticMatchingID = EnumUtils.GetEnumDescription(ENumberRangeUsageAreaType.CustomerOrderNumber)
                };
                var customerOrderNumber = cls_Get_and_Increase_IncreasingNumber_for_UsageArea.Invoke(Connection, Transaction, incrNumberParam, securityTicket).Result.Current_IncreasingNumber;

                #endregion

                var cuoHeader = new ORM_ORD_CUO_CustomerOrder_Header();
                cuoHeader.ORD_CUO_CustomerOrder_HeaderID    = Guid.NewGuid();
                cuoHeader.ProcurementOrderITL               = procurement.ProcurementHeaderInfo.ProcurementOrderInfo.ITL;
                cuoHeader.Current_CustomerOrderStatus_RefID = orderedStatusID;
                cuoHeader.CustomerOrder_Number              = customerOrderNumber;
                cuoHeader.CustomerOrder_Date = DateTime.Now;
                cuoHeader.OrderingCustomer_BusinessParticipant_RefID = Parameter.CustomerBusinessParticipantID;
                cuoHeader.CreatedBy_BusinessParticipant_RefID        = Parameter.CustomerBusinessParticipantID;
                cuoHeader.CanceledBy_BusinessParticipant_RefID       = Guid.Empty;
                cuoHeader.CustomerOrder_Currency_RefID = Guid.Empty;
                cuoHeader.TotalValue_BeforeTax         = 0;
                cuoHeader.IsCustomerOrderFinalized     = false;
                cuoHeader.DeliveryDeadline             = new DateTime();
                cuoHeader.IsPartialShippingAllowed     = true;
                cuoHeader.Tenant_RefID       = securityTicket.TenantID;
                cuoHeader.Creation_Timestamp = DateTime.Now;
                cuoHeader.Save(Connection, Transaction);

                #region CustomerOrderStatusHistory

                var statusHistory = new ORM_ORD_CUO_CustomerOrder_StatusHistory()
                {
                    ORD_CUO_CustomerOrder_StatusHistoryID = Guid.NewGuid(),
                    CustomerOrder_Header_RefID            = cuoHeader.ORD_CUO_CustomerOrder_HeaderID,
                    CustomerOrder_Status_RefID            = orderedStatusID,
                    StatusHistoryComment = "",
                    PerformedBy_BusinessParticipant_RefID = Parameter.CustomerBusinessParticipantID,
                    Creation_Timestamp = DateTime.Now,
                    Tenant_RefID       = securityTicket.TenantID
                };

                statusHistory.Save(Connection, Transaction);

                #endregion

                var     count   = 1;
                decimal ammount = 0;

                foreach (var position in procurement.ProcurementPositions)
                {
                    #region FindArticle

                    var product = ORM_CMN_PRO_Product.Query.Search(Connection, Transaction,
                                                                   new ORM_CMN_PRO_Product.Query()
                    {
                        ProductITL   = position.Product.ProductITL,
                        IsDeleted    = false,
                        Tenant_RefID = securityTicket.TenantID,
                        IsProductAvailableForOrdering = true
                    }).Single();

                    var packageInfo = ORM_CMN_PRO_PAC_PackageInfo.Query.Search(Connection, Transaction,
                                                                               new ORM_CMN_PRO_PAC_PackageInfo.Query()
                    {
                        CMN_PRO_PAC_PackageInfoID = product.PackageInfo_RefID,
                        IsDeleted    = false,
                        Tenant_RefID = securityTicket.TenantID
                    }).SingleOrDefault();

                    #endregion

                    #region Find Price

                    decimal priceAmount = 0;

                    if (position.Product.SourceCatalogITL == EnumUtils.GetEnumDescription(EPublicCatalogs.ABDA))
                    {
                        var abdaCatalogSubscription = ORM_CMN_PRO_SubscribedCatalog.Query.Search(Connection, Transaction,
                                                                                                 new ORM_CMN_PRO_SubscribedCatalog.Query()
                        {
                            CatalogCodeITL = EnumUtils.GetEnumDescription(EPublicCatalogs.ABDA),
                            Tenant_RefID   = securityTicket.TenantID,
                            IsDeleted      = false
                        }
                                                                                                 ).SingleOrDefault();

                        var price = ORM_CMN_SLS_Price.Query.Search(Connection, Transaction, new ORM_CMN_SLS_Price.Query()
                        {
                            CMN_PRO_Product_RefID  = product.CMN_PRO_ProductID,
                            PricelistRelease_RefID = abdaCatalogSubscription.SubscribedCatalog_PricelistRelease_RefID,
                            IsDeleted = false
                        }).Single();

                        priceAmount = price.PriceAmount;
                    }
                    else
                    {
                        var catalog = ORM_CMN_PRO_Catalog.Query.Search(Connection, Transaction,
                                                                       new ORM_CMN_PRO_Catalog.Query()
                        {
                            CatalogCodeITL = position.Product.SourceCatalogITL,
                            IsDeleted      = false,
                            Tenant_RefID   = securityTicket.TenantID
                        }).Single();

                        var lastPublishedRevision = ORM_CMN_PRO_Catalog_Revision.Query.Search(Connection, Transaction,
                                                                                              new ORM_CMN_PRO_Catalog_Revision.Query()
                        {
                            CMN_PRO_Catalog_RefID = catalog.CMN_PRO_CatalogID,
                            IsDeleted             = false,
                            Tenant_RefID          = securityTicket.TenantID,
                        }).Where(j => j.PublishedOn_Date != new DateTime()).OrderBy(i => i.RevisionNumber).Last();

                        var price = ORM_CMN_SLS_Price.Query.Search(Connection, Transaction,
                                                                   new ORM_CMN_SLS_Price.Query()
                        {
                            CMN_PRO_Product_RefID  = product.CMN_PRO_ProductID,
                            PricelistRelease_RefID = lastPublishedRevision.Default_PricelistRelease_RefID,
                            CMN_Currency_RefID     = catalog.Catalog_Currency_RefID,
                            IsDeleted    = false,
                            Tenant_RefID = securityTicket.TenantID
                        }).Single();

                        priceAmount = price.PriceAmount;
                    }

                    #endregion

                    var cuoPosition = new ORM_ORD_CUO_CustomerOrder_Position();
                    cuoPosition.ORD_CUO_CustomerOrder_PositionID = Guid.NewGuid();
                    cuoPosition.CustomerOrder_Header_RefID       = cuoHeader.ORD_CUO_CustomerOrder_HeaderID;
                    cuoPosition.Position_OrdinalNumber           = count++;
                    cuoPosition.Position_Quantity                = position.TotalOrderQuantity;
                    cuoPosition.Position_ValuePerUnit            = priceAmount;
                    cuoPosition.Position_ValueTotal              = priceAmount * (decimal)position.TotalOrderQuantity;
                    cuoPosition.Position_Comment                 = String.Empty;
                    cuoPosition.Position_Unit_RefID              = packageInfo.PackageContent_MeasuredInUnit_RefID;
                    cuoPosition.Position_RequestedDateOfDelivery = new DateTime();
                    cuoPosition.CMN_PRO_Product_RefID            = product.CMN_PRO_ProductID;
                    cuoPosition.CMN_PRO_Product_Release_RefID    = Guid.Empty;
                    cuoPosition.CMN_PRO_Product_Variant_RefID    = Guid.Empty;
                    cuoPosition.IsProductReplacementAllowed      = position.Product.IsProductReplacementAllowed;

                    cuoPosition.Tenant_RefID       = securityTicket.TenantID;
                    cuoPosition.Creation_Timestamp = DateTime.Now;
                    cuoPosition.Save(Connection, Transaction);

                    #region Product 2 OrganizationalUnit

                    foreach (var item in position.TargetOrgUnitInfo)
                    {
                        var orgUnit = organizationalUnits.Where(i => i.CustomerTenant_OfficeITL == item.OfficeITL).Single();

                        var assignement = new ORM_ORD_CUO_Position_CustomerOrganizationalUnitDistribution()
                        {
                            ORD_CUO_Position_CustomerOrganizationalUnitDistributionID = Guid.NewGuid(),
                            Quantity = item.SubQuantity,
                            CMN_BPT_CTM_OrganizationalUnit_RefID = orgUnit.CMN_BPT_CTM_OrganizationalUnitID,
                            ORD_CUO_CustomerOrder_Position_RefID = cuoPosition.ORD_CUO_CustomerOrder_PositionID,
                            Creation_Timestamp = DateTime.Now,
                            Tenant_RefID       = securityTicket.TenantID
                        };

                        assignement.Save(Connection, Transaction);
                    }

                    #endregion

                    ammount += cuoPosition.Position_ValueTotal;
                }

                #region Create comments

                if (procurement.ProcurementComments != null)
                {
                    foreach (var item in procurement.ProcurementComments)
                    {
                        var orgUnit = organizationalUnits.Where(i => i.CustomerTenant_OfficeITL == item.OfficeITL).Single();

                        var assignement = new ORM_ORD_CUO_CustomerOrder_Note()
                        {
                            ORD_CUO_CustomerOrder_NoteID         = Guid.NewGuid(),
                            CustomerOrder_Header_RefID           = cuoHeader.ORD_CUO_CustomerOrder_HeaderID,
                            CustomerOrder_Position_RefID         = Guid.Empty,
                            CMN_BPT_CTM_OrganizationalUnit_RefID = orgUnit.CMN_BPT_CTM_OrganizationalUnitID,
                            Title               = item.Title,
                            Comment             = item.Content,
                            NotePublishDate     = item.PublilshDate,
                            SequenceOrderNumber = item.SequenceNumber,
                            Creation_Timestamp  = DateTime.Now,
                            Tenant_RefID        = securityTicket.TenantID
                        };

                        assignement.Save(Connection, Transaction);
                    }
                }

                #endregion

                cuoHeader.TotalValue_BeforeTax = ammount;
                cuoHeader.Save(Connection, Transaction);

                result.Add(cuoHeader.ORD_CUO_CustomerOrder_HeaderID);
            }

            returnValue.Result = result.ToArray();
            return(returnValue);

            #endregion UserCode
        }
コード例 #25
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_L5ME_SRP_1317 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guids();
            //Put your code here

            List <Guid> resultID = new List <Guid>();
            foreach (var productParam in Parameter.RecommendedProduct)
            {
                ORM_HEC_DIA_RecommendedProduct existingProduct = ORM_HEC_DIA_RecommendedProduct.Query.Search(Connection, Transaction, new ORM_HEC_DIA_RecommendedProduct.Query
                {
                    HEC_DIA_RecommendedProductID = productParam.HEC_DIA_RecommendedProductID,
                    IsDeleted    = false,
                    Tenant_RefID = securityTicket.TenantID
                }).SingleOrDefault();

                if (!productParam.IsDeleted)
                {
                    Guid ProductID   = productParam.ProductID;
                    Guid DiagnosisID = productParam.DiagnoseID;

                    if (existingProduct == null)
                    {
                        existingProduct = new ORM_HEC_DIA_RecommendedProduct();
                        existingProduct.HEC_DIA_RecommendedProductID = productParam.HEC_DIA_RecommendedProductID;
                        existingProduct.PotentialDiagnosis_RefID     = DiagnosisID;
                        existingProduct.HealthcareProduct_RefID      = ProductID;
                        existingProduct.IsDeleted    = false;
                        existingProduct.Tenant_RefID = securityTicket.TenantID;
                        existingProduct.Save(Connection, Transaction);
                    }
                    resultID.Add(existingProduct.HEC_DIA_RecommendedProductID);

                    foreach (var dosageParam in productParam.DosageList)
                    {
                        ORM_HEC_DIA_RecommendedProduct_Dosage existingDosage = ORM_HEC_DIA_RecommendedProduct_Dosage.Query.Search(Connection, Transaction, new ORM_HEC_DIA_RecommendedProduct_Dosage.Query
                        {
                            HEC_DIA_RecommendedProduct_DosageID = dosageParam.HEC_DIA_RecommendedProduct_DosageID,
                            IsDeleted    = false,
                            Tenant_RefID = securityTicket.TenantID
                        }).SingleOrDefault();
                        if (!dosageParam.IsDeleted)
                        {
                            if (existingDosage == null)
                            {
                                existingDosage = new ORM_HEC_DIA_RecommendedProduct_Dosage();
                                existingDosage.HEC_DIA_RecommendedProduct_DosageID = dosageParam.HEC_DIA_RecommendedProduct_DosageID;
                            }
                            existingDosage.IsDefault                = dosageParam.IsDefault;
                            existingDosage.Dosage_RefID             = dosageParam.Dosage_RefID;
                            existingDosage.RecommendedProduct_RefID = existingProduct.HEC_DIA_RecommendedProductID;
                            existingDosage.IsDeleted                = false;
                            existingDosage.Tenant_RefID             = securityTicket.TenantID;
                            existingDosage.Save(Connection, Transaction);
                        }
                        else if (existingDosage != null && dosageParam.IsDeleted)
                        {
                            existingDosage.IsDeleted = true;
                            existingDosage.Save(Connection, Transaction);
                        }
                    }
                }
                else
                {
                    ORM_HEC_DIA_RecommendedProduct_Dosage.Query.SoftDelete(Connection, Transaction, new ORM_HEC_DIA_RecommendedProduct_Dosage.Query
                    {
                        RecommendedProduct_RefID = existingProduct.HEC_DIA_RecommendedProductID,
                        IsDeleted    = false,
                        Tenant_RefID = securityTicket.TenantID
                    });
                    existingProduct.IsDeleted = true;
                    existingProduct.Save(Connection, Transaction);
                }
            }

            return(returnValue);

            #endregion UserCode
        }
コード例 #26
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_L5PR_UCRR_1631 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guids();
            //Put your code here

            var responsesToBeCancelled = ORM_ORD_CUO_RFP_IssuedProposalResponse_Header.Query.Search(Connection, Transaction,
                                                                                                    new ORM_ORD_CUO_RFP_IssuedProposalResponse_Header.Query()
            {
                CreatedFor_RequestForProposal_Header_RefID = Parameter.RequestHeaderID,
                IsDeleted    = false,
                Tenant_RefID = securityTicket.TenantID
            });

            foreach (var responseHeader in responsesToBeCancelled)
            {
                var responsePositionsToBeCancelled = ORM_ORD_CUO_RFP_IssuedProposalResponse_Position.Query.Search(Connection, Transaction,
                                                                                                                  new ORM_ORD_CUO_RFP_IssuedProposalResponse_Position.Query()
                {
                    IssuedProposalResponseHeader_RefID = responseHeader.ORD_CUO_RFP_IssuedProposalResponse_HeaderID,
                    IsDeleted    = false,
                    Tenant_RefID = securityTicket.TenantID
                });

                foreach (var responsePosition in responsePositionsToBeCancelled)
                {
                    responsePosition.IsDeleted = true;
                    responsePosition.Save(Connection, Transaction);
                }

                responseHeader.IsDeleted = true;
                responseHeader.Save(Connection, Transaction);
            }

            //set status to revoked
            var cancellingParameter = new P_L5PR_RPCC_1436();
            var cancellings         = new List <P_L5PR_RPCC_1436a>();
            cancellings.Add(new P_L5PR_RPCC_1436a()
            {
                HeaderID = Parameter.RequestHeaderID
            });
            cancellingParameter.Cancellings = cancellings.ToArray();
            var cancelledResponses = cls_RequestProposal_CustomerCancel.Invoke(Connection, Transaction, cancellingParameter, securityTicket).Result;

            var creationParameter = new P_L5PR_CCRR_1327();

            var positions   = new List <P_L5PR_CCRR_1327a>();
            var tempRequest = new P_L5PR_CCRR_1327a();
            tempRequest.RequestHeaderID        = Parameter.RequestHeaderID;
            tempRequest.RegisterdParticipantID = Parameter.RegisterdParticipantID;
            tempRequest.ValidThrough           = Parameter.ValidThrough;

            var creations = new List <P_L5PR_CCRR_1327aa>();

            foreach (var position in Parameter.RequestPositions.ToList())
            {
                var tempCreation = new P_L5PR_CCRR_1327aa();
                tempCreation.ProductID         = position.ProductID;
                tempCreation.Quantity          = position.Quantity;
                tempCreation.RequestPositionID = position.RequestPositionID;

                creations.Add(tempCreation);
                tempRequest.RequestPositions = creations.ToArray();
            }

            creationParameter.ProposalRequests = new List <P_L5PR_CCRR_1327a>()
            {
                tempRequest
            }.ToArray();
            var newCreatedResponses = cls_Create_CustomerRequestResponse.Invoke(Connection, Transaction, creationParameter, securityTicket).Result;

            returnValue.Result = newCreatedResponses;

            return(returnValue);

            #endregion UserCode
        }
コード例 #27
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_L5PR_CRP_1104 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode

            //Put your code here

            var requestProposalHeader = new CL1_ORD_PRC_RFP.ORM_ORD_PRC_RFP_RequestForProposal_Header();

            List <Tuple <Guid, double, DateTime> > saveParams = new List <Tuple <Guid, double, DateTime> >();
            for (int i = 0; i < Parameter.ProductIDs.Length; i++)
            {
                Tuple <Guid, double, DateTime> tempParam =
                    new Tuple <Guid, double, DateTime>(Parameter.ProductIDs[i], Parameter.Quantities[i], Parameter.DeliveryScheduleToDates[i]);
                saveParams.Add(tempParam);
            }

            #region Usefull commented

            //var productIDsList = Parameter.ProductIDs.ToList();
            //var positionsList = Parameter.ProposalPositionsIDs.ToList();

            //if (Parameter.ORD_PRC_RFO_RequestForProposal_HeaderID != Guid.Empty)
            //{
            //    requestProposalHeader.Load(Connection, Transaction, Parameter.ORD_PRC_RFO_RequestForProposal_HeaderID);
            //}
            //else
            //{
            //    requestProposalHeader.ORD_PRC_RFO_RequestForProposal_HeaderID = Guid.NewGuid();

            //    var incrNumberParam = new CL2_NumberRange.Complex.Retrieval.P_L2NR_GaIINfUA_1454()
            //    {
            //        GlobalStaticMatchingID = DLCore_DBCommons.Utils.EnumUtils.GetEnumDescription(DLCore_DBCommons.APODemand.ENumberRangeUsageAreaType.RequestProposalNumber)
            //    };

            //    var requestProposalNumber = CL2_NumberRange.Complex.Retrieval.
            //        cls_Get_and_Increase_IncreasingNumber_for_UsageArea.Invoke(Connection, Transaction, incrNumberParam, securityTicket).Result.Current_IncreasingNumber;
            //    requestProposalHeader.RequestForProposal_Number = requestProposalNumber;
            //    requestProposalHeader.Tenant_RefID = securityTicket.TenantID;
            //}

            #endregion

            #region BusinessParticipantsForTenant(temporary)

            List <Guid> participantIDs = new List <Guid>();
            participantIDs.Add(new Guid("05AA8199-18D9-4DEC-95D1-5266EB64F14D"));
            participantIDs.Add(new Guid("3AEF102F-006D-4B48-BA98-5AAE1E4330ED"));
            //var accountsQuery = new CL1_USR.ORM_USR_Account.Query();
            //accountsQuery.Tenant_RefID = securityTicket.TenantID;
            //accountsQuery.IsDeleted = false;
            //var foundAccounts = CL1_USR.ORM_USR_Account.Query.Search(Connection, Transaction, accountsQuery).ToList();
            //foreach (var account in foundAccounts)
            //{
            //    if (account.USR_AccountID != securityTicket.AccountID)
            //    {
            //        participantIDs.Add(account.BusinessParticipant_RefID);
            //    }
            //}

            #endregion

            var returnedGuids = new List <Guid>();

            foreach (var saveParam in saveParams)
            {
                var requestProposalPosition = new CL1_ORD_PRC_RFP.ORM_ORD_PRC_RFP_RequestForProposal_Position();

                #region CreateHeaderAndPosition

                requestProposalHeader.ORD_PRC_RFO_RequestForProposal_HeaderID = Guid.NewGuid();

                var incrNumberParam = new CL2_NumberRange.Complex.Retrieval.P_L2NR_GaIINfUA_1454()
                {
                    GlobalStaticMatchingID = DLCore_DBCommons.Utils.EnumUtils.GetEnumDescription(DLCore_DBCommons.APODemand.ENumberRangeUsageAreaType.PRCRequestProposalNumber)
                };

                var requestProposalNumber = CL2_NumberRange.Complex.Retrieval.
                                            cls_Get_and_Increase_IncreasingNumber_for_UsageArea.Invoke(Connection, Transaction, incrNumberParam, securityTicket).Result.Current_IncreasingNumber;

                requestProposalHeader.RequestForProposal_Number = requestProposalNumber;
                requestProposalHeader.Tenant_RefID = securityTicket.TenantID;
                requestProposalHeader.RequestForProposalHeaderITPL = requestProposalHeader.ORD_PRC_RFO_RequestForProposal_HeaderID.ToString();

                returnedGuids.Add(requestProposalHeader.ORD_PRC_RFO_RequestForProposal_HeaderID);

                requestProposalPosition.ORD_PRC_RFP_RequestForProposal_PositionID = Guid.NewGuid();
                requestProposalPosition.RequestForProposalPositionITPL            = requestProposalPosition.ORD_PRC_RFP_RequestForProposal_PositionID.ToString();
                requestProposalPosition.RequestForProposal_Header_RefID           = requestProposalHeader.ORD_PRC_RFO_RequestForProposal_HeaderID;
                requestProposalPosition.Tenant_RefID          = securityTicket.TenantID;
                requestProposalPosition.CMN_PRO_Product_RefID = saveParam.Item1;

                #region CommentedPossiblyUseful

                //if (saveParam.Item1 != Guid.Empty)
                //{
                //    #region LoadHeaderAndPosition

                //    requestProposalHeader.Load(Connection, Transaction, Parameter.ORD_PRC_RFO_RequestForProposal_HeaderID);
                //    requestProposalPosition.Load(Connection, Transaction, saveParam.Item1);

                //    #endregion
                //}
                //else
                //{

                //CL1_USR.ORM_USR_Account currentAccount = new CL1_USR.ORM_USR_Account();
                //currentAccount.Load(Connection, Transaction, securityTicket.AccountID);

                //var registeredBusinessParticipant = new CL1_ORD_PRC_RFP.ORM_ORD_PRC_RFP_RegisteredBusinessParticipant();
                //registeredBusinessParticipant.ORD_PRC_RFP_RegisteredBusinessParticipantID = Guid.NewGuid();
                //registeredBusinessParticipant.RequestForProposal_Header_RefID = requestProposalHeader.ORD_PRC_RFO_RequestForProposal_HeaderID;
                //registeredBusinessParticipant.CMN_BPT_BusinessParticipant_RefID = currentAccount.BusinessParticipant_RefID;
                //registeredBusinessParticipant.Tenant_RefID = securityTicket.TenantID;

                #endregion

                foreach (var id in participantIDs)
                {
                    //Creation of registered business participant
                    CL1_ORD_PRC_RFP.ORM_ORD_PRC_RFP_PotentialSupplier potentialSupplier = new CL1_ORD_PRC_RFP.ORM_ORD_PRC_RFP_PotentialSupplier();
                    potentialSupplier.CMN_BPT_BusinessParticipant_RefID = id;
                    potentialSupplier.ORD_PRC_RFP_PotentialSupplierID   = Guid.NewGuid();
                    potentialSupplier.RequestForProposal_Header_RefID   = requestProposalHeader.ORD_PRC_RFO_RequestForProposal_HeaderID;
                    potentialSupplier.Tenant_RefID = securityTicket.TenantID;
                    potentialSupplier.Save(Connection, Transaction);

                    CL1_ORD_PRC_RFP.ORM_ORD_PRC_RFP_PotentialSupplier_History history = new CL1_ORD_PRC_RFP.ORM_ORD_PRC_RFP_PotentialSupplier_History();
                    history.ORD_PRC_RFP_PotentialSupplier_HistoryID = Guid.NewGuid();
                    history.IsEvent_ProposalRequest_Sent            = true;
                    history.ORD_PRC_RFP_PotentialSupplier_RefID     = potentialSupplier.ORD_PRC_RFP_PotentialSupplierID;
                    history.Tenant_RefID = securityTicket.TenantID;
                    history.Save(Connection, Transaction);
                }

                requestProposalPosition.Quantity           = (saveParam.Item2 == 0.0) ? 1 : saveParam.Item2;
                requestProposalPosition.DeliveryUntillDate = (saveParam.Item3 == DateTime.MinValue) ? DateTime.Now : saveParam.Item3;

                requestProposalHeader.Save(Connection, Transaction);
                requestProposalPosition.Save(Connection, Transaction);
                #endregion
            }

            var returnValue = new FR_Guids();
            returnValue.Result = returnedGuids.ToArray();

            return(returnValue);

            #endregion UserCode
        }
コード例 #28
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_CAS_CMFSfPAID_1502 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            //Leave UserCode region to enable user code saving
            #region UserCode
            var returnValue = new FR_Guids();
            List <Submitted_Case_Model> submitted_cases = new List <Submitted_Case_Model>();

            // todo: update to support OCT
            foreach (var planned_action_id in Parameter.planned_action_ids)
            {
                var action_gpmid = cls_Get_PlannedActionType_GlobalPropertyMatchingID_for_PlannedActionID.Invoke(Connection, Transaction, new P_CAS_GPAGPMIDfPAID_1652()
                {
                    PlannedActionID = planned_action_id
                }, securityTicket).Result.GlobalPropertyMatchingID;
                var is_treatment = action_gpmid == EActionType.PlannedOperation.Value();
                var case_id      = Guid.Empty;
                if (is_treatment)
                {
                    ORM_HEC_ACT_PlannedAction.Query planned_actionQ = new ORM_HEC_ACT_PlannedAction.Query();
                    planned_actionQ.HEC_ACT_PlannedActionID = planned_action_id;
                    planned_actionQ.Tenant_RefID            = securityTicket.TenantID;
                    planned_actionQ.IsDeleted = false;
                    var planned_action = ORM_HEC_ACT_PlannedAction.Query.Search(Connection, Transaction, planned_actionQ).SingleOrDefault();
                    if (planned_action != null)
                    {
                        ORM_HEC_CAS_Case_RelevantPerformedAction.Query relevant_performed_actionQ = new ORM_HEC_CAS_Case_RelevantPerformedAction.Query();
                        relevant_performed_actionQ.PerformedAction_RefID = planned_action.IfPlannedFollowup_PreviousAction_RefID;
                        relevant_performed_actionQ.Tenant_RefID          = securityTicket.TenantID;
                        relevant_performed_actionQ.IsDeleted             = false;

                        var relevant_performed_action = ORM_HEC_CAS_Case_RelevantPerformedAction.Query.Search(Connection, Transaction, relevant_performed_actionQ).SingleOrDefault();
                        if (relevant_performed_action != null)
                        {
                            case_id = relevant_performed_action.Case_RefID;
                        }
                    }
                }
                else
                {
                    ORM_HEC_CAS_Case_RelevantPlannedAction.Query relevant_planned_actionQ = new ORM_HEC_CAS_Case_RelevantPlannedAction.Query();
                    relevant_planned_actionQ.PlannedAction_RefID = planned_action_id;
                    relevant_planned_actionQ.Tenant_RefID        = securityTicket.TenantID;
                    relevant_planned_actionQ.IsDeleted           = false;
                    var relevant_planned_action = ORM_HEC_CAS_Case_RelevantPlannedAction.Query.Search(Connection, Transaction, relevant_planned_actionQ).SingleOrDefault();
                    if (relevant_planned_action != null)
                    {
                        case_id = relevant_planned_action.Case_RefID;
                    }
                }

                var gpos_type = EGposType.Aftercare.Value();
                if (action_gpmid == EActionType.PlannedOperation.Value())
                {
                    gpos_type = EGposType.Operation.Value();
                }
                else if (action_gpmid == EActionType.PlannedOct.Value())
                {
                    gpos_type = EGposType.Oct.Value();
                }

                var all_bill_positions = cls_Get_BillPositionIDs_for_CaseID.Invoke(Connection, Transaction, new P_CAS_GBPIDsfCID_0928()
                {
                    CaseID = case_id
                }, securityTicket).Result;
                if (all_bill_positions.Any())
                {
                    List <CAS_GBPIDsfCID_0928> bill_positions_to_update = new List <CAS_GBPIDsfCID_0928>();
                    if (action_gpmid == EActionType.PlannedOperation.Value())
                    {
                        bill_positions_to_update = all_bill_positions.Where(t => t.gpos_type == gpos_type).ToList();
                    }
                    else if (action_gpmid == EActionType.PlannedOct.Value())
                    {
                        var oct_planned_action_type_id = cls_Get_ActionTypeID.Invoke(Connection, Transaction, new P_CAS_GATID_1514()
                        {
                            action_type_gpmid = EActionType.PlannedOct.Value()
                        }, securityTicket).Result;
                        var relevant_octs = cls_Get_RelevanActionIDs_for_CaseID_and_ActionTypeID.Invoke(Connection, Transaction, new P_CAS_GRAIDsfCIDaATID_1547()
                        {
                            CaseID       = case_id,
                            ActionTypeID = oct_planned_action_type_id
                        }, securityTicket).Result;

                        var index = -1;
                        for (int i = 0; i < relevant_octs.Length; i++)
                        {
                            if (relevant_octs[i].action_id == planned_action_id)
                            {
                                index = i;
                                break;
                            }
                        }

                        var bill_positions = all_bill_positions.Where(t => t.gpos_type == EGposType.Oct.Value()).ToList();
                        var bill_position  = bill_positions.Any() ? bill_positions[index] : bill_positions.First();
                        bill_positions_to_update.Add(bill_position);
                    }
                    else
                    {
                        var aftercare_planned_action_type_id = cls_Get_ActionTypeID.Invoke(Connection, Transaction, new P_CAS_GATID_1514()
                        {
                            action_type_gpmid = EActionType.PlannedAftercare.Value()
                        }, securityTicket).Result;
                        var relevant_aftercares = cls_Get_RelevanActionIDs_for_CaseID_and_ActionTypeID.Invoke(Connection, Transaction, new P_CAS_GRAIDsfCIDaATID_1547()
                        {
                            CaseID       = case_id,
                            ActionTypeID = aftercare_planned_action_type_id
                        }, securityTicket).Result;

                        var index = -1;
                        for (int i = 0; i < relevant_aftercares.Length; i++)
                        {
                            if (relevant_aftercares[i].action_id == planned_action_id)
                            {
                                index = i;
                                break;
                            }
                        }

                        var bill_positions = all_bill_positions.Where(t => t.gpos_type == EGposType.Aftercare.Value()).ToList();
                        var bill_position  = bill_positions.Any() ? bill_positions[index] : bill_positions.First();
                        bill_positions_to_update.Add(bill_position);

                        foreach (var other_bill_position in bill_positions)
                        {
                            var update_bill_position_status = false;

                            var any_covered_diagnoses = ORM_HEC_BIL_PotentialCode_2_PotentialDiagnosis.Query.Search(Connection, Transaction, new ORM_HEC_BIL_PotentialCode_2_PotentialDiagnosis.Query()
                            {
                                HEC_BIL_PotentialCode_RefID = other_bill_position.gpos_id,
                                Tenant_RefID = securityTicket.TenantID,
                                IsDeleted    = false
                            }).Any();

                            if (any_covered_diagnoses)
                            {
                                update_bill_position_status = ORM_HEC_BIL_PotentialCode_2_HealthcareProduct.Query.Search(Connection, Transaction, new ORM_HEC_BIL_PotentialCode_2_HealthcareProduct.Query()
                                {
                                    HEC_BIL_PotentialCode_RefID = other_bill_position.gpos_id,
                                    Tenant_RefID = securityTicket.TenantID,
                                    IsDeleted    = false
                                }).Any();
                            }
                            else
                            {
                                update_bill_position_status = true;
                            }

                            if (update_bill_position_status)
                            {
                                bill_positions_to_update.Add(other_bill_position);
                            }
                        }
                    }

                    foreach (var case_bill_position in bill_positions_to_update)
                    {
                        var gpos_management_fee_property_value = ORM_BIL_BillPosition_PropertyValue.Query.Search(Connection, Transaction, new ORM_BIL_BillPosition_PropertyValue.Query()
                        {
                            BIL_BillPosition_RefID = case_bill_position.bill_position_id,
                            Tenant_RefID           = securityTicket.TenantID,
                            IsDeleted   = false,
                            PropertyKey = "mm.doc.connect.management.fee"
                        }).SingleOrDefault();

                        if (gpos_management_fee_property_value == null)
                        {
                            gpos_management_fee_property_value = new ORM_BIL_BillPosition_PropertyValue();
                            gpos_management_fee_property_value.BIL_BillPosition_RefID = case_bill_position.bill_position_id;
                            gpos_management_fee_property_value.PropertyKey            = "mm.doc.connect.management.fee";
                            gpos_management_fee_property_value.Tenant_RefID           = securityTicket.TenantID;
                        }

                        gpos_management_fee_property_value.PropertyValue          = Parameter.is_management_fee_waived ? "waived" : "deducted";
                        gpos_management_fee_property_value.Modification_Timestamp = DateTime.Now;

                        gpos_management_fee_property_value.Save(Connection, Transaction);
                    }
                }

                var submitted_case = Get_Submitted_Cases.GetSubmittedCaseforSubmittedCaseID(planned_action_id.ToString(), securityTicket);
                submitted_case.management_pauschale = Parameter.is_management_fee_waived ? "waived" : "deducted";

                submitted_cases.Add(submitted_case);
            }

            Add_New_Submitted_Case.Import_Submitted_Case_Data_to_ElasticDB(submitted_cases, securityTicket.TenantID.ToString());

            return(returnValue);

            #endregion UserCode
        }
コード例 #29
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_CAS_SCfEC_1641 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guids();
            //Put your code here
            var case_to_submit = cls_Get_Case_Details_for_CaseID.Invoke(Connection, Transaction, new P_CAS_GCDfCID_1435()
            {
                CaseID = Parameter.case_id
            }, securityTicket).Result;
            if (case_to_submit != null)
            {
                var diagnose_details = cls_Get_Diagnose_Details_for_DiagnoseID.Invoke(Connection, Transaction, new P_CAS_GDDfDID_1608()
                {
                    DiagnoseID = case_to_submit.diagnose_id
                }, securityTicket).Result;
                var drug_details = cls_Get_Drug_Details_for_DrugID.Invoke(Connection, Transaction, new P_CAS_GDDfDID_1614()
                {
                    DrugID = case_to_submit.drug_id
                }, securityTicket).Result;
                var treatment_doctor_details = cls_Get_Doctor_Details_for_DoctorID.Invoke(Connection, Transaction, new P_DO_GDDfDID_0823()
                {
                    DoctorID = case_to_submit.op_doctor_id
                }, securityTicket).Result.SingleOrDefault();
                var oct_doctor_details = cls_Get_Doctor_Details_for_DoctorID.Invoke(Connection, Transaction, new P_DO_GDDfDID_0823()
                {
                    DoctorID = case_to_submit.oct_doctor_id
                }, securityTicket).Result.SingleOrDefault();
                var patient_details = cls_Get_Patient_Details_for_PatientID.Invoke(Connection, Transaction, new P_P_PA_GPDfPID_1124()
                {
                    PatientID = case_to_submit.patient_id
                }, securityTicket).Result;
                var aftercare_doctor_details = cls_Get_Doctor_Details_for_DoctorID.Invoke(Connection, Transaction, new P_DO_GDDfDID_0823()
                {
                    DoctorID = case_to_submit.ac_doctor_id
                }, securityTicket).Result.SingleOrDefault();
                var treatment_practice_details = cls_Get_Practice_Details_for_PracticeID.Invoke(Connection, Transaction, new P_DO_GPDfPID_1432()
                {
                    PracticeID = case_to_submit.practice_id
                }, securityTicket).Result.FirstOrDefault();
                var status_ids = cls_Get_Case_TransmitionStatusIDs_for_CaseID_and_StatusCode.Invoke(Connection, Transaction, new P_CAS_GCTSIDsfCIDaSC_1619()
                {
                    CaseID = Parameter.case_id, StatusCode = 5
                }, securityTicket).Result;

                var transmition_statusQ = new ORM_BIL_BillPosition_TransmitionStatus.Query();
                transmition_statusQ.Tenant_RefID = securityTicket.TenantID;
                transmition_statusQ.IsDeleted    = false;
                var result = new List <Guid>();

                var status_key = "aftercare";
                if (Parameter.action_type == "op")
                {
                    status_key = "treatment";
                }
                else if (Parameter.action_type == "oct")
                {
                    status_key = "oct";
                }

                if (status_key == "oct")
                {
                    var relevant_action = ORM_HEC_CAS_Case_RelevantPlannedAction.Query.Search(Connection, Transaction, new ORM_HEC_CAS_Case_RelevantPlannedAction.Query()
                    {
                        PlannedAction_RefID = Parameter.planned_action_id,
                        Tenant_RefID        = securityTicket.TenantID,
                        IsDeleted           = false
                    }).Single();

                    if (relevant_action.Case_RefID != Parameter.case_id)
                    {
                        Parameter.case_id = relevant_action.Case_RefID;
                    }

                    var oct_status_ids = cls_Get_Case_TransmitionStatusIDs_for_PatientID_and_StatusCode.Invoke(Connection, Transaction, new P_CAS_GCTSIDsfPIDaSC_1859()
                    {
                        PatientID = case_to_submit.patient_id, StatusCode = 5
                    }, securityTicket).Result;

                    var all_case_status_ids = cls_Get_Case_TransmitionStatusIDs_for_PatientID.Invoke(Connection, Transaction, new P_CAS_GCTSIDsfPID_1856()
                    {
                        PatientID = case_to_submit.patient_id
                    }, securityTicket).Result.Where(t => t.status_key == "oct").ToArray();
                    var new_status_ids             = new List <CAS_GCTSIDsfPIDaSC_1859>();
                    var oct_planned_action_type_id = cls_Get_ActionTypeID.Invoke(Connection, Transaction, new P_CAS_GATID_1514()
                    {
                        action_type_gpmid = EActionType.PlannedOct.Value()
                    }, securityTicket).Result;

                    var case_relevant_actions = cls_Get_PlannedActionIDs_for_PatientID_and_ActionTypeID.Invoke(Connection, Transaction, new P_CAS_GPAIDsfPIDaATID_1705()
                    {
                        ActionTypeID = oct_planned_action_type_id,
                        PatientID    = case_to_submit.patient_id
                    }, securityTicket).Result.Where(t => t.performed).ToList();

                    var case_bill_positions = cls_Get_BillPositionIDs_for_PatientID_and_GposType.Invoke(Connection, Transaction, new P_CAS_GBPIDsfPIDaGposT_1709()
                    {
                        PatientID = case_to_submit.patient_id,
                        GposType  = EGposType.Oct.Value()
                    }, securityTicket).Result.Where(t => t.status_id != Guid.Empty).ToList();

                    for (var i = 0; i < case_relevant_actions.Count; i++)
                    {
                        if (case_relevant_actions[i].action_id == Parameter.planned_action_id)
                        {
                            var status        = all_case_status_ids.Single(t => t.bill_position_id == case_bill_positions[i].bill_position_id);
                            var status_to_add = oct_status_ids.Single(t => t.bill_position_id == status.bill_position_id);
                            new_status_ids.Add(status_to_add);
                            break;
                        }
                    }

                    if (!new_status_ids.Any())
                    {
                        throw new ArgumentException(String.Format("No suitable bill position found for action id: {0}; and case id: {1}", Parameter.planned_action_id, Parameter.case_id));
                    }

                    status_ids = new_status_ids.Select(t => new CAS_GCTSIDsfCIDaSC_1619()
                    {
                        bill_position_id            = t.bill_position_id,
                        global_property_matching_id = t.global_property_matching_id,
                        status_id  = t.status_id,
                        status_key = t.status_key
                    }).ToArray();
                }

                foreach (var status in status_ids)
                {
                    if (status.status_key == status_key)
                    {
                        transmition_statusQ.BIL_BillPosition_TransmitionStatusID = status.status_id;
                        var transmition_status = ORM_BIL_BillPosition_TransmitionStatus.Query.Search(Connection, Transaction, transmition_statusQ).SingleOrDefault();
                        if (transmition_status != null)
                        {
                            transmition_status.IsActive = false;
                            transmition_status.Save(Connection, Transaction);

                            var new_status = new ORM_BIL_BillPosition_TransmitionStatus();
                            new_status.PrimaryComment  = Parameter.comment;
                            new_status.TransmitionCode = 6;
                            new_status.IsActive        = true;
                            new_status.BIL_BillPosition_TransmitionStatusID = Guid.NewGuid();
                            new_status.BillPosition_RefID     = status.bill_position_id;
                            new_status.Creation_Timestamp     = DateTime.Now;
                            new_status.Modification_Timestamp = DateTime.Now;
                            new_status.Tenant_RefID           = securityTicket.TenantID;
                            new_status.TransmitionStatusKey   = transmition_status.TransmitionStatusKey;

                            var today = DateTime.Today;
                            var age   = today.Year - patient_details.birthday.Year;
                            if (patient_details.birthday > today.AddYears(-age))
                            {
                                age--;
                            }

                            var snapshot = cls_Create_XML_for_Immutable_Fields.Invoke(Connection, Transaction, new P_CAS_CXFIF_0830()
                            {
                                DiagnosisCatalogCode             = diagnose_details == null ? "-" : diagnose_details.diagnose_icd_10,
                                DiagnosisCatalogName             = diagnose_details == null ? "-" : diagnose_details.catalog_display_name,
                                DiagnosisName                    = diagnose_details == null ? "-" : diagnose_details.diagnose_name,
                                IFPerformedMedicalPracticeName   = treatment_practice_details.practice_name,
                                IFPerformedResponsibleBPFullName = treatment_doctor_details != null ? MMDocConnectDocApp.GenericUtils.GetDoctorName(treatment_doctor_details) : null,
                                Localization     = case_to_submit.localization,
                                PatientBirthDate = patient_details.birthday.ToString("dd.MM.yyyy"),
                                PatientFirstName = patient_details.patient_first_name,
                                PatientGender    = patient_details.gender.ToString(),
                                PatientLastName  = patient_details.patient_last_name,
                                PatientAge       = age.ToString()
                            }, securityTicket).Result;

                            if (snapshot != null)
                            {
                                new_status.TransmissionDataXML = snapshot.XmlFileString;
                            }

                            new_status.TransmittedOnDate = DateTime.Now;

                            new_status.Save(Connection, Transaction);

                            result.Add(new_status.BIL_BillPosition_TransmitionStatusID);
                        }
                    }
                }

                #region IMPORT SUBMITTED CASE TO ELASTIC
                var submitted_case_model_elastic = Get_Submitted_Cases.GetSubmittedCaseforSubmittedCaseID(Parameter.planned_action_id.ToString(), securityTicket);
                submitted_case_model_elastic.status             = "FS6";
                submitted_case_model_elastic.status_date        = DateTime.Now;
                submitted_case_model_elastic.status_date_string = DateTime.Now.ToString("dd.MM.yyyy");

                var cases_to_submit = new List <Submitted_Case_Model>();
                cases_to_submit.Add(submitted_case_model_elastic);

                Add_New_Submitted_Case.Import_Submitted_Case_Data_to_ElasticDB(cases_to_submit, securityTicket.TenantID.ToString());
                #endregion

                #region IMPORT SETTLEMENT TO ELASTIC
                var doctor_name = default(string);
                switch (Parameter.action_type)
                {
                case "op":
                    if (treatment_doctor_details != null)
                    {
                        doctor_name = GenericUtils.GetDoctorName(treatment_doctor_details);
                    }
                    break;

                case "ac":
                    if (aftercare_doctor_details != null)
                    {
                        doctor_name = GenericUtils.GetDoctorName(aftercare_doctor_details);
                    }
                    break;

                case "oct":
                    if (oct_doctor_details != null)
                    {
                        doctor_name = GenericUtils.GetDoctorName(oct_doctor_details);
                    }
                    break;
                }

                var settlement = Get_Settlement.GetSettlementForID(Parameter.planned_action_id.ToString(), securityTicket);
                settlement.status = "FS6";
                if (!String.IsNullOrEmpty(doctor_name))
                {
                    settlement.doctor = doctor_name;
                }

                settlement.patient_full_name = patient_details.patient_last_name + ", " + patient_details.patient_first_name;
                settlement.first_name        = patient_details.patient_first_name;
                settlement.last_name         = patient_details.patient_last_name;

                var settlements = new List <Settlement_Model>()
                {
                    settlement
                };
                Add_new_Settlement.Import_Settlement_to_ElasticDB(settlements, securityTicket.TenantID.ToString());

                var patientDetailList = new List <PatientDetailViewModel>();
                var patient_detail    = Retrieve_Patients.Get_PatientDetaiForID(settlement.id, securityTicket);
                if (patient_detail != null)
                {
                    patient_detail.doctor = doctor_name;
                    patient_detail.status = settlement.status;
                    patientDetailList.Add(patient_detail);
                    Add_New_Patient.ImportPatientDetailsToElastic(patientDetailList, securityTicket.TenantID.ToString());
                }
                #endregion

                returnValue.Result = result.ToArray();
            }

            return(returnValue);

            #endregion UserCode
        }
コード例 #30
0
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_CAS_CCGPOS_1000 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var  returnValue = new FR_Guids();
            Guid treatment_performed_action_type_id = Guid.Empty;
            var  resultList = new List <Guid>();

            var treatment_performed_action_type = ORM_HEC_ACT_ActionType.Query.Search(Connection, Transaction, new ORM_HEC_ACT_ActionType.Query()
            {
                Tenant_RefID             = securityTicket.TenantID,
                IsDeleted                = false,
                GlobalPropertyMatchingID = "mm.docconect.doc.app.performed.action.treatment"
            }).SingleOrDefault();

            if (treatment_performed_action_type == null)
            {
                treatment_performed_action_type = new ORM_HEC_ACT_ActionType();
                treatment_performed_action_type.GlobalPropertyMatchingID = "mm.docconect.doc.app.performed.action.treatment";
                treatment_performed_action_type.Creation_Timestamp       = DateTime.Now;
                treatment_performed_action_type.Modification_Timestamp   = DateTime.Now;
                treatment_performed_action_type.Tenant_RefID             = securityTicket.TenantID;

                treatment_performed_action_type.Save(Connection, Transaction);

                treatment_performed_action_type_id = treatment_performed_action_type.HEC_ACT_ActionTypeID;
            }
            else
            {
                treatment_performed_action_type_id = treatment_performed_action_type.HEC_ACT_ActionTypeID;
            }

            var treatment_count = cls_Get_Treatment_Count_for_PatientID_And_DiagnoseID_and_LocalizationCode.Invoke(Connection, Transaction, new P_CAS_GTCfPIDaDIDaLC_1008()
            {
                ActionTypeID     = treatment_performed_action_type_id,
                DiagnoseID       = Parameter.diagnose_id,
                PatientID        = Parameter.patient_id,
                LocalizationCode = Parameter.localization,
                PerformedDate    = Parameter.treatment_date == DateTime.MinValue ? DateTime.Now : Parameter.treatment_date
            }, securityTicket).Result;

            if (treatment_count != null)
            {
                treatment_count.treatment_count++;

                var contracts = cls_Get_InsuranceToBrokerContractID_for_DrugID_and_DiagnoseID.Invoke(Connection, Transaction, new P_CAS_GItBCIDfDIDaDID_1541()
                {
                    DiagnoseID    = Parameter.diagnose_id,
                    DrugID        = Parameter.drug_id,
                    PatientID     = Parameter.patient_id,
                    TreatmentDate = DateTime.Now
                }, securityTicket).Result.OrderBy(ctr => ctr.patient_consent_valid_from);

                var contract    = contracts.LastOrDefault(ctr => ctr.patient_consent_valid_from.Date <= Parameter.treatment_date);
                var contract_id = Guid.Empty;
                if (contract == null)
                {
                    if (contracts.Any())
                    {
                        contract = contracts.Last();
                    }
                    else
                    {
                        var hip = cls_Get_Patient_Insurance_Data_for_PatientIDs.Invoke(Connection, Transaction, new P_PA_GPIDfPIDs_1002()
                        {
                            PatientIDs = new Guid[] { Parameter.patient_id }
                        }, securityTicket).Result.First();
                        contract_id = cls_Get_Contracts_Where_Hip_Participating_for_HipID.Invoke(Connection, Transaction, new P_PA_GCwHipPfHipID_0954()
                        {
                            HipIkNumber = hip.HipIkNumber
                        }, securityTicket).Result.Last().ContractID;
                    }
                }
                else
                {
                    contract_id = contract.contract_id;
                }

                if (!Parameter.should_update)
                {
                    var gpos_details = cls_Get_All_GPOS_Details_for_ContractID.Invoke(Connection, Transaction, new P_CAS_GAGPOSDfCID_1754()
                    {
                        ContractID = contract_id
                    }, securityTicket).Result;

                    if (gpos_details.Length != 0)
                    {
                        var gpos_types = new List <string>();

                        if (Parameter.oct_doctor_id != Guid.Empty)
                        {
                            gpos_types.Add(EGposType.Oct.Value());
                            if (Parameter.treatment_doctor_id == Guid.Empty && Parameter.ac_doctor_id != Guid.Empty)
                            {
                                gpos_types.Add(EGposType.Aftercare.Value());
                            }
                        }
                        else
                        {
                            if (Parameter.treatment_doctor_id == Guid.Empty && Parameter.ac_doctor_id != Guid.Empty)
                            {
                                gpos_types.Add(EGposType.Aftercare.Value());
                            }
                            else if (Parameter.diagnose_id != Guid.Empty)
                            {
                                gpos_types.Add(EGposType.Operation.Value());
                                gpos_types.Add(EGposType.Aftercare.Value());
                            }
                        }

                        foreach (var gpos_type in gpos_types)
                        {
                            foreach (var gpos_detail in gpos_details.Where(t => t.GposType == gpos_type))
                            {
                                var covered_drugs = ORM_HEC_BIL_PotentialCode_2_HealthcareProduct.Query.Search(Connection, Transaction, new ORM_HEC_BIL_PotentialCode_2_HealthcareProduct.Query()
                                {
                                    HEC_BIL_PotentialCode_RefID = gpos_detail.GposID,
                                    Tenant_RefID = securityTicket.TenantID,
                                    IsDeleted    = false
                                }).Select(covered_drug => covered_drug.HEC_Product_RefID);

                                var covered_diagnoses = ORM_HEC_BIL_PotentialCode_2_PotentialDiagnosis.Query.Search(Connection, Transaction, new ORM_HEC_BIL_PotentialCode_2_PotentialDiagnosis.Query()
                                {
                                    HEC_BIL_PotentialCode_RefID = gpos_detail.GposID,
                                    Tenant_RefID = securityTicket.TenantID,
                                    IsDeleted    = false
                                }).Select(covered_diagnose => covered_diagnose.HEC_DIA_PotentialDiagnosis_RefID);

                                var drug_condition     = covered_drugs.Any() ? covered_drugs.Any(t => t == Parameter.drug_id) : true;
                                var diagnose_condition = covered_diagnoses.Any() ? covered_diagnoses.Any(t => t == Parameter.diagnose_id) : true;

                                bool treatment_count_condition = gpos_detail.FromInjection > 1000000;

                                if (covered_drugs.Any() && covered_diagnoses.Any())
                                {
                                    var gpos_details_for_drug_diagnose_combo = cls_Get_GPOS_Details_for_DiagnoseID_and_DrugID.Invoke(Connection, Transaction, new P_CAS_GGPOSDfDIDaDID_1033()
                                    {
                                        ContractID = contract_id,
                                        DiagnoseID = Parameter.diagnose_id,
                                        DrugID     = Parameter.drug_id
                                    }, securityTicket).Result;

                                    treatment_count_condition = treatment_count.treatment_count >= gpos_detail.FromInjection &&
                                                                !gpos_details_for_drug_diagnose_combo.Any(gpos => treatment_count.treatment_count >= gpos.injection_from && gpos.injection_from > gpos_detail.FromInjection && gpos.gpos_type == gpos_type);
                                }

                                var gpos_condition = drug_condition && diagnose_condition && treatment_count_condition;

                                if (gpos_condition)
                                {
                                    ORM_BIL_BillPosition gpos_position = new ORM_BIL_BillPosition();
                                    gpos_position.BIL_BilHeader_RefID        = Guid.Empty;
                                    gpos_position.BIL_BillPositionID         = Guid.NewGuid();
                                    gpos_position.Creation_Timestamp         = DateTime.Now;
                                    gpos_position.Modification_Timestamp     = DateTime.Now;
                                    gpos_position.Tenant_RefID               = securityTicket.TenantID;
                                    gpos_position.PositionValue_IncludingTax = Convert.ToDecimal(gpos_detail.GposPrice);

                                    gpos_position.Save(Connection, Transaction);

                                    resultList.Add(gpos_position.BIL_BillPositionID);

                                    ORM_HEC_BIL_BillPosition hec_gpos_position = new ORM_HEC_BIL_BillPosition();
                                    hec_gpos_position.Creation_Timestamp         = DateTime.Now;
                                    hec_gpos_position.Ext_BIL_BillPosition_RefID = gpos_position.BIL_BillPositionID;
                                    hec_gpos_position.HEC_BIL_BillPositionID     = Guid.NewGuid();
                                    hec_gpos_position.Modification_Timestamp     = DateTime.Now;
                                    hec_gpos_position.Tenant_RefID = securityTicket.TenantID;
                                    hec_gpos_position.PositionFor_Patient_RefID = Parameter.patient_id;

                                    hec_gpos_position.Save(Connection, Transaction);

                                    ORM_HEC_BIL_BillPosition_BillCode hec_gpos_position_code = new ORM_HEC_BIL_BillPosition_BillCode();
                                    hec_gpos_position_code.BillPosition_RefID = hec_gpos_position.HEC_BIL_BillPositionID;
                                    hec_gpos_position_code.Creation_Timestamp = DateTime.Now;
                                    hec_gpos_position_code.HEC_BIL_BillPosition_BillCodeID = Guid.NewGuid();
                                    hec_gpos_position_code.IM_BillingCode         = gpos_detail.GposNumber;
                                    hec_gpos_position_code.Modification_Timestamp = DateTime.Now;
                                    hec_gpos_position_code.PotentialCode_RefID    = gpos_detail.GposID;
                                    hec_gpos_position_code.Tenant_RefID           = securityTicket.TenantID;

                                    hec_gpos_position_code.Save(Connection, Transaction);

                                    ORM_HEC_CAS_Case_BillCode hec_gpos_case_code = new ORM_HEC_CAS_Case_BillCode();
                                    hec_gpos_case_code.Creation_Timestamp = DateTime.Now;
                                    hec_gpos_case_code.HEC_BIL_BillPosition_BillCode_RefID = hec_gpos_position_code.HEC_BIL_BillPosition_BillCodeID;
                                    hec_gpos_case_code.HEC_CAS_Case_BillCodeID             = Guid.NewGuid();
                                    hec_gpos_case_code.HEC_CAS_Case_RefID     = Parameter.case_id;
                                    hec_gpos_case_code.Modification_Timestamp = DateTime.Now;
                                    hec_gpos_case_code.Tenant_RefID           = securityTicket.TenantID;

                                    hec_gpos_case_code.Save(Connection, Transaction);
                                }
                            }
                        }
                    }
                }
                else
                {
                    // TODO: fix update - beva -> no beva and such
                    var bill_position_ids = cls_Get_BillPositionIDs_for_CaseID.Invoke(Connection, Transaction, new P_CAS_GBPIDsfCID_0928()
                    {
                        CaseID = Parameter.case_id
                    }, securityTicket).Result;
                    var gpos_details = cls_Get_GPOS_Details_for_DiagnoseID_and_DrugID.Invoke(Connection, Transaction, new P_CAS_GGPOSDfDIDaDID_1033()
                    {
                        ContractID = contract_id,
                        DiagnoseID = Parameter.diagnose_id,
                        DrugID     = Parameter.drug_id
                    }, securityTicket).Result;

                    if (gpos_details.Length != 0 && bill_position_ids.Length != 0)
                    {
                        bill_position_ids = bill_position_ids.Where(bp => ORM_HEC_BIL_PotentialCode_2_HealthcareProduct.Query.Search(Connection, Transaction, new ORM_HEC_BIL_PotentialCode_2_HealthcareProduct.Query()
                        {
                            HEC_BIL_PotentialCode_RefID = bp.gpos_id,
                            Tenant_RefID = securityTicket.TenantID,
                            IsDeleted    = false
                        }).Count != 0 &&
                                                                    ORM_HEC_BIL_PotentialCode_2_PotentialDiagnosis.Query.Search(Connection, Transaction, new ORM_HEC_BIL_PotentialCode_2_PotentialDiagnosis.Query()
                        {
                            HEC_BIL_PotentialCode_RefID = bp.gpos_id,
                            Tenant_RefID = securityTicket.TenantID,
                            IsDeleted    = false
                        }).Count != 0).ToArray();

                        foreach (var id in bill_position_ids)
                        {
                            foreach (var gpos_detail in gpos_details)
                            {
                                if (id.gpos_type == gpos_detail.gpos_type)
                                {
                                    if (treatment_count.treatment_count >= gpos_detail.injection_from &&
                                        !gpos_details.Any(gpos => treatment_count.treatment_count >= gpos.injection_from && gpos.injection_from > gpos_detail.injection_from && gpos.gpos_type == id.gpos_type))
                                    {
                                        ORM_BIL_BillPosition.Query old_gpos_positionQ = new ORM_BIL_BillPosition.Query();
                                        old_gpos_positionQ.BIL_BillPositionID = id.bill_position_id;
                                        old_gpos_positionQ.Tenant_RefID       = securityTicket.TenantID;
                                        old_gpos_positionQ.IsDeleted          = false;

                                        var old_gpos_position = ORM_BIL_BillPosition.Query.Search(Connection, Transaction, old_gpos_positionQ).SingleOrDefault();
                                        if (old_gpos_position != null)
                                        {
                                            old_gpos_position.Modification_Timestamp     = DateTime.Now;
                                            old_gpos_position.PositionValue_IncludingTax = Convert.ToDecimal(gpos_detail.gpos_price);

                                            old_gpos_position.Save(Connection, Transaction);

                                            ORM_HEC_BIL_BillPosition.Query old_hec_gpos_positionQ = new ORM_HEC_BIL_BillPosition.Query();
                                            old_hec_gpos_positionQ.Ext_BIL_BillPosition_RefID = old_gpos_position.BIL_BillPositionID;
                                            old_hec_gpos_positionQ.Tenant_RefID = securityTicket.TenantID;
                                            old_hec_gpos_positionQ.PositionFor_Patient_RefID = Parameter.patient_id;
                                            old_hec_gpos_positionQ.IsDeleted = false;

                                            var old_hec_gpos_position = ORM_HEC_BIL_BillPosition.Query.Search(Connection, Transaction, old_hec_gpos_positionQ).SingleOrDefault();
                                            if (old_hec_gpos_position != null)
                                            {
                                                ORM_HEC_BIL_BillPosition_BillCode.Query old_hec_gpos_position_codeQ = new ORM_HEC_BIL_BillPosition_BillCode.Query();
                                                old_hec_gpos_position_codeQ.Tenant_RefID       = securityTicket.TenantID;
                                                old_hec_gpos_position_codeQ.BillPosition_RefID = old_hec_gpos_position.HEC_BIL_BillPositionID;
                                                old_hec_gpos_position_codeQ.IsDeleted          = false;

                                                var old_hec_gpos_position_code = ORM_HEC_BIL_BillPosition_BillCode.Query.Search(Connection, Transaction, old_hec_gpos_position_codeQ).SingleOrDefault();
                                                if (old_hec_gpos_position_code != null)
                                                {
                                                    old_hec_gpos_position_code.IM_BillingCode         = gpos_detail.gpos_code;
                                                    old_hec_gpos_position_code.Modification_Timestamp = DateTime.Now;
                                                    old_hec_gpos_position_code.PotentialCode_RefID    = gpos_detail.gpos_id;

                                                    old_hec_gpos_position_code.Save(Connection, Transaction);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            returnValue.Result = resultList.ToArray();
            return(returnValue);

            #endregion UserCode
        }