public static qPtl_Invitation GenerateInvite(int userID, DateTime startDate, DateTime endDate, int createdBy, int familyID, int inviteLength, string invitationType, int roleID, int functionalRoleID)
        {
            qPtl_Invitation invite = new qPtl_Invitation();

            if (inviteLength > 32)
            {
                inviteLength = 32;
            }

            string          inviteCode         = GenerateInviteCode(inviteLength);
            qPtl_Invitation existingInvitation = new qPtl_Invitation(inviteCode);

            for (int attemptCount = 0; existingInvitation.InvitationID != 0 && attemptCount < 100; attemptCount++)
            {
                inviteCode         = GenerateInviteCode(inviteLength);
                existingInvitation = new qPtl_Invitation(inviteCode);
            }

            invite.InviteCode = inviteCode;

            invite.Created          = DateTime.Now;
            invite.LastModified     = invite.Created;
            invite.CreatedBy        = createdBy;
            invite.StartDate        = startDate;
            invite.EndDate          = endDate;
            invite.UserID           = userID;
            invite.FamilyID         = familyID;
            invite.InvitationType   = invitationType;
            invite.RoleID           = roleID;
            invite.FunctionalRoleID = functionalRoleID;

            invite.InvitationID = invite.AddInvitation();

            return(invite);
        }
        public static qPtl_Invitation[] GenerateInvites(int count, DateTime startDate, DateTime endDate, int createdBy, int familyID, int inviteLength, string invitationType, string invitationStatus, int roleID, int functionalRoleID)
        {
            List <qPtl_Invitation> invites = new List <qPtl_Invitation>();

            if (inviteLength > 32)
            {
                inviteLength = 32;
            }

            for (int i = 0; i < count; i++)
            {
                qPtl_Invitation invite = new qPtl_Invitation();

                string          inviteCode         = GenerateInviteCode(inviteLength);
                qPtl_Invitation existingInvitation = new qPtl_Invitation(inviteCode);

                for (int attemptCount = 0; existingInvitation.InvitationID != 0 && attemptCount < 100; attemptCount++)
                {
                    inviteCode         = GenerateInviteCode(inviteLength);
                    existingInvitation = new qPtl_Invitation(GenerateInviteCode(inviteLength));
                }

                invite.InviteCode = inviteCode;

                invite.Created          = DateTime.Now;
                invite.LastModified     = invite.Created;
                invite.CreatedBy        = createdBy;
                invite.StartDate        = startDate;
                invite.EndDate          = endDate;
                invite.UserID           = 0;
                invite.FamilyID         = familyID;
                invite.InvitationType   = invitationType;
                invite.InvitationStatus = invitationStatus;
                invite.RoleID           = roleID;
                invite.FunctionalRoleID = functionalRoleID;

                invite.InvitationID = invite.AddInvitation();

                invites.Add(invite);
            }

            return(invites.ToArray());
        }
        public static qPtl_Invitation[] GenerateInvites(int count, DateTime startDate, DateTime endDate, int createdBy, int familyID, int inviteLength, string invitationType, string invitationStatus, int roleID, int functionalRoleID)
        {
            List<qPtl_Invitation> invites = new List<qPtl_Invitation>();

            if (inviteLength > 32)
                inviteLength = 32;

            for (int i = 0; i < count; i++)
            {
                qPtl_Invitation invite = new qPtl_Invitation();

                string inviteCode = GenerateInviteCode(inviteLength);
                qPtl_Invitation existingInvitation = new qPtl_Invitation(inviteCode);

                for (int attemptCount = 0; existingInvitation.InvitationID != 0 && attemptCount < 100; attemptCount++)
                {
                    inviteCode = GenerateInviteCode(inviteLength);
                    existingInvitation = new qPtl_Invitation(GenerateInviteCode(inviteLength));
                }

                invite.InviteCode = inviteCode;

                invite.Created = DateTime.Now;
                invite.LastModified = invite.Created;
                invite.CreatedBy = createdBy;
                invite.StartDate = startDate;
                invite.EndDate = endDate;
                invite.UserID = 0;
                invite.FamilyID = familyID;
                invite.InvitationType = invitationType;
                invite.InvitationStatus = invitationStatus;
                invite.RoleID = roleID;
                invite.FunctionalRoleID = functionalRoleID;

                invite.InvitationID = invite.AddInvitation();

                invites.Add(invite);
            }

            return invites.ToArray();
        }
        public static qPtl_Invitation GenerateInvite(int userID, DateTime startDate, DateTime endDate, int createdBy, int familyID, int inviteLength, string invitationType, int roleID, int functionalRoleID)
        {
            qPtl_Invitation invite = new qPtl_Invitation();

            if (inviteLength > 32)
                inviteLength = 32;

            string inviteCode = GenerateInviteCode(inviteLength);
            qPtl_Invitation existingInvitation = new qPtl_Invitation(inviteCode);
            for (int attemptCount = 0; existingInvitation.InvitationID != 0 && attemptCount < 100; attemptCount++)
            {
                inviteCode = GenerateInviteCode(inviteLength);
                existingInvitation = new qPtl_Invitation(inviteCode);
            }

            invite.InviteCode = inviteCode;

            invite.Created = DateTime.Now;
            invite.LastModified = invite.Created;
            invite.CreatedBy = createdBy;
            invite.StartDate = startDate;
            invite.EndDate = endDate;
            invite.UserID = userID;
            invite.FamilyID = familyID;
            invite.InvitationType = invitationType;
            invite.RoleID = roleID;
            invite.FunctionalRoleID = functionalRoleID;

            invite.InvitationID = invite.AddInvitation();

            return invite;
        }