using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Sleis.Utility;
using System.Web.Mvc;
using System.ComponentModel;
namespace Sleis.Models
{
public static class Constants
{
public const string GlobalMessageKey = "GlobalMessage";
public const string GlobalErrorMessageKey = "GlobalErrorMessage";
public const string ReturnUrlKey = "ReturnUrl";
public const string EmailFormatRegEx = @"^([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*[\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+@((((([a-zA-Z0-9]{1}[a-zA-Z0-9\-]{0,62}[a-zA-Z0-9]{1})|[a-zA-Z])\.)+[a-zA-Z]{2,6})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)$";
public const string FormatErrorMessage = "The format is invalid.";
public const string RequiredErrorMessage = "This field is required.";
public const string InvalidNumericFormatErrorMessage = "Invalid numeric format.";
public const string InvalidNumericValueErrorMessage = "Invalid numeric value.";
public const string SavingDataErrorMessage = "Error while saving data. Please see logs for details.";
public const string DeletingDataErrorMessage = "Error while deleting data. Please see logs for details.";
public const string TabErrorMessage = "Validation error. Please correct issues on all highlighted tabs and then save your changes again.";
public const string DecimalFormatRegEx = @"^[-]?\d+(\.\d+)?$";
public const string IntegerFormatRegEx = @"^?\d*\.?\d*$"; //Optional
//public const string DataTableCount = "Showing out of records.";
public const string DataTableCount = "showing .";
public const string DateRegEx = @"^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$";
public const string DateFormatErrorMessage = "Invalid date format.";
public const string PageKey = "PageKey";
public const string EnableMonthlyThroughputTotals = "app.enable.monthly.throughput.totals";
public const string LastDocumentId = "LastDocumentId";
public const string EnableRegulatoryProgramIn = "app.enable.regulatory.program.in";
public const string EnableRegulatoryProgramInEmissionUnit = "emissionUnit";
public const string EnableRegulatoryProgramInUnitProcess = "unitProcess";
public const string UseEmissionUnitControlApproach = "app.use.emission.unit.control.approach";
// * duplicate ** public const string MonthlyThroughputTotalsEnabled = "app.enable.monthly-throughput";
public const string PageFieldsKey = "PageFields";
public const string IdentifierTypeKey = "IdentifierType";
public const string UserSubscriberAgreementMessage = "user.subscriber.agreement";
public const string AppHomeWelcomeTxt = "app.home.welcome.text";
public const string AppHomeDownloadTxt = "app.home.register.text";
public const string DownloadTxt = "app.downloadfroms.text";
public const string AppManagerHomeWelcomeTxt = "app.managerhome.welcome.text";
public const string UseProcessIsCbi = "app.use.process.is.cbi";
public const string NodeEndpointUrl = "node.endpoint.url";
public const string NodeEndpointUsername = "node.endpoint.username";
public const string NodeEndpointPassword = "node.endpoint.password";
public const string NodeOrganization = "node.organization";
public const string NodeType = "node.type";
public const string NodeAttachmentFolderPath = "node.attachment.folder.path";
public const string AppReportFacilityTooltip = "app.report.facility.tooltip";
public const string AppReportReleasepointsTooltip = "app.report.releasepoints.tooltip";
public const string AppReportControldevicesTooltip = "app.report.controldevices.tooltip";
public const string AppReportEmissionunitsTooltip = "app.report.emissionunits.tooltip";
public const string AppReportUnitprocessesTooltip = "app.report.unitprocesses.tooltip";
public const string AppReportProcessemissionsTooltip = "app.report.processemissions.tooltip";
public const string AppReportReportAttachmentsTooltip = "app.report.reportattachments.tooltip";
public const string AppAutocompleteResultsSize = "app.autocomplete.results.size";
public const string AppDataProvider = "data.provider";
public const string AppConnectionString = "data.connection";
public const string CanEditScc = "app.can.edit.scc";
public const string UserProfileInvalidMessage = "user.profile.invalid";
public const string EnableDetailedErrorMessages = "enable.detailed.error.message";
public const string PublicReleasePointCannotDeleteMessage = "public.releasepoint.cannot.delete.message";
public const string AgencyReleasePointCannotDeleteMessage = "agency.releasepoint.cannot.delete.message";
public const string AgencyControlDeviceCannotDeleteMessage = "agency.controldevice.cannot.delete.message";
public const string AgencyEmissionUnitCannotDeleteMessage = "agency.emissionunit.cannot.delete.message";
public const string AgencyUnitProcessCannotDeleteMessage = "agency.unitprocess.cannot.delete.message";
//SESSION KEYS
public const string ToggleInfo = @"ToggleInfo";
public const string DefaultPageSize = "default.list.page.size";
public const string AppFipsStateCode = "app.fips.state.code";
public const string EisSubmissionId = "eis.submission.id";
public const string InvalidResetPasswordToken = "invalid.reset.password.token";
}
public static class Lists
{
public static readonly string SleisSecQuestions = "SleisSecQuestions";
public static readonly string SleisSecQuestionNumber = "SleisSecQuestionNumber";
public static readonly string SleisUserTypeTypeListName = "SleisUserTypeTypes";
public static readonly object[] SleisUserTypeTypes = new object[] { SleisUserTypeType.Agency,
SleisUserTypeType.Facility};
public static readonly string SleisUserStatusTypesName = "SleisUserStatusTypes";
public static readonly object[] SleisUserStatusTypes = new object[] { SleisUserStatusType.Active,
SleisUserStatusType.Inactive,
SleisUserStatusType.Locked
//, SleisUserStatusType.Pending
};
public static readonly string SleisUserContactTypesName = "SleisUserStatusTypes";
public static readonly object[] SleisUserContactTypes = new object[] { "",
ContactMethodType.Other,
ContactMethodType.Email,
ContactMethodType.Fax,
ContactMethodType.Phone,
ContactMethodType.Mobile };
}
public enum ValidationResultItemType
{
Undefined,
Warning,
Error
}
public enum FacilityContactType
{
Undefined,
Compliance,
Emissions,
Permit
}
public enum ContactMethodType
{
Undefined,
Other,
Email,
Fax,
Phone,
Mobile
}
public enum EventType
{
Undefined,
Auth,
Audit,
Info,
Error
}
public enum EventRecordType
{
Undefined,
CFRMNumber,
SubmissionId,
ReportId
}
public enum SubmissionDocumentStatus
{
Undefined,
Initiated,
RepudiationRequested,
Repudiated,
Submitted
}
//used as emission status code filter in Process Emission data
public enum EmissionUnitCode
{
OP,
TS,
PS
}
public enum SleisUserStatusType
{
//[Description("Undefined")]
//Undefined,
//[Description("Pending")]
//Pending,
[Description("Active")]
Active,
[Description("Locked")]
Locked,
[Description("Inactive")]
Inactive,
[Description("Deleted")]
Deleted
}
public enum ReportStatus
{
[Description("Not Published")]
NotPublished,
[Description("Not Started")]
NotStarted,
[Description("In Process")]
InProcess,
[Description("Submitted")]
Submitted,
[Description("Being Amended")]
BeingAmended,
[Description("Under Review")]
UnderReview,
[Description("Completed")]
Completed
}
public enum SleisUserTypeType
{
Undefined,
Facility,
Agency,
System
}
public enum SleisViewType
{
Undefined,
Public,
Agency
}
[Flags]
public enum AppUserRoleType
{
Undefined = 0,
[Description("Viewer")]
FacilityViewer = 2,
[Description("Editor")]
FacilityEditor = 4,
[Description("Submitter")]
FacilitySubmitter = 8,
[Description("Administrator")]
FacilityAdmin = 16,
[Description("Viewer")]
AgencyViewer = 32,
[Description("Editor")]
AgencyEditor = 64,
[Description("Acceptor")]
AgencyAcceptor = 128,
[Description("Submitter")]
AgencySubmitter = 256,
[Description("Administrator")]
AgencyAdmin = 512,
Facility = FacilityViewer | FacilityEditor | FacilitySubmitter | FacilityAdmin,
Agency = AgencyViewer | AgencyEditor | AgencyAcceptor | AgencySubmitter | AgencyAdmin
}
public enum CustomFieldEntityType
{
[Description("Undefined")]
Undefined,
[Description("Reporting Period")]
ReportingPeriod,
[Description("Unit Process")]
UnitProcess,
[Description("Emission Unit")]
EmissionUnit,
[Description("Control Device")]
ControlDevice,
[Description("Release Point")]
ReleasePoint,
[Description("Facility")]
Facility,
[Description("Process Emission")]
ProcessEmission,
[Description("Agency Facility")]
AgencyFacility
}
public enum CustomFieldDataType
{
Undefined,
Boolean,
Numeric,
String,
List,
Date
}
public enum CustomFieldDataStyleType
{
Undefined,
Optional,
Required,
ReadOnly,
Hidden
}
public enum EmissionsReportType {
Facility,
ReleasePoint,
EmissionUnit
}
}