Skip to content

Instantly share code, notes, and snippets.

@jbaxleyiii
Last active February 20, 2017 04:30
Show Gist options
  • Save jbaxleyiii/83662318407285294b8379305e2180f7 to your computer and use it in GitHub Desktop.
Save jbaxleyiii/83662318407285294b8379305e2180f7 to your computer and use it in GitHub Desktop.
Migration / Model / Types for native communication addition to Rock
// <copyright>
// Copyright by the Spark Development Network
//
// Licensed under the Rock Community License (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.rockrms.com/license
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// </copyright>
//
namespace Rock.Migrations
{
using System;
using System.Data.Entity.Migrations;
/// <summary>
///
/// </summary>
public partial class NativeDevices : Rock.Migrations.RockMigration
{
/// <summary>
/// Operations to be performed during the upgrade process.
/// </summary>
public override void Up()
{
CreateTable(
"dbo.NativeDevice",
c => new
{
Id = c.Int(nullable: false, identity: true),
RegistrationId = c.String(),
PersonAliasId = C.Int(nullable: false),
NativeDeviceTypeId = C.Int(nullable: false),
CreatedDateTime = c.DateTime(),
ModifiedDateTime = c.DateTime(),
CreatedByPersonAliasId = c.Int(),
ModifiedByPersonAliasId = c.Int(),
Guid = c.Guid(nullable: false),
ForeignId = c.Int(),
ForeignGuid = c.Guid(),
ForeignKey = c.String(maxLength: 100),
})
.PrimaryKey(t => t.Id)
.ForeignKey("dbo.PersonAlias", t => t.PersonAliasId)
.ForeignKey("dbo.PersonAlias", t => t.CreatedByPersonAliasId)
.ForeignKey("dbo.PersonAlias", t => t.ModifiedByPersonAliasId)
.Index(t => t.RegistrationId)
.Index(t => t.PersonAliasId)
.Index(t => t.NativeDeviceTypeId)
.Index(t => t.CreatedByPersonAliasId)
.Index(t => t.ModifiedByPersonAliasId)
.Index(t => t.Guid, unique: true);
RockMigrationHelper.AddDefinedType( "Global", "Notification Device Type", "Device type for notifications", SystemGuid.DefinedType.NOTIFICATION_DEVICE_TYPE );
RockMigrationHelper.AddDefinedValue( SystemGuid.DefinedType.NOTIFICATION_DEVICE_TYPE, "iOS", "iOS device which supports notifications.", SystemGuid.DefinedValue.NOTIFICATION_DEVICE_TYPE_IOS );
RockMigrationHelper.AddDefinedValue( SystemGuid.DefinedType.NOTIFICATION_DEVICE_TYPE, "Android", "Android device which supports notifications.", SystemGuid.DefinedValue.NOTIFICATION_DEVICE_TYPE_ANDROID );
RockMigrationHelper.AddDefinedValue( SystemGuid.DefinedType.NOTIFICATION_DEVICE_TYPE, "Windows", "Windows device which supports notifications.", SystemGuid.DefinedValue.NOTIFICATION_DEVICE_TYPE_WINDOWS );
}
/// <summary>
/// Operations to be performed during the downgrade process.
/// </summary>
public override void Down()
{
DropForeignKey("dbo.NativeDevice", "PersonAliasId", "dbo.PersonAlias");
DropForeignKey("dbo.NativeDevice", "ModifiedByPersonAliasId", "dbo.PersonAlias");
DropForeignKey("dbo.NativeDevice", "CreatedByPersonAliasId", "dbo.PersonAlias");
DropIndex("dbo.NativeDevice", new[] { "Guid" });
DropIndex("dbo.NativeDevice", new[] { "ModifiedByPersonAliasId" });
DropIndex("dbo.NativeDevice", new[] { "CreatedByPersonAliasId" });
DropIndex("dbo.NativeDevice", new[] { "RegistrationId" });
DropIndex("dbo.NativeDevice", new[] { "PersonAliasId" });
DropIndex("dbo.NativeDevice", new[] { "NativeDeviceTypeId" });
}
}
}
// <copyright>
// Copyright by the Spark Development Network
//
// Licensed under the Rock Community License (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.rockrms.com/license
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// </copyright>
//
using System;
namespace Rock.SystemGuid
{
/// <summary>
/// Static Guids used by the Rock application
/// </summary>
public class DefinedType
{
/// <summary>
/// Guid for the types of Benevolence Request status (e.g. pending, active, answered, etc.)
/// </summary>
public const string BENEVOLENCE_REQUEST_STATUS = "2787B088-D607-4D69-84FF-850A6891EE34";
/// <summary>
/// The types of results for a Benevolence Request
/// </summary>
public const string BENEVOLENCE_RESULT_TYPE = "35FC0225-3DAC-48B4-BDF7-AFDE104FB60E";
/// <summary>
/// The types of communication supported (i.e. email, sms, twitter, app-push, etc)
/// </summary>
public const string COMMUNICATION_MEDIUM = "DC8A841C-E91D-4BD4-A6A7-0DE765308E8F";
/// <summary>
/// The domains that are safe to send from
/// </summary>
public const string COMMUNICATION_SAFE_SENDER_DOMAINS = "DB91D0E9-DCA6-45A9-8276-AEF032BE8AED";
/// <summary>
/// The list of values that SMS messages can be sent from. Depending on provider, these may
/// be phone numbers or short codes
/// </summary>
public const string COMMUNICATION_SMS_FROM = "611BDE1F-7405-4D16-8626-CCFEDB0E62BE";
/// <summary>
/// The list of phone country code formats and how to format their numbers
/// </summary>
public const string COMMUNICATION_PHONE_COUNTRY_CODE = "45E9EF7C-91C7-45AB-92C1-1D6219293847";
/// <summary>
/// Guid for check-in search type
/// </summary>
public const string CHECKIN_SEARCH_TYPE = "1EBCDB30-A89A-4C14-8580-8289EC2C7742";
/// <summary>
/// Guid for Device Type
/// </summary>
public const string DEVICE_TYPE = "0368B637-327A-4F5E-80C2-832079E482EE";
/// <summary>
/// Guid for the DISC Results of personalities.
/// </summary>
public const string DISC_RESULTS_TYPE = "F06DDAD8-6058-4182-AD0A-B523BB7A2D78";
/// <summary>
/// Guid for Entity Set Purpose
/// </summary>
public const string ENTITY_SET_PURPOSE = "618BBF3F-794F-4FF9-9615-9211CDBAF723";
/// <summary>
/// Guid for External Application
/// </summary>
public const string EXTERNAL_APPLICATION = "1FAC459C-5F62-4E7C-8933-61FF9FE2DFEF";
/// <summary>
/// Guid for Financial Currency Type
/// </summary>
public const string FINANCIAL_ACCOUNT_TYPE = "752DA126-471F-4221-8503-5297593C99FF";
/// <summary>
/// Guid for Financial Currency Type
/// </summary>
public const string FINANCIAL_CURRENCY_TYPE = "1D1304DE-E83A-44AF-B11D-0C66DD600B81";
/// <summary>
/// Guid for Financial Credit Card Type
/// </summary>
public const string FINANCIAL_CREDIT_CARD_TYPE = "2BD4FFB0-6C7F-4890-8D08-00F0BB7B43E9";
/// <summary>
/// Guid for Financial Frequency
/// </summary>
public const string FINANCIAL_FREQUENCY = "1F645CFB-5BBD-4465-B9CA-0D2104A1479B";
/// <summary>
/// Guid for Financial Source Type
/// </summary>
public const string FINANCIAL_SOURCE_TYPE = "4F02B41E-AB7D-4345-8A97-3904DDD89B01";
/// <summary>
/// Guid for Financial Transaction Type
/// </summary>
public const string FINANCIAL_TRANSACTION_REFUND_REASON = "61FE3A58-9F4F-472F-A4E0-5116EB90A323";
/// <summary>
/// Guid for Financial Transaction Type
/// </summary>
public const string FINANCIAL_TRANSACTION_TYPE = "FFF62A4B-5D88-4DEB-AF8F-8E6178E41FE5";
/// <summary>
/// Guid for the types of Group Locations (such as Home, Main Office, etc)
/// </summary>
public const string GROUP_LOCATION_TYPE = "2E68D37C-FB7B-4AA5-9E09-3785D52156CB";
/// <summary>
/// Guid for GroupType Purpose
/// </summary>
public const string GROUPTYPE_PURPOSE = "B23F1E45-BC26-4E82-BEB3-9B191FE5CCC3";
/// <summary>
/// Guid for the types of interaction service.
/// </summary>
public const string INTERACTION_CHANNEL_MEDIUM = "9bf5777a-961f-49a8-a834-45e5c2077967";
/// <summary>
/// Guid for Default link list
/// </summary>
public const string LINKLIST_DEFAULT_LIST = "7E7969BD-945C-4472-8A80-889EF5833776";
/// <summary>
/// Guid for countries
/// </summary>
public const string LOCATION_COUNTRIES = "D7979EA1-44E9-46E2-BF37-DDAF7F741378";
/// <summary>
/// Guid for the types of States that can be tied to a Location's address.
/// </summary>
public const string LOCATION_ADDRESS_STATE = "C3A20D2D-AEAF-4E2B-A1D9-2E072CEFC2BB";
/// <summary>
/// Guid for the types of named locations (such as Campus, Building, Room, etc)
/// </summary>
public const string LOCATION_TYPE = "3285DCEF-FAA4-43B9-9338-983F4A384ABA";
/// <summary>
/// Guid for Marketing Campaign Audience Type
/// </summary>
public const string MARKETING_CAMPAIGN_AUDIENCE_TYPE = "799301A3-2026-4977-994E-45DC68502559";
/// <summary>
/// Metric Source Type
/// </summary>
public const string METRIC_SOURCE_TYPE = "D6F323FF-6EF2-4DA7-A82C-61399AC1D798";
/// <summary>
/// Notification Device Type
/// </summary>
public const string NOTIFICATION_DEVICE_TYPE = "23CAE440-4450-4246-A5A6-1F945F1C0997";
/// <summary>
/// Guid for the types of Person Records (such as person, business, etc.)
/// </summary>
public const string PERSON_RECORD_TYPE = "26be73a6-a9c5-4e94-ae00-3afdcf8c9275";
/// <summary>
/// Guid for the types of Person Record Statuses (such as active, inactive, pending, etc.)
/// </summary>
public const string PERSON_RECORD_STATUS = "8522badd-2871-45a5-81dd-c76da07e2e7e";
/// <summary>
/// Guid for the types of Person Record Status Reasons (such as deceased, moved, etc.)
/// </summary>
public const string PERSON_RECORD_STATUS_REASON = "e17d5988-0372-4792-82cf-9e37c79f7319";
/// <summary>
/// Guid for the person'S connection status (such as member, attendee, participant, etc.)
/// </summary>
public const string PERSON_CONNECTION_STATUS = "2e6540ea-63f0-40fe-be50-f2a84735e600";
/// <summary>
/// Guid for the reasons a person record needs to be reviewed
/// </summary>
public const string PERSON_REVIEW_REASON = "7680C445-AD69-4E5D-94F0-CBAA96DB0FF8";
/// <summary>
/// Guid for the types of Person Titles (such as Mr., Mrs., Dr., etc.)
/// </summary>
public const string PERSON_TITLE = "4784cd23-518b-43ee-9b97-225bf6e07846";
/// <summary>
/// Guid for the types of Person Suffixes (such as Jr., Sr., etc.)
/// </summary>
public const string PERSON_SUFFIX = "16f85b3c-b3e8-434c-9094-f3d41f87a740";
/// <summary>
/// Guid for the types of Person Marital Statuses (such as Married, Single, Divorced, Widowed, etc.)
/// </summary>
public const string PERSON_MARITAL_STATUS = "b4b92c3f-a935-40e1-a00b-ba484ead613b";
/// <summary>
/// Guid for the types of Person phone numbers (such as Primary, Secondary, etc.)
/// </summary>
public const string PERSON_PHONE_TYPE = "8345DD45-73C6-4F5E-BEBD-B77FC83F18FD";
/// <summary>
/// Guid for the types of possible check-in system ability levels (such as Infant, Crawler, etc.)
/// </summary>
public const string PERSON_ABILITY_LEVEL_TYPE = "7BEEF4D4-0860-4913-9A3D-857634D1BF7C";
/// <summary>
/// Protect My Ministry MVR jurisdiction codes
/// </summary>
public const string PROTECT_MY_MINISTRY_MVR_JURISDICTION_CODES = "2F8821E8-05B9-4CD5-9FA4-303662AAC85D";
/// <summary>
/// Protect My Ministry background package types
/// </summary>
public const string PROTECT_MY_MINISTRY_PACKAGES = "BC2FDF9A-93B8-4325-8DE9-2F7B1943BFDF";
/// <summary>
/// Guid for the types of map styles
/// </summary>
public const string MAP_STYLES = "4EF89471-C049-49ED-AB50-677F689A4E4E";
/// <summary>
/// Guid for the types of chart styles
/// </summary>
public const string CHART_STYLES = "FC684FD7-FE68-493F-AF38-1656FBF67E6B";
/// <summary>
/// Guid for the button html
/// </summary>
public const string BUTTON_HTML = "407A3A73-A3EF-4970-B856-2A33F62AC72E";
/// <summary>
/// The REST allowed domains
/// </summary>
public const string REST_API_ALLOWED_DOMAINS = "DF7C8DF7-49F9-4858-9E5D-20842AF65AD8";
/// <summary>
/// The school grades defined type which has values that determine which grade gext to display
/// </summary>
public const string SCHOOL_GRADES = "24E5A79F-1E62-467A-AD5D-0D10A2328B4D";
/// <summary>
/// Used to manage the topic options for small groups.
/// </summary>
public const string SMALL_GROUP_TOPIC = "D4111631-6B42-1CBD-4019-427D6BC6F475";
}
}
// <copyright>
// Copyright by the Spark Development Network
//
// Licensed under the Rock Community License (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.rockrms.com/license
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// </copyright>
//
using System;
namespace Rock.SystemGuid
{
/// <summary>
/// Static Guids used by the Rock application
/// </summary>
public static class DefinedValue
{
#region Communication Medium Type
/// <summary>
/// Email communication
/// </summary>
public const string COMMUNICATION_MEDIUM_EMAIL = "FC51461D-0C31-4C6B-A7C8-B3E8482C1055";
#endregion
#region Check-in Search Type
/// <summary>
/// Phone number search type
///
/// </summary>
public const string CHECKIN_SEARCH_TYPE_PHONE_NUMBER = "F3F66040-C50F-4D13-9652-780305FFFE23";
/// <summary>
/// Name Search Type
/// </summary>
public const string CHECKIN_SEARCH_TYPE_NAME = "071D6DAA-3063-463A-B8A1-7D9A1BE1BB31";
/// <summary>
/// Power Search Type
/// </summary>
public const string CHECKIN_SEARCH_TYPE_NAME_AND_PHONE = "93773B0A-6E7F-1AA0-4F1D-9A4D6ACE930F";
#endregion
#region Device Type
/// <summary>
/// Check-in Kiosk device type
/// </summary>
public const string DEVICE_TYPE_CHECKIN_KIOSK = "BC809626-1389-4543-B8BB-6FAC79C27AFD";
/// <summary>
/// Giving Kiosk device type
/// </summary>
public const string DEVICE_TYPE_GIVING_KIOSK = "64A1DBE5-10AD-42F1-A9BA-646A781D4112";
/// <summary>
/// Printer device type
/// </summary>
public const string DEVICE_TYPE_PRINTER = "8284B128-E73B-4863-9FC2-43E6827B65E6";
#endregion
#region Entity Set Purpose
/// <summary>
/// Entity Set for the purpose of doing a Person Merge request
/// </summary>
public const string ENTITY_SET_PURPOSE_PERSON_MERGE_REQUEST = "214EB26F-5493-4540-B2EF-F0887C8FBB9E";
#endregion
#region Financial Currency Type
/// <summary>
/// Cash
/// </summary>
public const string CURRENCY_TYPE_CASH = "F3ADC889-1EE8-4EB6-B3FD-8C10F3C8AF93";
/// <summary>
/// Check
/// </summary>
public const string CURRENCY_TYPE_CHECK = "8B086A19-405A-451F-8D44-174E92D6B402";
/// <summary>
/// Credit Card
/// </summary>
public const string CURRENCY_TYPE_CREDIT_CARD = "928A2E04-C77B-4282-888F-EC549CEE026A";
/// <summary>
/// ACH
/// </summary>
public const string CURRENCY_TYPE_ACH = "DABEE8FD-AEDF-43E1-8547-4C97FA14D9B6";
/// <summary>
/// ACH
/// </summary>
public const string CURRENCY_TYPE_NONCASH = "7950FF66-80EE-E8AB-4A77-4A13EDEB7513";
#endregion
#region Financial Transaction Type
/// <summary>
/// A Contribution Transaction
/// </summary>
public const string TRANSACTION_TYPE_CONTRIBUTION = "2D607262-52D6-4724-910D-5C6E8FB89ACC";
/// <summary>
/// An Event Registration Transaction
/// </summary>
public const string TRANSACTION_TYPE_EVENT_REGISTRATION = "33CB96DD-8752-4BEE-A142-88DB7DE538F0";
#endregion
#region Financial Source
/// <summary>
/// The financial source of Website
/// </summary>
public const string FINANCIAL_SOURCE_TYPE_WEBSITE = "7D705CE7-7B11-4342-A58E-53617C5B4E69";
/// <summary>
/// The financial source of Kiosk
/// </summary>
public const string FINANCIAL_SOURCE_TYPE_KIOSK = "260EEA80-821A-4F79-973F-49DF79C955F7";
/// <summary>
/// The financial source of Mobile Application
/// </summary>
public const string FINANCIAL_SOURCE_TYPE_MOBILE_APPLICATION = "8ADCEC72-63FC-4F08-A4CC-72BCE470172C";
/// <summary>
/// The financial source of On-site Collection
/// </summary>
public const string FINANCIAL_SOURCE_TYPE_ONSITE_COLLECTION = "BE7ECF50-52BC-4774-808D-574BA842DB98";
#endregion
#region Group Location Type
/// <summary>
/// Home location type
/// </summary>
public const string GROUP_LOCATION_TYPE_HOME = "8C52E53C-2A66-435A-AE6E-5EE307D9A0DC";
/// <summary>
/// Work Record Type
/// </summary>
public const string GROUP_LOCATION_TYPE_WORK = "E071472A-F805-4FC4-917A-D5E3C095C35C";
/// <summary>
/// Previous Location Type
/// </summary>
public const string GROUP_LOCATION_TYPE_PREVIOUS = "853D98F1-6E08-4321-861B-520B4106CFE0";
/// <summary>
/// Meeting Location Type
/// </summary>
public const string GROUP_LOCATION_TYPE_MEETING_LOCATION = "96D540F5-071D-4BBD-9906-28F0A64D39C4";
#endregion
#region Group Type Purpose
/// <summary>
/// Group Type Purpose of Check-in Template
/// </summary>
public const string GROUPTYPE_PURPOSE_CHECKIN_TEMPLATE = "4A406CB0-495B-4795-B788-52BDFDE00B01";
/// <summary>
/// Group Type Purpose of Check-in Filter
/// </summary>
public const string GROUPTYPE_PURPOSE_CHECKIN_FILTER = "6BCED84C-69AD-4F5A-9197-5C0F9C02DD34";
#endregion
#region Location Types
/// <summary>
/// Campus Location Type
/// </summary>
public const string LOCATION_TYPE_CAMPUS = "C0D7AE35-7901-4396-870E-3AAF472AAE88";
/// <summary>
/// Building Location Type
/// </summary>
public const string LOCATION_TYPE_BUILDING = "D9646A93-1667-4A44-82DA-12E1229B4695";
/// <summary>
/// Room Location Type
/// </summary>
public const string LOCATION_TYPE_ROOM = "107C6DA1-266D-4E1C-A443-1CD37064601D";
#endregion
#region Transaction Frequency Type
/// <summary>
/// One Time
/// </summary>
public const string TRANSACTION_FREQUENCY_ONE_TIME = "82614683-7FB4-4F16-9087-6F85945A7B16";
/// <summary>
/// Weekly
/// </summary>
public const string TRANSACTION_FREQUENCY_WEEKLY = "35711E44-131B-4534-B0B2-F0A749292362";
/// <summary>
/// Every two weeks
/// </summary>
public const string TRANSACTION_FREQUENCY_BIWEEKLY = "72990023-0D43-4554-8D32-28461CAB8920";
/// <summary>
/// Twice a month
/// </summary>
public const string TRANSACTION_FREQUENCY_TWICEMONTHLY = "791C863D-2600-445B-98F8-3E5B66A3DEC4";
/// <summary>
/// Monthly
/// </summary>
public const string TRANSACTION_FREQUENCY_MONTHLY = "1400753C-A0F9-4A45-8A1D-81C98450BD1F";
/// <summary>
/// Monthly
/// </summary>
public const string TRANSACTION_FREQUENCY_QUARTERLY = "BF08EA03-C52A-4364-B142-12EBCA7CA14A";
/// <summary>
/// Twice a year (every 6 months)
/// </summary>
public const string TRANSACTION_FREQUENCY_TWICEYEARLY = "691BB8AB-5F96-4E88-847C-CB970D9E87FA";
/// <summary>
/// Yearly
/// </summary>
public const string TRANSACTION_FREQUENCY_YEARLY = "AC88C37A-901E-4CBB-947B-11348C208192";
#endregion
#region Metrics
/// <summary>
/// Metric values come from a dataview
/// </summary>
public const string METRIC_SOURCE_VALUE_TYPE_DATAVIEW = "2EC60BCF-EF63-4CCC-A970-F152292765D0";
/// <summary>
/// Metric values are entered manually
/// </summary>
public const string METRIC_SOURCE_VALUE_TYPE_MANUAL = "1D6511D6-B15D-4DED-B3C4-459CD2A7EC0E";
/// <summary>
/// Metric values are populated from custom sql
/// </summary>
public const string METRIC_SOURCE_VALUE_TYPE_SQL = "6A1E1A1B-A636-4E12-B90C-D7FD1BDAE764";
#endregion
#region Person Marital Status
/// <summary>
/// Marital Status of Married
/// </summary>
public const string PERSON_MARITAL_STATUS_MARRIED = "5FE5A540-7D9F-433E-B47E-4229D1472248";
/// <summary>
/// Marital Status of Single
/// </summary>
public const string PERSON_MARITAL_STATUS_SINGLE = "F19FC180-FE8F-4B72-A59C-8013E3B0EB0D";
#endregion
#region Person Phone Type
/// <summary>
/// Person Mobile Phone
/// </summary>
public const string PERSON_PHONE_TYPE_MOBILE = "407E7E45-7B2E-4FCD-9605-ECB1339F2453";
/// <summary>
/// Person Home Phone
/// </summary>
public const string PERSON_PHONE_TYPE_HOME = "AA8732FB-2CEA-4C76-8D6D-6AAA2C6A4303";
/// <summary>
/// Person Home Phone
/// </summary>
public const string PERSON_PHONE_TYPE_WORK = "2CC66D5A-F61C-4B74-9AF9-590A9847C13C";
#endregion
#region Person Record Status
/// <summary>
/// Active Record Status
/// </summary>
public const string PERSON_RECORD_STATUS_ACTIVE = "618F906C-C33D-4FA3-8AEF-E58CB7B63F1E";
/// <summary>
/// Inactive Record Status
/// </summary>
public const string PERSON_RECORD_STATUS_INACTIVE = "1DAD99D5-41A9-4865-8366-F269902B80A4";
/// <summary>
/// Pending Record Status
/// </summary>
public const string PERSON_RECORD_STATUS_PENDING = "283999EC-7346-42E3-B807-BCE9B2BABB49";
#endregion
#region Person Record Status Reason
/// <summary>
/// Inactive record status reason of Deceased
/// </summary>
public const string PERSON_RECORD_STATUS_REASON_DECEASED = "05D35BC4-5816-4210-965F-1BF44F35A16A";
/// <summary>
/// Inactive record status reason of No Activity
/// </summary>
public const string PERSON_RECORD_STATUS_REASON_NO_ACTIVITY = "64014FE6-943D-4ACF-8014-FED9F9169AE8";
#endregion
#region Person Record Type
/// <summary>
/// Person Record Type
/// </summary>
public const string PERSON_RECORD_TYPE_PERSON = "36CF10D6-C695-413D-8E7C-4546EFEF385E";
/// <summary>
/// Business Record Type
/// </summary>
public const string PERSON_RECORD_TYPE_BUSINESS = "BF64ADD3-E70A-44CE-9C4B-E76BBED37550";
/// <summary>
/// Rest User Record Type
/// </summary>
public const string PERSON_RECORD_TYPE_RESTUSER = "E2261A84-831D-4234-9BE0-4D628BBE751E";
#endregion
#region Person Connection Status
/// <summary>
/// Member Person Connection Status
/// </summary>
public const string PERSON_CONNECTION_STATUS_MEMBER = "41540783-D9EF-4C70-8F1D-C9E83D91ED5F";
/// <summary>
/// Attendee Person Connection Status
/// </summary>
public const string PERSON_CONNECTION_STATUS_ATTENDEE = "39F491C5-D6AC-4A9B-8AC0-C431CB17D588";
/// <summary>
/// Visitor Person Connection Status
/// TODO: some places have B91BA046-BC1E-400C-B85D-638C1F4E0CE2
/// </summary>
public const string PERSON_CONNECTION_STATUS_VISITOR = "B91BA046-BC1E-400C-B85D-638C1F4E0CE2";
/// <summary>
/// Participant Connection Status
/// </summary>
public const string PERSON_CONNECTION_STATUS_PARTICIPANT = "8EBC0CEB-474D-4C1B-A6BA-734C3A9AB061";
/// <summary>
/// Web Prospect Connection Status
/// </summary>
public const string PERSON_CONNECTION_STATUS_WEB_PROSPECT = "368DD475-242C-49C4-A42C-7278BE690CC2";
#endregion
#region Person Review Reason
/// <summary>
/// Member Person Connection Status
/// </summary>
public const string PERSON_REVIEW_REASON_SELF_INACTIVATED = "D539C356-6856-4E94-80B4-8FEA869AF38B";
#endregion
#region Map Styles
/// <summary>
/// Google map style
/// </summary>
public const string MAP_STYLE_GOOGLE = "BFC46259-FB66-4427-BF05-2B030A582BEA";
/// <summary>
/// The standard Rock map style
/// </summary>
public const string MAP_STYLE_ROCK = "FDC5D6BA-A818-4A06-96B1-9EF31B4087AC";
#endregion
#region Chart Styles
/// <summary>
/// Flot Chart Style
/// </summary>
public const string CHART_STYLE_FLOT = "B45DA8E1-B9A6-46FD-9A2B-E8440D7D6AAC";
/// <summary>
/// Rock Chart Style
/// </summary>
public const string CHART_STYLE_ROCK = "2ABB2EA0-B551-476C-8F6B-478CD08C2227";
#endregion
#region Liquid Templates
/// <summary>
/// Default RSS Channel Template
/// </summary>
public const string DEFAULT_RSS_CHANNEL = "D6149581-9EFC-40D8-BD38-E92C0717BEDA";
#endregion
#region Benevolence
/// <summary>
/// Benevolence Pending
/// </summary>
public const string BENEVOLENCE_PENDING = "67B24629-62A9-436A-A98C-30A454642153";
/// <summary>
/// Benevolence Approved
/// </summary>
public const string BENEVOLENCE_APPROVED = "18D3A2DA-F2BA-49AE-83EB-7E60DCD18A3B";
/// <summary>
/// Benevolence Denied
/// </summary>
public const string BENEVOLENCE_DENIED = "3720671E-DA48-405F-A6D5-5E2D47436F9A";
#endregion
#region Native Device Type
/// <summary>
/// iOS device type
/// </summary>
public const string NOTIFICATION_DEVICE_TYPE_IOS = "905D70EF-7BCE-43DE-A728-48EC587A1163";
/// <summary>
/// Android device type
/// </summary>
public const string NOTIFICATION_DEVICE_TYPE_ANDROID = "CA14BDD7-5D1E-4B1C-BD23-181A441E8D49";
/// <summary>
/// Windows device type
/// </summary>
public const string NOTIFICATION_DEVICE_TYPE_WINDOWS = "EDCCB478-AABF-4B2C-9BFB-9BD8566B8F39";
#endregion
}
}
// <copyright>
// Copyright by the Spark Development Network
//
// Licensed under the Rock Community License (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.rockrms.com/license
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// </copyright>
//
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.ModelConfiguration;
using Rock.Data;
namespace Rock.Model
{
/// <summary>
/// Represents a Interation Channel.
/// </summary>
[Table( "NativeDevices" )]
[DataContract]
public partial class NativeDeviceChannel : Model<NativeDeviceChannel>
{
#region Entity Properties
/// <summary>
/// Gets or sets the person alias identifier.
/// </summary>
/// <value>
/// The person alias identifier.
/// </value>
[DataMember]
public int PersonAliasId { get; set; }
/// <summary>
/// Gets or sets the registration id of the device.
/// </summary>
/// <value>
/// The registration id.
/// </value>
[DataMember]
public string RegistrationId { get; set; }
/// <summary>
/// Gets or sets the Id of the Channel Type <see cref="Rock.Model.DefinedValue" /> representing what type of Interaction Channel this is.
/// </summary>
/// <value>
/// A <see cref="System.Int32"/> representing the Id of the <see cref="Rock.Model.DefinedValue"/> identifying the interaction channel type. If no value is selected this can be null.
/// </value>
[DataMember]
[DefinedValue( SystemGuid.DefinedType.NOTIFICATION_DEVICE_TYPE )]
public int NativeDeviceTypeId { get; set; }
#endregion
#region Virtual Properties
/// <summary>
/// Gets or sets the person alias.
/// </summary>
/// <value>
/// The person alias.
/// </value>
[DataMember]
public virtual PersonAlias PersonAlias { get; set; }
/// <summary>
/// Gets or sets the native device type.
/// </summary>
/// <value>
/// The device type value.
/// </value>
[DataMember]
public virtual DefinedValue NativeDeviceTypeId { get; set; }
#endregion
#region Public Methods
#endregion
}
#region Entity Configuration
/// <summary>
/// Configuration class.
/// </summary>
public partial class NativeDeviceChannelConfiguration : EntityTypeConfiguration<NativeDeviceChannel>
{
/// <summary>
/// Initializes a new instance of the <see cref="NativeDeviceChannelConfiguration"/> class.
/// </summary>
public NativeDeviceChannelConfiguration()
{
this.HasOptional( r => r.PersonAlias ).WithMany().HasForeignKey( r => r.PersonAliasId ).WillCascadeOnDelete( false );
this.HasOptional( r => r.NativeDeviceType ).WithMany().HasForeignKey( r => r.NativeDeviceTypeId ).WillCascadeOnDelete( false );
}
}
#endregion
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment