Ejemplo n.º 1
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5DI_SDC_1032 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guid();
            //get languages for Tenant
            P_L2LN_GALFTID_1530 langParam = new P_L2LN_GALFTID_1530();
            langParam.Tenant_RefID = securityTicket.TenantID;
            var DBLanguages = cls_Get_All_Languages_ForTenantID.Invoke(Connection, Transaction, langParam, securityTicket).Result;

            #region Save
            if (Parameter.CatalogID == Guid.Empty || Parameter.CatalogID == null)
            {
                ORM_HEC_DIA_PotentialDiagnosis_Catalog catalog = new ORM_HEC_DIA_PotentialDiagnosis_Catalog();
                catalog.HEC_DIA_PotentialDiagnosis_CatalogID = Guid.NewGuid();
                catalog.Creation_Timestamp       = DateTime.Now;
                catalog.IsPrivateCatalog         = Parameter.IsPrivateCatalog;
                catalog.Tenant_RefID             = securityTicket.TenantID;
                catalog.GlobalPropertyMatchingID = Parameter.Catalog_Name;
                catalog.Catalog_DisplayName      = Parameter.Catalog_Name;

                Dict Catalogname = new Dict("hec_dia_potentialdiagnosis_catalogs");
                for (int i = 0; i < DBLanguages.Length; i++)
                {
                    Catalogname.AddEntry(DBLanguages[i].CMN_LanguageID, Parameter.Catalog_Name);
                }
                catalog.Catalog_Name = Catalogname;
                catalog.Save(Connection, Transaction);
            }
            #endregion
            else
            {
                //Delete
                if (Parameter.isDeleted)
                {
                    var catalogQuery = new ORM_HEC_DIA_PotentialDiagnosis_Catalog.Query();
                    catalogQuery.HEC_DIA_PotentialDiagnosis_CatalogID = Parameter.CatalogID;
                    catalogQuery.IsDeleted    = false;
                    catalogQuery.Tenant_RefID = securityTicket.TenantID;

                    var catalog = ORM_HEC_DIA_PotentialDiagnosis_Catalog.Query.Search(Connection, Transaction, catalogQuery).Single();
                    catalog.IsDeleted = true;
                    catalog.Save(Connection, Transaction);

                    //Delete catalog products table
                    var catalogCodeQuery = new ORM_HEC_DIA_PotentialDiagnosis_CatalogCode.Query();
                    catalogCodeQuery.IsDeleted = false;
                    catalogCodeQuery.PotentialDiagnosis_Catalog_RefID = catalog.HEC_DIA_PotentialDiagnosis_CatalogID;
                    catalogCodeQuery.Tenant_RefID = securityTicket.TenantID;

                    ORM_HEC_DIA_PotentialDiagnosis_CatalogCode.Query.SoftDelete(Connection, Transaction, catalogCodeQuery);
                }
                //Edit
                else
                {
                    var catalogQuery = new ORM_HEC_DIA_PotentialDiagnosis_Catalog.Query();
                    catalogQuery.IsDeleted = false;
                    catalogQuery.HEC_DIA_PotentialDiagnosis_CatalogID = Parameter.CatalogID;
                    catalogQuery.Tenant_RefID = securityTicket.TenantID;

                    var catalog = ORM_HEC_DIA_PotentialDiagnosis_Catalog.Query.Search(Connection, Transaction, catalogQuery).Single();
                    catalog.GlobalPropertyMatchingID = Parameter.Catalog_Name;
                    catalog.Catalog_DisplayName      = Parameter.Catalog_Name;
                    catalog.IsPrivateCatalog         = Parameter.IsPrivateCatalog;

                    Dict Catalogname = new Dict("hec_dia_potentialdiagnosis_catalogs");
                    for (int i = 0; i < DBLanguages.Length; i++)
                    {
                        Catalogname.AddEntry(DBLanguages[i].CMN_LanguageID, Parameter.Catalog_Name);
                    }
                    catalog.Catalog_Name = Catalogname;
                    catalog.Save(Connection, Transaction);
                }
            }
            return(returnValue);

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

            returnValue.Result = Parameter.Select(diag =>
            {
                var diagnose = cls_Get_DiagnoseID_for_ICD10_and_DiagnoseName.Invoke(Connection, Transaction, new P_MD_GDIDfDN_1408()
                {
                    DiagnoseICD10             = diag.DiagnoseICD10,
                    DiagnoseNameWithoutSpaces = diag.DiagnoseName.Replace(((char)32).ToString(), string.Empty).Replace(((char)160).ToString(), string.Empty)
                }, securityTicket).Result;

                if (diagnose != null)
                {
                    return(diagnose.DiagnoseID);
                }
                else
                {
                    Dict DiagnoseName = new Dict(ORM_HEC_DIA_PotentialDiagnosis.TableName);
                    for (int i = 0; i < allLanguages.Count; i++)
                    {
                        DiagnoseName.AddEntry(allLanguages[i].CMN_LanguageID, diag.DiagnoseName);
                    }

                    Dict CatalogName = new Dict(ORM_HEC_DIA_PotentialDiagnosis_Catalog.TableName);
                    for (int i = 0; i < allLanguages.Count; i++)
                    {
                        CatalogName.AddEntry(allLanguages[i].CMN_LanguageID, "ICD-10");
                    }

                    var newDiagnose = new ORM_HEC_DIA_PotentialDiagnosis();
                    newDiagnose.PotentialDiagnosis_Name = DiagnoseName;
                    newDiagnose.IsDeleted                    = false;
                    newDiagnose.Tenant_RefID                 = securityTicket.TenantID;
                    newDiagnose.Creation_Timestamp           = DateTime.Now;
                    newDiagnose.Modification_Timestamp       = DateTime.Now;
                    newDiagnose.HEC_DIA_PotentialDiagnosisID = Guid.NewGuid();

                    newDiagnose.Save(Connection, Transaction);

                    var newDiagnoseCatalog                    = new ORM_HEC_DIA_PotentialDiagnosis_Catalog();
                    newDiagnoseCatalog.IsDeleted              = false;
                    newDiagnoseCatalog.Catalog_DisplayName    = "ICD-10";
                    newDiagnoseCatalog.Tenant_RefID           = securityTicket.TenantID;
                    newDiagnoseCatalog.Creation_Timestamp     = DateTime.Now;
                    newDiagnoseCatalog.Modification_Timestamp = DateTime.Now;
                    newDiagnoseCatalog.HEC_DIA_PotentialDiagnosis_CatalogID = Guid.NewGuid();
                    newDiagnoseCatalog.Catalog_Name = CatalogName;

                    newDiagnoseCatalog.Save(Connection, Transaction);

                    var newDiagnose2CatalogCode                              = new ORM_HEC_DIA_PotentialDiagnosis_CatalogCode();
                    newDiagnose2CatalogCode.IsDeleted                        = false;
                    newDiagnose2CatalogCode.Tenant_RefID                     = securityTicket.TenantID;
                    newDiagnose2CatalogCode.Creation_Timestamp               = DateTime.Now;
                    newDiagnose2CatalogCode.Modification_Timestamp           = DateTime.Now;
                    newDiagnose2CatalogCode.PotentialDiagnosis_RefID         = newDiagnose.HEC_DIA_PotentialDiagnosisID;
                    newDiagnose2CatalogCode.PotentialDiagnosis_Catalog_RefID = newDiagnoseCatalog.HEC_DIA_PotentialDiagnosis_CatalogID;
                    newDiagnose2CatalogCode.Code                             = diag.DiagnoseICD10;

                    newDiagnose2CatalogCode.Save(Connection, Transaction);

                    return(newDiagnose.HEC_DIA_PotentialDiagnosisID);
                }
            }).ToArray();

            return(returnValue);

            #endregion UserCode
        }