Files
sockeye/server/models/GlobalBizSettings.cs
2022-12-16 06:01:23 +00:00

119 lines
4.1 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Newtonsoft.Json;
namespace Sockeye.Models
{
public class GlobalBizSettings
{
//This is the replacement for most of the Global object settings in v7 which has been subdivided further in v8 into backup / ops / notification and this general biz
//this object is only interested in Business object related settings and configuration specifically
public long Id { get; set; }//this is always 1 as there is only ever one single global biz object
public uint Concurrency { get; set; }
//Global settings
//############# NOTE: OTHER AREAS THAT MUST MATCH CHANGES HERE ARE:
//GlobalBizSettingsController::GetClientGlobalBizSettings
//ServerGlobalBizSettings
//Picklist and other searches override the normal case insensitive value
//this is precautionarily added for non latinate languages where it could be an issue
public bool FilterCaseSensitive { get; set; }
//ADDRESS / CONTACT INFO reporting etc
public string WebAddress { get; set; }
public string EmailAddress { get; set; }
public string Phone1 { get; set; }
public string Phone2 { get; set; }
//POSTAL ADDRESS
public string PostAddress { get; set; }
public string PostCity { get; set; }
public string PostRegion { get; set; }
public string PostCountry { get; set; }
public string PostCode { get; set; }
//PHYSICAL ADDRESS
public string Address { get; set; }
public string City { get; set; }
public string Region { get; set; }
public string Country { get; set; }
public string AddressPostal { get; set; }
public decimal? Latitude { get; set; }
public decimal? Longitude { get; set; }
//CUSTOMER ACCESS FEATURES AND SETTINGS
public bool CustomerAllowUserSettings { get; set; }
public List<string> CustomerAllowUserSettingsInTags { get; set; } = new List<string>();
public List<string> AllTags(){
var t=new List<string>();
t.AddRange(this.CustomerAllowUserSettingsInTags);
return t;
}
public GlobalBizSettings()
{
Id = 1;//always 1
FilterCaseSensitive = false;
}
}
//Used internally and at client end as extended rights atop roles system in relation only to Contact (customer type users)
public record CustomerRightsRecord(bool UserSettings, long EntityId, bool EntityActive);
}
/*
CREATE TABLE [dbo].[AGLOBAL](
[ACREATED] [datetime] NULL,
[AMODIFIED] [datetime] NULL,
[ACREATOR] [uniqueidentifier] NULL,
[AMODIFIER] [uniqueidentifier] NULL,
[ATAXPARTPURCHASEID] [uniqueidentifier] NULL,
[ATAXPARTSALEID] [uniqueidentifier] NULL,
[ATAXRATESALEID] [uniqueidentifier] NULL,
[AALLOWSCHEDULECONFLICTS] [bit] NOT NULL,
[ALANGUAGE] [nvarchar](255) NULL,
[AUSEREGIONS] [bit] NOT NULL,
[AWORKORDERCLOSEDSTATUS] [uniqueidentifier] NULL,
[AWORKORDERSUMMARYTEMPLATE] [nvarchar](500) NOT NULL,
[AUSEINVENTORY] [bit] NOT NULL,
[AUNITNAMEFORMAT] [smallint] NULL,
[ASCHEDULEABLEUSERNAMEFORMAT] [smallint] NULL,
[ACJKINDEX] [bit] NOT NULL,
[APARTFORMAT] [smallint] NULL,
[AWORKORDERCLOSEBYAGE] [int] NOT NULL,
[AUSENOTIFICATION] [bit] NOT NULL,
[ANOTIFYSMTPHOST] [nvarchar](255) NULL,
[ANOTIFYSMTPACCOUNT] [nvarchar](255) NULL,
[ANOTIFYSMTPPASSWORD] [nvarchar](255) NULL,
[ANOTIFYSMTPFROM] [nvarchar](255) NULL,
[ACOORDINATESTYLE] [smallint] NULL,
[ADEFAULTLATITUDE] [smallint] NULL,
[ADEFAULTLONGITUDE] [smallint] NULL,
[ADEFAULTSERVICETEMPLATEID] [uniqueidentifier] NULL,
[AMAXFILESIZEMB] [int] NULL,
[ALABORSCHEDUSERDFLTTIMESPAN] [int] NOT NULL,
[ATRAVELDFLTTIMESPAN] [int] NOT NULL,
[ANOTIFYENCRYPTION] [nvarchar](255) NULL,
[ASMTPRETRY] [bit] NOT NULL,
[AFORMCUSTOM] [ntext] NULL,
[ASIGNATURETITLE] [ntext] NULL,
[ASIGNATUREHEADER] [ntext] NULL,
[ASIGNATUREFOOTER] [ntext] NULL,
[ASCHEDUSERNONTODAYSTARTTIME] [datetime] NULL,
[AMAINGRIDAUTOREFRESH] [bit] NOT NULL
*/