Example #1
0
        ///<summary>
        /// Save Communication Contact Type for current Tenant (from SessionSecurityTicket)
        ///<summary>
        private static Guid Save_CommunityRoleForTenant(DbConnection Connection, DbTransaction Transaction, String contactType, Guid communityID, SessionSecurityTicket securityTicket)
        {
            var allContactTypes = EnumUtils.GetAllEnumTypeDescriptionPairs <ECommunityRole>();
            var enumType        = allContactTypes[contactType];

            string description = GetEnumDescription(enumType);


            ORM_HEC_CMT_OfferedRole role = new ORM_HEC_CMT_OfferedRole();

            role.HEC_CMT_OfferedRoleID    = Guid.NewGuid();
            role.GlobalPropertyMatchingID = description;
            role.Creation_Timestamp       = DateTime.Now;
            role.CommunityRoleITL         = Guid.NewGuid().ToString();
            role.Community_RefID          = communityID;
            role.Tenant_RefID             = securityTicket.TenantID;

            role.Save(Connection, Transaction);

            return(role.HEC_CMT_OfferedRoleID);
        }
Example #2
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5AC_SCD_2316 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            //Leave UserCode region to enable user code saving
            #region UserCode
            var returnValue = new FR_Guid();

            var communitiy = new ORM_HEC_CMT_Community()
            {
                HEC_CMT_CommunityID             = Guid.NewGuid(),
                Tenant_RefID                    = securityTicket.TenantID,
                IsCommunityOperatedByThisTenant = true,
                CommunityServicesBaseURL        = Parameter.CommunityBaseURL,
                HealthcareCommunityITL          = Parameter.CommunityITL
            };
            communitiy.Save(Connection, Transaction);

            if (Parameter.MembershipTypes != null)
            {
                foreach (var type in Parameter.MembershipTypes)
                {
                    var membershipType = new ORM_HEC_CMT_Community_OfferedMembershipType()
                    {
                        Tenant_RefID           = securityTicket.TenantID,
                        IsAvailableFor_Tenants = type.IsAvailableFor_Tenants,
                        IsAvailableFor_Doctors = type.IsAvailableFor_Doctors,
                        HEC_CMT_Community_OfferedMembershipTypeID    = Guid.NewGuid(),
                        HealthcareCommunityOfferedMembershipTypesITL = type.HealthcareCommunityOfferedMembershipTypesITL,
                        OfferedMembershipType_DisplayName            = type.TypeDisplayName,
                        Community_RefID = communitiy.HEC_CMT_CommunityID
                    };
                    membershipType.Save(Connection, Transaction);
                }
            }

            if (Parameter.OfferedRoles != null)
            {
                foreach (var role in Parameter.OfferedRoles)
                {
                    var offeredRole = new ORM_HEC_CMT_OfferedRole()
                    {
                        Tenant_RefID                       = securityTicket.TenantID,
                        Community_RefID                    = communitiy.HEC_CMT_CommunityID,
                        GlobalPropertyMatchingID           = role.GlobalPropertyMatchingID,
                        HEC_CMT_OfferedRoleID              = Guid.NewGuid(),
                        IsUniqueOverAllGroupsPerSubscriber = role.IsUniqueOverAllGroupsPerSubscriber,
                        CommunityRoleITL                   = role.CommunityRoleITL,
                    };
                    offeredRole.Save(Connection, Transaction);
                }
            }
            if (Parameter.Group != null)
            {
                var group = new ORM_HEC_CMT_CommunityGroup()
                {
                    HEC_CMT_CommunityGroupID    = Guid.NewGuid(),
                    HealthcareCommunityGroupITL = Parameter.Group.GroupITL,
                    Tenant_RefID       = securityTicket.TenantID,
                    Community_RefID    = communitiy.HEC_CMT_CommunityID,
                    CommunityGroupCode = Parameter.Group.GroupCode
                };

                group.Save(Connection, Transaction);
            }


            return(returnValue);

            #endregion UserCode
        }