protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5MC_SG_1701 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); var community = ORM_HEC_CMT_Community.Query.Search(Connection, Transaction, new ORM_HEC_CMT_Community.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, IsCommunityOperatedByThisTenant = true }).Single(); if (Parameter.HEC_CMT_CommunityGroupID == Guid.Empty) { Random _rng = new Random((int)DateTime.Now.Ticks); string _chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz"; int loopCountMax = 100; int loopCounter = 0; bool uniqueFlag = false; string codeValue; do { loopCounter++; if (loopCounter > loopCountMax) { return(null); } char[] buffer = new char[6]; for (int i = 0; i < buffer.Length; i++) { buffer[i] = _chars[_rng.Next(_chars.Length)]; } codeValue = new string(buffer); var query1 = new ORM_HEC_CMT_CommunityGroup.Query(); query1.CommunityGroupCode = codeValue; query1.Tenant_RefID = securityTicket.TenantID; query1.IsDeleted = false; var codes = ORM_HEC_CMT_CommunityGroup.Query.Search(Connection, Transaction, query1); if (codes.Count == 0) { uniqueFlag = true; } } while (!uniqueFlag); var group = new ORM_HEC_CMT_CommunityGroup() { Tenant_RefID = securityTicket.TenantID, IsPrivate = Parameter.IsPrivate, IsDeleted = false, CommunityGroupCode = codeValue, CommunityGroup_Name = Parameter.GroupName, CommunityGroup_Description = Parameter.GroupDescription, HealthcareCommunityGroupITL = Guid.NewGuid().ToString(), HEC_CMT_CommunityGroupID = Guid.NewGuid(), Community_RefID = community.HEC_CMT_CommunityID }; group.Save(Connection, Transaction); var member = ORM_HEC_CMT_Membership.Query.Search(Connection, Transaction, new ORM_HEC_CMT_Membership.Query() { IsDeleted = false, Tenant_RefID = securityTicket.TenantID, Community_RefID = community.HEC_CMT_CommunityID, BusinessParticipant_RefID = Parameter.UserBPID }).Single(); var m2g = new ORM_HEC_CMT_GroupSubscription() { Tenant_RefID = securityTicket.TenantID, Membership_RefID = member.HEC_CMT_MembershipID, CommunityGroup_RefID = group.HEC_CMT_CommunityGroupID }; m2g.Save(Connection, Transaction); var founderRoleID = DMCommunityRoles.Get_CommunityRole_for_GlobalPropertyMatchingID(Connection, Transaction, EnumUtils.GetEnumDescription(ECommunityRole.Founder_Init), community.HEC_CMT_CommunityID, securityTicket); var contributorRoleID = DMCommunityRoles.Get_CommunityRole_for_GlobalPropertyMatchingID(Connection, Transaction, EnumUtils.GetEnumDescription(ECommunityRole.Contributor), community.HEC_CMT_CommunityID, securityTicket); DMCommunityRoles.Get_CommunityRole_for_GlobalPropertyMatchingID(Connection, Transaction, EnumUtils.GetEnumDescription(ECommunityRole.Bureaucrat), community.HEC_CMT_CommunityID, securityTicket); DMCommunityRoles.Get_CommunityRole_for_GlobalPropertyMatchingID(Connection, Transaction, EnumUtils.GetEnumDescription(ECommunityRole.Founder), community.HEC_CMT_CommunityID, securityTicket); var r2gFounder = new ORM_HEC_CMT_OfferedRoles_2_GroupSubscription() { Tenant_RefID = securityTicket.TenantID, AssignmentID = Guid.NewGuid(), HEC_CMT_GroupSubscription_RefID = m2g.HEC_CMT_GroupSubscriptionID, HEC_CMT_OfferedRole_RefID = founderRoleID }; r2gFounder.Save(Connection, Transaction); var r2gContributor = new ORM_HEC_CMT_OfferedRoles_2_GroupSubscription() { Tenant_RefID = securityTicket.TenantID, AssignmentID = Guid.NewGuid(), HEC_CMT_GroupSubscription_RefID = m2g.HEC_CMT_GroupSubscriptionID, HEC_CMT_OfferedRole_RefID = contributorRoleID }; r2gContributor.Save(Connection, Transaction); returnValue.Result = group.HEC_CMT_CommunityGroupID; } else { var group = ORM_HEC_CMT_CommunityGroup.Query.Search(Connection, Transaction, new ORM_HEC_CMT_CommunityGroup.Query() { IsDeleted = false, Tenant_RefID = securityTicket.TenantID, HEC_CMT_CommunityGroupID = Parameter.HEC_CMT_CommunityGroupID }).Single(); group.IsPrivate = Parameter.IsPrivate; group.CommunityGroup_Name = Parameter.GroupName; group.CommunityGroup_Description = Parameter.GroupDescription; group.Save(Connection, Transaction); returnValue.Result = Parameter.HEC_CMT_CommunityGroupID; } return(returnValue); #endregion UserCode }
protected static FR_Bool Execute(DbConnection Connection, DbTransaction Transaction, P_L5TI_TI_1134 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { //Leave UserCode region to enable user code saving #region UserCode var returnValue = new FR_Bool(); var init = ORM_APP_Initialization.Query.Search(Connection, Transaction, new ORM_APP_Initialization.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, Application_RefID = Parameter.AppID }).SingleOrDefault(); if (init == null) { init = new ORM_APP_Initialization() { Tenant_RefID = securityTicket.TenantID, Application_RefID = Parameter.AppID, APP_InitializationID = Guid.NewGuid(), Initialization_StartedAtDate = DateTime.Now, Version = "1.0" }; } var DBLanguages = cls_Get_All_Languages.Invoke(Connection, Transaction, securityTicket).Result; var communitiy = new ORM_HEC_CMT_Community() { HEC_CMT_CommunityID = Guid.NewGuid(), Tenant_RefID = securityTicket.TenantID, IsCommunityOperatedByThisTenant = true, CommunityServicesBaseURL = string.Empty, HealthcareCommunityITL = Guid.NewGuid().ToString() }; communitiy.Save(Connection, Transaction); var tenantMembershipType = new ORM_HEC_CMT_Community_OfferedMembershipType() { Tenant_RefID = securityTicket.TenantID, IsAvailableFor_Tenants = true, HEC_CMT_Community_OfferedMembershipTypeID = Guid.NewGuid(), HealthcareCommunityOfferedMembershipTypesITL = Guid.NewGuid().ToString(), OfferedMembershipType_DisplayName = "Tenant Membership Type", Community_RefID = communitiy.HEC_CMT_CommunityID }; tenantMembershipType.Save(Connection, Transaction); var personMembershipType = new ORM_HEC_CMT_Community_OfferedMembershipType() { Tenant_RefID = securityTicket.TenantID, IsAvailableFor_Doctors = true, HEC_CMT_Community_OfferedMembershipTypeID = Guid.NewGuid(), HealthcareCommunityOfferedMembershipTypesITL = Guid.NewGuid().ToString(), OfferedMembershipType_DisplayName = "Person Membership Type", Community_RefID = communitiy.HEC_CMT_CommunityID }; personMembershipType.Save(Connection, Transaction); var communityRoles = Enum.GetValues(typeof(ECommunityRole)); foreach (ECommunityRole role in communityRoles) { DMCommunityRoles.Get_CommunityRole_for_GlobalPropertyMatchingID(Connection, Transaction, EnumUtils.GetEnumDescription(role), communitiy.HEC_CMT_CommunityID, securityTicket); } init.Initialiaztion_CompletedAtDate = DateTime.Now; init.IsInitializationComplete = true; init.Save(Connection, Transaction); return(returnValue); #endregion UserCode }