<?xml version="1.0"?>
<doc>
    <assembly>
        <name>AyaNova</name>
    </assembly>
    <members>
        <member name="T:AyaNova.Biz.AttachmentBiz">
            <summary>
            Handle attachment file related cleanup and checking
            </summary>
        </member>
        <member name="M:AyaNova.Biz.AttachmentBiz.ProcessAttachmentMaintenanceAsync(AyaNova.Models.OpsJob)">
            <summary>
            Handle the job
            </summary>
            <param name="job"></param>
        </member>
        <member name="T:AyaNova.Biz.AuthorizationRoles">
            <summary>
            Authorization roles
            </summary>
        </member>
        <member name="F:AyaNova.Biz.AuthorizationRoles.NoRole">
            <summary>No role set</summary>
        </member>
        <member name="F:AyaNova.Biz.AuthorizationRoles.BizAdminRestricted">
            <summary>BizAdminRestricted</summary>
        </member>
        <member name="F:AyaNova.Biz.AuthorizationRoles.BizAdmin">
            <summary>BizAdmin</summary>
        </member>
        <member name="F:AyaNova.Biz.AuthorizationRoles.ServiceRestricted">
            <summary>ServiceRestricted</summary>
        </member>
        <member name="F:AyaNova.Biz.AuthorizationRoles.Service">
            <summary>Service</summary>
        </member>
        <member name="F:AyaNova.Biz.AuthorizationRoles.InventoryRestricted">
            <summary>InventoryRestricted</summary>
        </member>
        <member name="F:AyaNova.Biz.AuthorizationRoles.Inventory">
            <summary>Inventory</summary>
        </member>
        <member name="F:AyaNova.Biz.AuthorizationRoles.Accounting">
            <summary>Accounting</summary>
        </member>
        <member name="F:AyaNova.Biz.AuthorizationRoles.TechRestricted">
            <summary>TechRestricted</summary>
        </member>
        <member name="F:AyaNova.Biz.AuthorizationRoles.Tech">
            <summary>Tech</summary>
        </member>
        <member name="F:AyaNova.Biz.AuthorizationRoles.SubContractorRestricted">
            <summary>SubContractorRestricted</summary>
        </member>
        <member name="F:AyaNova.Biz.AuthorizationRoles.SubContractor">
            <summary>SubContractor</summary>
        </member>
        <member name="F:AyaNova.Biz.AuthorizationRoles.CustomerRestricted">
            <summary>ClientRestricted</summary>
        </member>
        <member name="F:AyaNova.Biz.AuthorizationRoles.Customer">
            <summary>Client</summary>
        </member>
        <member name="F:AyaNova.Biz.AuthorizationRoles.OpsAdminRestricted">
            <summary>OpsAdminRestricted</summary>
        </member>
        <member name="F:AyaNova.Biz.AuthorizationRoles.OpsAdmin">
            <summary>OpsAdmin</summary>
        </member>
        <member name="F:AyaNova.Biz.AuthorizationRoles.Sales">
            <summary>Sales</summary>
        </member>
        <member name="F:AyaNova.Biz.AuthorizationRoles.SalesRestricted">
            <summary>SalesRestricted</summary>
        </member>
        <member name="F:AyaNova.Biz.AuthorizationRoles.All">
            <summary>Anyone of any role</summary>
        </member>
        <member name="T:AyaNova.Biz.AyaDaysOfWeek">
            <summary>
            Days of week
            </summary>
        </member>
        <member name="T:AyaNova.Biz.AyaEvent">
            <summary>
            All AyaNova event types
            Used for central biz logging and notification
            </summary>
        </member>
        <member name="T:AyaNova.Biz.AyaType">
            <summary>
            All AyaNova types and their attributes indicating what features that type will support (tagging, attachments etc)
            </summary>
        </member>
        <member name="M:AyaNova.Biz.AyaTypeId.AyaTypeExists(System.Int32)">
            <summary>
            Check if the numeric or name type value is an actual enum value
            </summary>
            <param name="enumNumber"></param>
            <returns></returns>
        </member>
        <member name="P:AyaNova.Biz.AyaTypeId.IsCoreBizObject">
            <summary>
            Is object a core biz object
            </summary>
            <returns></returns>
        </member>
        <member name="T:AyaNova.Biz.BizObject">
            <summary>
            Business object base class
            </summary>
        </member>
        <member name="T:AyaNova.Biz.BizRoles">
            <summary>
            roles of all business objects
            </summary>
        </member>
        <member name="M:AyaNova.Biz.BizRoles.GetRoleSet(AyaNova.Biz.AyaType)">
            <summary>
            Get roleset for biz object
            </summary>
            <param name="forType"></param>
            <returns></returns>
        </member>
        <member name="T:AyaNova.Biz.BizRoleSet">
            <summary>
            This is a set of roles to be stored in the central BizRoles with a key for each object type
            </summary>
        </member>
        <member name="T:AyaNova.Biz.ContractOverrideType">
            <summary>
            Contract override types for contract discounts / markup
            </summary>
        </member>
        <member name="T:AyaNova.Biz.CoreBizObjectAttribute">
            <summary>
            Marker attribute indicating that an object is a core business object
            In other words a real world business relevant object and not a utility or internal type of object
            something that would be worked with by users in the UI for business purposes
            This is used to indicate that an object supports these features:
                PickList selectable (has picklist)
                Attachable (can attach to it)
                Reviewable (can set a review on it)
                ETC
            Used in <see cref="T:AyaNova.Biz.AyaType"/>
            </summary>
        </member>
        <member name="F:AyaNova.Biz.CustomerServiceRequestPriority.NotUrgent">
            <summary>
            Not urgent, service at time of choosing of service company
            </summary>
        </member>
        <member name="F:AyaNova.Biz.CustomerServiceRequestPriority.ASAP">
            <summary>
            Not an emergency but quite urgent, service as soon as possible
            </summary>
        </member>
        <member name="F:AyaNova.Biz.CustomerServiceRequestPriority.Emergency">
            <summary>
            Issue is an emergency, client expects service company to make it their first priority
            </summary>
        </member>
        <member name="F:AyaNova.Biz.CustomerServiceRequestStatus.Open">
            <summary>
            No status set
            (editable)
            </summary>
        </member>
        <member name="F:AyaNova.Biz.CustomerServiceRequestStatus.Accepted">
            <summary>
            Accepted for service
            (Not editable / locked and closed)
            </summary>
        </member>
        <member name="F:AyaNova.Biz.CustomerServiceRequestStatus.Declined">
            <summary>
            Declined for service
            (editable)
            </summary>
        </member>
        <member name="M:AyaNova.Biz.CustomFieldsValidator.CustomFieldIsSetToRequired(Newtonsoft.Json.Linq.JArray,System.String)">
            <summary>
            Check if field is required
            </summary>
            <param name="FormTemplate"></param>
            <param name="FieldKey"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Biz.DashboardViewBiz.GetAsync">
            GET
        </member>
        <member name="M:AyaNova.Biz.DataListSavedFilterBiz.GetAsync(System.Int64)">
            GET
        </member>
        <member name="M:AyaNova.Biz.EventLogProcessor.LogEventToDatabaseAsync(AyaNova.Models.Event,AyaNova.Models.AyContext)">
            <summary>
            Add an entry to the log
            
            </summary>      
            <param name="newEvent"></param>
            <param name="ct"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Biz.EventLogProcessor.DeleteObjectLogAsync(System.Int64,AyaNova.Biz.AyaType,System.Int64,System.String,AyaNova.Models.AyContext)">
            <summary>
            Handle delete
            remove all prior entries for object, add one deleted entry
            </summary>             
            <param name="userId"></param>
            <param name="ayaType"></param>
            <param name="ayId"></param>
            <param name="textra"></param>
            <param name="ct"></param>
        </member>
        <member name="M:AyaNova.Biz.EventLogProcessor.GetLogForObjectAsync(AyaNova.Api.Controllers.EventLogController.EventLogOptions,System.Int64,AyaNova.Models.AyContext)">
            <summary>
            Get the event log for a specified object
            Presentation is the client's responsibility (localization internationalization etc)
            </summary>
        </member>
        <member name="M:AyaNova.Biz.EventLogProcessor.GetLogForUserAsync(AyaNova.Api.Controllers.EventLogController.UserEventLogOptions,System.Int64,AyaNova.Models.AyContext)">
            <summary>
            Get the event log for a specified User
            Presentation is the client's responsibility (localization internationalization etc)
            </summary>
        </member>
        <member name="M:AyaNova.Biz.EventLogProcessor.V7_Modify_LogAsync(AyaNova.Api.Controllers.EventLogController.V7Event,AyaNova.Models.AyContext)">
            <summary>
            V7 export handler
            Exporter needs to fixup event log CREATED entry to show original created and last modified times
            and users
            </summary>                   
        </member>
        <member name="M:AyaNova.Biz.FormCustomBiz.GetAsync(System.String)">
            GET
        </member>
        <member name="M:AyaNova.Biz.GlobalBizSettingsBiz.GetAsync(System.Boolean)">
            GET
        </member>
        <member name="M:AyaNova.Biz.GlobalOpsBackupSettingsBiz.GetAsync(System.Boolean)">
            GET
        </member>
        <member name="M:AyaNova.Biz.GlobalOpsNotificationSettingsBiz.GetAsync(System.Boolean)">
            GET
        </member>
        <member name="T:AyaNova.Biz.IBizObject">
            <summary>
            
            </summary>
        </member>
        <member name="P:AyaNova.Biz.IBizObject.Errors">
            <summary>
            Contains list of errors
            </summary>
        </member>
        <member name="P:AyaNova.Biz.IBizObject.HasErrors">
            <summary>
            Is true if there are errors
            </summary>
        </member>
        <member name="M:AyaNova.Biz.IBizObject.PropertyHasErrors(System.String)">
            <summary>
            Is true if the field specified exists in the list
            </summary>
        </member>
        <member name="M:AyaNova.Biz.IBizObject.AddError(AyaNova.Biz.ApiErrorCode,System.String,System.String)">
            <summary>
            
            </summary>
            <param name="errorCode"></param>
            <param name="errorMessage"></param>
            <param name="propertyName"></param>
        </member>
        <member name="T:AyaNova.Biz.IExportAbleObject">
            <summary>
            Interface for biz objects that support exporting
            </summary>
        </member>
        <member name="T:AyaNova.Biz.IImportAbleObject">
            <summary>
            Interface for biz objects that support importing from JSON
            </summary>
        </member>
        <member name="T:AyaNova.Biz.IJobObject">
            <summary>
            Interface for biz objects that support jobs / long running operations 
            </summary>
        </member>
        <member name="M:AyaNova.Biz.IJobObject.HandleJobAsync(AyaNova.Models.OpsJob)">
            <summary>
             Start and process an operation
            NOTE: If this code throws an exception the caller (JobsBiz::ProcessJobsAsync) will automatically set the job to failed and log the exeption so 
            basically any error condition during job processing should throw up an exception if it can't be handled
            </summary>
            <param name="job"></param>
        </member>
        <member name="T:AyaNova.Biz.ImportableBizObjectAttribute">
            <summary>
            Marker attribute indicating that an object is a importable type
            Used in <see cref="T:AyaNova.Biz.AyaType"/>
            </summary>
        </member>
        <member name="T:AyaNova.Biz.INotifiableObject">
            <summary>
            Interface for biz objects that support notification
            </summary>
        </member>
        <member name="T:AyaNova.Biz.IReportAbleObject">
            <summary>
            Interface for biz objects that support reporting
            </summary>
        </member>
        <member name="T:AyaNova.Biz.ISearchAbleObject">
            <summary>
            Interface for biz objects that support searching
            </summary>
        </member>
        <member name="M:AyaNova.Biz.JobsBiz.GetReadyJobsExclusiveOnlyAsync">
            <summary>
            Get a non tracked list of jobs that are ready to process and exclusive only
            </summary>       
            <returns></returns>
        </member>
        <member name="M:AyaNova.Biz.JobsBiz.GetReadyJobsNotExlusiveOnlyAsync">
            <summary>
            Get a non tracked list of jobs that are ready to process and exclusive only
            </summary>       
            <returns></returns>
        </member>
        <member name="M:AyaNova.Biz.JobsBiz.GetReadyJobsAsync(System.Boolean)">
            <summary>
            Get a non tracked list of jobs filtered by exclusivity
            </summary>       
            <returns></returns>
        </member>
        <member name="M:AyaNova.Biz.JobsBiz.AddJobAsync(AyaNova.Models.OpsJob)">
            <summary>
            Add a new job to the database
            </summary>      
            <param name="newJob"></param>
        </member>
        <member name="M:AyaNova.Biz.JobsBiz.RequestCancelAsync(System.Guid)">
            <summary>
            Request the cancellation of a job, not all jobs honour this
            </summary>
            <param name="jobId"></param>        
        </member>
        <member name="M:AyaNova.Biz.JobsBiz.RemoveJobAndLogsAsync(System.Guid)">
            <summary>
            Remove the job and it's logs
            </summary>       
            <param name="jobIdToBeDeleted"></param>
        </member>
        <member name="M:AyaNova.Biz.JobsBiz.LogJobAsync(System.Guid,System.String)">
            <summary>
            Make a log entry for a job
            </summary>
            <param name="jobId">(NOTE: Guid.empty indicates internal job)</param>
            <param name="statusText"></param>
        </member>
        <member name="M:AyaNova.Biz.JobsBiz.UpdateJobStatusAsync(System.Guid,AyaNova.Biz.JobStatus)">
            <summary>
            Update the status of a job
            </summary>
            <param name="jobId"></param>
            <param name="newStatus"></param>     
        </member>
        <member name="M:AyaNova.Biz.JobsBiz.GetJobStatusAsync(System.Guid)">
            <summary>
            Get the status of a job
            </summary>
            <param name="jobId"></param>        
        </member>
        <member name="M:AyaNova.Biz.JobsBiz.UpdateJobProgressAsync(System.Guid,System.String)">
            <summary>
            Update the progress of a job
            </summary>
            <param name="jobId"></param>
            <param name="progress"></param>     
        </member>
        <member name="M:AyaNova.Biz.JobsBiz.GetJobProgressAsync(System.Guid)">
            <summary>
            Get the progress and status of a job
            </summary>
            <param name="jobId"></param>        
        </member>
        <member name="M:AyaNova.Biz.JobsBiz.ProcessJobsAsync">
            <summary>
            Process all jobs (stock jobs and those found in operations table)
            </summary>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Biz.JobsBiz.ProcessJobAsync(AyaNova.Models.OpsJob)">
            <summary>
            Process a job by calling into it's biz object
            </summary>       
            <param name="job"></param>      
            <returns></returns>
        </member>
        <member name="T:AyaNova.Biz.JobStatus">
            <summary>
            Job status for opsjobs
            </summary>
        </member>
        <member name="T:AyaNova.Biz.JobType">
            <summary>
            All AyaNova Job types, used by OpsJob and biz objects for long running processes
            </summary>
        </member>
        <member name="T:AyaNova.Biz.JobSubType">
            <summary>
            SubTypes for jobs that have further distinctions
            </summary>
        </member>
        <member name="T:AyaNova.Biz.NotifyDeliveryMethod">
            <summary>
            All AyaNova notification delivery methods
            
            </summary>
        </member>
        <member name="T:AyaNova.Biz.NotifyEventType">
            <summary>
            All AyaNova notification event types
            
            </summary>
        </member>
        <member name="T:AyaNova.Biz.NotifyMailSecurity">
            <summary>
            All AyaNova smtp notification connection security
            
            </summary>
        </member>
        <member name="M:AyaNova.Biz.PickListBiz.GetAsync(AyaNova.Biz.AyaType,System.Boolean)">
            GET
        </member>
        <member name="M:AyaNova.Biz.PMBiz.SetGenerateDate(AyaNova.Models.PM)">
            <summary>
            Calculate generate date based on service date and 
            generate before span and unit
            </summary>
        </member>
        <member name="M:AyaNova.Biz.PrimeData.PrimeSuperUserAccount(AyaNova.Models.AyContext)">
            <summary>
            Prime the database with SuperUser account
            </summary>    
        </member>
        <member name="M:AyaNova.Biz.PrimeData.PrimeTranslations">
            <summary>
            Prime the Translations
            This may be called before there are any users on a fresh db boot 
            </summary>    
        </member>
        <member name="M:AyaNova.Biz.PrimeData.PrimeReportTemplates">
            <summary>
            Prime the Report Templates
            </summary>    
        </member>
        <member name="T:AyaNova.Biz.PurchaseOrderStatus">
            <summary>
            Enumeration used to track Purchase Order through business process from start to closed
            </summary>
        </member>
        <member name="T:AyaNova.Biz.ReportableBizObjectAttribute">
            <summary>
            Marker attribute indicating that an object is a reportable type
            Used in <see cref="T:AyaNova.Biz.AyaType"/>
            </summary>
        </member>
        <member name="T:AyaNova.Biz.ReportPaperFormat">
            <summary>
            All AyaNova report paper format types, passed to pdf generator
            </summary>
        </member>
        <member name="T:AyaNova.Biz.ReportRenderType">
            <summary>
            All AyaNova report rendering types
            </summary>
        </member>
        <member name="T:AyaNova.Biz.Search.ExtractAndRank">
            <summary>
            Rank and extract best excerpt of specified text and search terms
            </summary>
        </member>
        <member name="P:AyaNova.Biz.Search.ExtractAndRank.Ranking">
            <summary>
            This is the ranking of the source text as it pertains to the 
            search terms
            
            A rank of zero means either there was no match or the rank that was calculated
            was lower than the threshold ranking, either way, no excerpt extraction is done.
            
            It is a percentage value on a scale of 0 to 100
            and is weighted:
            
            75% of the score is the percentage of all search terms found in the text
            25% of the score is the percentage of all characters in the text that are search term characters
            
             
            </summary>
        </member>
        <member name="P:AyaNova.Biz.Search.ExtractAndRank.MaximumCharactersToExtract">
            <summary>
            Maximum characters to appear in an extraction 
            default is 80
            Minimum is 10
            </summary>
        </member>
        <member name="P:AyaNova.Biz.Search.ExtractAndRank.ExtractionThresholdRank">
            <summary>
            ExtractionThresholdRank
            Extraction will only take place if the rank is
            this value or higher
            
            default is 10, maximum is 100 minimum is 0
            </summary>
        </member>
        <member name="P:AyaNova.Biz.Search.ExtractAndRank.FlattenExtract">
            <summary>
            If true, carriage returns and line feeds will be removed from extract
            </summary>
        </member>
        <member name="P:AyaNova.Biz.Search.ExtractAndRank.Extract">
            <summary>
            Extracted text excerpt that best reflects search terms
            </summary>
        </member>
        <member name="M:AyaNova.Biz.Search.ExtractAndRank.Process(AyaNova.Biz.Search.SearchIndexProcessObjectParameters,System.String[],System.Int32)">
            <summary>
            Do the extraction and ranking
            </summary>          
        </member>
        <member name="M:AyaNova.Biz.Search.ExtractAndRank.score(System.Int32,System.Int32)">
            <summary>
            Give a percentage score for a given window of
            text in the raw text string
            75% of the score is the percentage of all search terms found in the window
            25% of the score is the percentage of all characters in the search window that are search term characters
            
            
            
            </summary>
            <param name="nStartPos"></param>
            <param name="nEndPos"></param>
            <returns>Float value of zero to one hundred</returns>
        </member>
        <member name="M:AyaNova.Biz.Search.ExtractAndRank.DoExtract">
            <summary>
            Extract the best scoring excerpt fragments of 
            raw text
            </summary>
        </member>
        <member name="M:AyaNova.Biz.Search.ProcessKeywordsAsync(AyaNova.Biz.Search.SearchIndexProcessObjectParameters,System.Boolean)">
            <summary>
            Process the keywords into the dictionary        
            </summary>    
        </member>
        <member name="M:AyaNova.Biz.Search.BreakAsync(System.Int64,System.Collections.Generic.List{System.String})">
            <summary>
            Take an array of strings and 
            return a single string
            containing unique only, lowercase comma delimited 
            keywords suitable for passing to a 
            stored procedure or other function
            
            Use Translation setting CJKIndex=true to handle Chinese, Japanese, Korean etc
            (languages with no easily identifiable word boundaries as in english)
            </summary>       
            <returns>List of strings</returns>
        </member>
        <member name="M:AyaNova.Biz.Search.BreakAsync(System.Int64,System.String)">
            <summary>
            
            </summary>        
        </member>
        <member name="M:AyaNova.Biz.Search.BreakSearchPhraseAsync(System.Int64,System.String)">
            <summary>
            Used to Process users search phrase and preserve wild
            cards entered
            </summary>        
        </member>
        <member name="M:AyaNova.Biz.TagBiz.ProcessBatchTagOperation(System.Collections.Generic.List{System.String},System.String,System.String,AyaNova.Biz.JobSubType)">
            <summary>
            Process batch tag operation
            </summary>       
            <returns>true if object needs to be saved or false if no changes were made</returns>
        </member>
        <member name="M:AyaNova.Biz.TranslationBiz.GetAsync(System.Int64)">
            GET
        </member>
        <member name="M:AyaNova.Biz.TranslationBiz.ValidateTranslationsAsync">
            <summary>
            Ensure stock Translations and setup defaults
            Called by boot preflight check code AFTER it has already ensured the translation is a two letter code if stock one was chosen
            </summary>
        </member>
        <member name="T:AyaNova.Biz.TrialBiz">
            <summary>
            Handle data seeding and other trial ops
            </summary>
        </member>
        <member name="M:AyaNova.Biz.TrialBiz.ProcessSeedTestDataAsync(AyaNova.Models.OpsJob)">
            <summary>
            Handle the job
            </summary>
            <param name="job"></param>
        </member>
        <member name="M:AyaNova.Biz.UserBiz.GetForPublicAsync(System.Int64,System.Boolean)">
            GET
        </member>
        <member name="M:AyaNova.Biz.UserOptionsBiz.GetAsync(System.Int64)">
            GET
        </member>
        <member name="T:AyaNova.Biz.UserType">
            <summary>
            AyaNova User types
            </summary>
        </member>
        <member name="T:AyaNova.Biz.WorkOrderItemTaskCompletionType">
            <summary>
            Indicates status of task
            </summary>
        </member>
        <member name="F:AyaNova.Biz.WorkOrderItemTaskCompletionType.Incomplete">
            <summary>
            Not finished
            </summary>
        </member>
        <member name="F:AyaNova.Biz.WorkOrderItemTaskCompletionType.Complete">
            <summary>
            Finished
            </summary>
        </member>
        <member name="F:AyaNova.Biz.WorkOrderItemTaskCompletionType.NotApplicable">
            <summary>
            Not relevant
            </summary>
        </member>
        <member name="T:AyaNova.Biz.CoreIntegrationLogSweeper">
            <summary>
            Clear out old integration log data
            </summary>
        </member>
        <member name="T:AyaNova.Biz.CoreJobBackup">
            <summary>
            Backup 
            
            </summary>
        </member>
        <member name="T:AyaNova.Biz.CoreJobCustomerNotify">
             <summary>
             Notification processor
             turn notifyEvent records into inappnotification records for in app viewing and / or deliver smtp notifications seperately
            
             </summary>
        </member>
        <member name="T:AyaNova.Biz.CoreJobLicense">
            <summary>
            called by Generator to check RockFish for new licenses automatically
            
            </summary>
        </member>
        <member name="T:AyaNova.Biz.CoreJobMetricsSnapshot">
            <summary>
            called by Generator to gather server metrics and insert in db
            </summary>
        </member>
        <member name="T:AyaNova.Biz.CoreJobNotify">
            <summary>
            Notification processor
            turn notifyEvent records into inappnotification records for in app viewing and / or deliver smtp notifications seperately
            
            </summary>
        </member>
        <member name="T:AyaNova.Biz.CoreJobPMGenerate">
            <summary>
            Preventive maintenance generator
            turn PMs into Work orders
            
            </summary>
        </member>
        <member name="T:AyaNova.Biz.CoreJobPMInventoryCheck">
            <summary>
            Preventive maintenance generator
            turn PMs into Work orders
            
            </summary>
        </member>
        <member name="T:AyaNova.Biz.CoreJobReportRenderEngineProcessCleanup">
            <summary>
            called by Generator to kill report generation processor stuck in limbo (chromium at this time)
            </summary>
        </member>
        <member name="T:AyaNova.Biz.CoreJobSweeper">
            <summary>
            JobSweeper - called by Generator to clean out old jobs that are completed and their logs
            
            </summary>
        </member>
        <member name="M:AyaNova.Biz.CoreJobSweeper.killStuckJobsAsync(AyaNova.Models.AyContext,System.DateTime)">
            <summary>
            Kill jobs that have been stuck in "running" state for too long
            </summary>        
        </member>
        <member name="T:AyaNova.Biz.CoreJobTempFolderCleanup">
            <summary>
            called by Generator to keep temp folder squeaky clean
            </summary>
        </member>
        <member name="T:AyaNova.Biz.CoreJobVersionCheck">
            <summary>
            called by Generator to check new releases automatically
            
            </summary>
        </member>
        <member name="T:AyaNova.Biz.CoreNotificationSweeper">
            <summary>
            Clear out old data no longer required for notification system
            </summary>
        </member>
        <member name="T:AyaNova.ConfigureSwaggerOptions">
            <summary>
            Configures the Swagger generation options.
            </summary>
            <remarks>This allows API versioning to define a Swagger document per API version after the
            <see cref="T:Asp.Versioning.ApiExplorer.IApiVersionDescriptionProvider"/> service has been resolved from the service container.</remarks>
        </member>
        <member name="M:AyaNova.ConfigureSwaggerOptions.#ctor(Asp.Versioning.ApiExplorer.IApiVersionDescriptionProvider)">
            <summary>
            Initializes a new instance of the <see cref="T:AyaNova.ConfigureSwaggerOptions"/> class.
            </summary>
            <param name="provider">The <see cref="T:Asp.Versioning.ApiExplorer.IApiVersionDescriptionProvider">provider</see> used to generate Swagger documents.</param>
        </member>
        <member name="M:AyaNova.ConfigureSwaggerOptions.Configure(Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenOptions)">
            <inheritdoc />
        </member>
        <member name="T:AyaNova.Api.ControllerHelpers.ApiCustomExceptionFilter">
            <summary>
            This is essentially an unhandled exception handler
            </summary>
        </member>
        <member name="T:AyaNova.Api.ControllerHelpers.ApiDetailError">
            <summary>
            Detail error for inner part of error response
            </summary>
        </member>
        <member name="T:AyaNova.Api.ControllerHelpers.ApiError">
             <summary>
            
             </summary>
        </member>
        <member name="T:AyaNova.Api.ControllerHelpers.ApiServerState">
            <summary>
            Contains the current status of the server
            is injected everywhere for routes and others to check
            </summary>
        </member>
        <member name="F:AyaNova.Api.ControllerHelpers.ApiServerState.ServerState.UNKNOWN">
            <summary>Unknown state, used for parsing</summary>
        </member>
        <member name="F:AyaNova.Api.ControllerHelpers.ApiServerState.ServerState.Closed">
            <summary>No access for anyone API completely locked down. Not set by user but rather by internal server operations like importing or backup.</summary>
        </member>
        <member name="F:AyaNova.Api.ControllerHelpers.ApiServerState.ServerState.MigrateMode">
            <summary>Access only to SuperUser account for migration from AyaNova 7</summary>
        </member>
        <member name="F:AyaNova.Api.ControllerHelpers.ApiServerState.ServerState.OpsOnly">
            <summary>Access only to API Operations routes. Can be set by Ops user</summary>
        </member>
        <member name="F:AyaNova.Api.ControllerHelpers.ApiServerState.ServerState.Open">
            <summary>Open for all users (default). Can be set by Ops user</summary>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.ApiServerState.SetState(AyaNova.Api.ControllerHelpers.ApiServerState.ServerState,System.String)">
            <summary>
            Set the server state
            </summary>
            <param name="newState"></param>
            <param name="reason"></param>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.ApiServerState.GetState">
            <summary>
            Get the current state of the server
            </summary>
            <returns></returns>
        </member>
        <member name="P:AyaNova.Api.ControllerHelpers.ApiServerState.Reason">
            <summary>
            Get the current reason for the state of the server
            </summary>
            <returns></returns>
        </member>
        <member name="T:AyaNova.Api.ControllerHelpers.ApiUploadProcessor">
            <summary>
            Handle processing uplod form with potentially huge files being uploaded (which means can't use simplest built in upload handler method)
            </summary>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.ApiUploadProcessor.ProcessUploadAsync(Microsoft.AspNetCore.Http.HttpContext)">
            <summary>
            handle upload
            </summary>
            <param name="httpContext"></param>        
            <returns><see cref="T:AyaNova.Api.ControllerHelpers.ApiUploadProcessor.ApiUploadedFilesResult"/> list of files and form field data (if present)</returns>
        </member>
        <member name="T:AyaNova.Api.ControllerHelpers.ApiUploadProcessor.ApiUploadedFilesResult">
            <summary>
            Contains result of upload form processor
            </summary>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.Authorized.HasAnyRole(System.Collections.Generic.IDictionary{System.Object,System.Object},AyaNova.Biz.AuthorizationRoles)">
            <summary>
            User has any role restricted or full
            </summary>
            <param name="HttpContextItems"></param>   
            <param name="CheckRoles"></param>    
            <returns></returns>       
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.Authorized.HasAnyRole(AyaNova.Biz.AuthorizationRoles,AyaNova.Biz.AuthorizationRoles)">
            <summary>
            User has any role restricted or full
            </summary>
            <param name="currentUserRoles"></param>   
            <param name="CheckRoles"></param>    
            <returns></returns>       
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.Authorized.HasAnyRole(System.Collections.Generic.IDictionary{System.Object,System.Object},AyaNova.Biz.AyaType)">
            <summary>
            any access at all?
            </summary>
            <param name="HttpContextItems"></param>
            <param name="aType"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.Authorized.HasAnyRole(AyaNova.Biz.AuthorizationRoles,AyaNova.Biz.AyaType)">
            <summary>
            User has any access at all to this object?
            </summary>
            <param name="currentUserRoles"></param>
            <param name="aType"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.Authorized.HasSelectRole(System.Collections.Generic.IDictionary{System.Object,System.Object},AyaNova.Biz.AyaType)">
            <summary>
            READ FULL RECORD (not just name and id)
            </summary>
            <param name="HttpContextItems"></param>
            <param name="aType"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.Authorized.HasSelectRole(AyaNova.Biz.AuthorizationRoles,AyaNova.Biz.AyaType)">
            <summary>
            SELECT BY NAME
            </summary>
            <param name="currentUserRoles"></param>
            <param name="aType"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.Authorized.HasReadFullRole(System.Collections.Generic.IDictionary{System.Object,System.Object},AyaNova.Biz.AyaType)">
            <summary>
            READ FULL RECORD (not just name and id)
            </summary>
            <param name="HttpContextItems"></param>
            <param name="aType"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.Authorized.HasReadFullRole(AyaNova.Biz.AuthorizationRoles,AyaNova.Biz.AyaType)">
            <summary>
            READ FULL RECORD (not just name and id)
            </summary>
            <param name="currentUserRoles"></param>
            <param name="aType"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.Authorized.HasCreateRole(System.Collections.Generic.IDictionary{System.Object,System.Object},AyaNova.Biz.AyaType)">
            <summary>
            CREATE
            </summary>
            <param name="HttpContextItems"></param>
            <param name="aType"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.Authorized.HasCreateRole(AyaNova.Biz.AuthorizationRoles,AyaNova.Biz.AyaType)">
            <summary>
            CREATE
            </summary>
            <param name="currentUserRoles"></param>
            <param name="aType"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.Authorized.HasModifyRole(System.Collections.Generic.IDictionary{System.Object,System.Object},AyaNova.Biz.AyaType)">
            <summary>
            MODIFY
            </summary>
            <param name="HttpContextItems"></param>
            <param name="aType"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.Authorized.HasModifyRole(AyaNova.Biz.AuthorizationRoles,AyaNova.Biz.AyaType)">
            <summary>
            MODIFY
            </summary>
            <param name="currentUserRoles"></param>
            <param name="aType"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.Authorized.HasDeleteRole(System.Collections.Generic.IDictionary{System.Object,System.Object},AyaNova.Biz.AyaType)">
            <summary>
            DELETE
            </summary>
            <param name="HttpContextItems"></param>
            <param name="aType"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.Authorized.HasDeleteRole(AyaNova.Biz.AuthorizationRoles,AyaNova.Biz.AyaType)">
            <summary>
            DELETE
            </summary>
            <param name="currentUserRoles"></param>       
            <param name="aType"></param>       
            <returns></returns>
        </member>
        <member name="T:AyaNova.Api.ControllerHelpers.DisableFormValueModelBindingAttribute">
            <summary>
            
            </summary>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.DisableFormValueModelBindingAttribute.OnResourceExecuting(Microsoft.AspNetCore.Mvc.Filters.ResourceExecutingContext)">
            <summary>
            
            </summary>
            <param name="context"></param>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.DisableFormValueModelBindingAttribute.OnResourceExecuted(Microsoft.AspNetCore.Mvc.Filters.ResourceExecutedContext)">
            <summary>
            
            </summary>
            <param name="context"></param>
        </member>
        <member name="T:AyaNova.Api.ControllerHelpers.MultipartRequestHelper">
            <summary>
            
            </summary>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.MultipartRequestHelper.GetBoundary(Microsoft.Net.Http.Headers.MediaTypeHeaderValue,System.Int32)">
            <summary>
            
            </summary>
            <param name="contentType"></param>
            <param name="lengthLimit"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.MultipartRequestHelper.IsMultipartContentType(System.String)">
            <summary>
            
            </summary>
            <param name="contentType"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.MultipartRequestHelper.HasFormDataContentDisposition(Microsoft.Net.Http.Headers.ContentDispositionHeaderValue)">
            <summary>
            
            </summary>
            <param name="contentDisposition"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.ControllerHelpers.MultipartRequestHelper.HasFileContentDisposition(Microsoft.Net.Http.Headers.ContentDispositionHeaderValue)">
            <summary>
            
            </summary>
            <param name="contentDisposition"></param>
            <returns></returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.ApiMetaController">
            <summary>
            Meta controller class
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.ApiMetaController.#ctor(Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.ApiMetaController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            
            </summary>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.ApiMetaController.Index">
            <summary>
            Server landing page
            </summary>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ApiMetaController.ServerInfo">
            <summary>    
            Get API server info for ABOUT form AyaNova display       
            </summary>
            <returns>API server info</returns>        
        </member>
        <member name="M:AyaNova.Api.Controllers.ApiMetaController.RoleRights">
            <summary>    
            Get list of types and roles required
            </summary>
            <returns>A list of AyaType role rights</returns>        
        </member>
        <member name="M:AyaNova.Api.Controllers.ApiMetaController.BuildMode">
            <summary>
            Get build mode of server, used for automated testing purposes
            </summary>
            <returns>"DEBUG" or "RELEASE"</returns>    
        </member>
        <member name="T:AyaNova.Api.Controllers.AttachmentController">
            <summary>
            Attachment controller
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.AttachmentController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.AttachmentController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.AttachmentController.PutAttachment(System.Int64,AyaNova.Api.Controllers.AttachmentController.UpdateAttachmentInfo)">
            <summary>
            Update FileAttachment
            (FileName and notes only)
            </summary>
            <param name="id"></param>
            <param name="inObj"></param>
            <returns>list</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.AttachmentController.GetList(AyaNova.Biz.AyaType,System.Int64)">
            <summary>
            Get attachments for object type and id specified
            
            Required Role: Read full object properties rights to object type specified
            
            </summary>        
            <returns>file attachment list for object</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.AttachmentController.GetParent(System.Int64)">
            <summary>
            Get parent object type and id 
            for specified attachment id
            
            </summary>        
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.AttachmentController.UploadAsync">
            <summary>
            Upload attachment file
            Max 10GiB total
            Requires same Authorization roles as object that file is being attached to
            
            </summary>
            <returns>NameValue list of filenames and attachment id's</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.AttachmentController.DeleteAttachmentAsync(System.Int64)">
            <summary>
            Delete Attachment
            </summary>
            <param name="id"></param>
            <returns>Ok</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.AttachmentController.PostBatchDelete(System.Collections.Generic.List{System.Int64})">
            <summary>
            Batch delete attachments
            
            </summary>        
            <returns>No content</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.AttachmentController.PostBatchMove(AyaNova.Api.Controllers.AttachmentController.dtoBatchMove)">
            <summary>
            Batch move attachments
            
            </summary>        
            <returns>No content</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.AttachmentController.DownloadAsync(System.Int64,System.String)">
            <summary>
            Download a file attachment
            </summary>
            <param name="id"></param>
            <param name="t">download token</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.AttachmentController.PostTriggerAttachmentMaintenanceJob">
            <summary>
            Trigger immediate AttachmentMaintenanceJob
            
            </summary>        
            <returns>Job Id</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.AuthController">
            <summary>
            Authentication controller
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.AuthController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.AuthController},Microsoft.Extensions.Configuration.IConfiguration,AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="context"></param>
            <param name="logger"></param>
            <param name="configuration"></param>
            <param name="apiServerState"></param>       
        </member>
        <member name="M:AyaNova.Api.Controllers.AuthController.PostCreds(AyaNova.Api.Controllers.AuthController.CredentialsParam)">
            <summary>
            Create credentials to receive a JSON web token
            </summary>
            <remarks>
            This route is used to authenticate to the AyaNova API.
            Once you have a token you need to include it in all requests that require authentication like this:
            <code>Authorization: Bearer [TOKEN]</code>
            Note the space between Bearer and the token. Also, do not include the square brackets      
            </remarks>  
            <param name="creds"></param>
            <returns></returns>       
        </member>
        <member name="M:AyaNova.Api.Controllers.AuthController.TfaAuthenticate(AyaNova.Api.Controllers.AuthController.TFAPinParam)">
            <summary>
            Verify tfa code
            </summary>
            <remarks>
            This route is used to authenticate to the AyaNova API via tfa code.
            Once you have a token you need to include it in all requests that require authentication like this:
            <code>Authorization: Bearer [TOKEN]</code>
            Note the space between Bearer and the token. Also, do not include the square brackets      
            </remarks>  
            <param name="pin"></param>
            <returns></returns>       
        </member>
        <member name="M:AyaNova.Api.Controllers.AuthController.ChangePassword(AyaNova.Api.Controllers.AuthController.ChangePasswordParam)">
            <summary>
            Change Password
            </summary>    
            <param name="changecreds"></param>
            <returns></returns>       
        </member>
        <member name="M:AyaNova.Api.Controllers.AuthController.ResetPassword(AyaNova.Api.Controllers.AuthController.ResetPasswordParam)">
            <summary>
            Change Password via reset token
            </summary>    
            <param name="resetcreds"></param>
            <returns></returns>       
        </member>
        <member name="M:AyaNova.Api.Controllers.AuthController.SendPasswordResetCode(System.Int64,Asp.Versioning.ApiVersion)">
            <summary>
            Generate time limited password reset code for User
            and email link to them so they can set their password
            
            </summary>
            <param name="id">User id</param>
            <param name="apiVersion">From route path</param>
            <returns>New concurrency code</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.AuthController.GenerateAndSendTOTP(Asp.Versioning.ApiVersion)">
            <summary>
            Generate TOTP secret and return for use in auth app
            
            </summary>     
            <param name="apiVersion">From route path</param>
            <returns>Authentication app activation code</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.AuthController.ValidateTOTP(AyaNova.Api.Controllers.AuthController.TFAPinParam,Asp.Versioning.ApiVersion)">
            <summary>
            Confirm 2fa ready to use
            
            </summary>
            <param name="pin">Auth app 6 digit passcode</param>
            <param name="apiVersion">From route path</param>
            <returns>OK on success</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.AuthController.DisableTOTP(System.Int64,Asp.Versioning.ApiVersion)">
            <summary>
            Disable (turn off) 2fa for  user account
            (For other user id requires full privileges)
            </summary>  
            <param name="id">User id</param>    
            <param name="apiVersion">From route path</param>
            <returns>OK on success</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.AuthorizationRolesController">
            <summary>
            Enum pick list controller
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.AuthorizationRolesController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.AuthorizationRolesController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.AuthorizationRolesController.GetRoles(System.Boolean)">
            <summary>
            Get roles
            </summary>  
            <param name="AsJson">Return as compact JSON format</param>      
            <returns>Dictionary list of AyaNova object types and their authorization role rights in AyaNova</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.BackupController">
            <summary>
            Backup
            
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.BackupController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.BackupController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.BackupController.PostBackupNow">
            <summary>
            Trigger immediate system backup
            
            </summary>        
            <returns>Job Id</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.BackupController.BackupStatus">
            <summary>
            Get status of backup
            </summary>
            <returns></returns>            
        </member>
        <member name="M:AyaNova.Api.Controllers.BackupController.DownloadAsync(System.String,System.String)">
            <summary>
            Download a backup file
            </summary>
            <param name="fileName"></param>
            <param name="t">download token</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.BackupController.DeleteBackupFile(System.String)">
            <summary>
            Delete Backup
            </summary>
            <param name="name"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ContractController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.ContractController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.ContractController.PostContract(AyaNova.Models.Contract,Asp.Versioning.ApiVersion)">
            <summary>
            Create Contract
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ContractController.GetContract(System.Int64)">
            <summary>
            Get Contract
            </summary>
            <param name="id"></param>
            <returns>Contract</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ContractController.PutContract(AyaNova.Models.Contract)">
            <summary>
            Update Contract
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ContractController.DeleteContract(System.Int64)">
            <summary>
            Delete Contract
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.CustomerController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerController.PostCustomer(AyaNova.Models.Customer,Asp.Versioning.ApiVersion)">
            <summary>
            Create Customer
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerController.GetCustomer(System.Int64)">
            <summary>
            Get Customer
            </summary>
            <param name="id"></param>
            <returns>Customer</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerController.PutCustomer(AyaNova.Models.Customer)">
            <summary>
            Update Customer
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerController.DeleteCustomer(System.Int64)">
            <summary>
            Delete Customer
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerController.GetCustomerAlert(System.Int64)">
            <summary>
            Get Alert notes for this customer 
            </summary>
            <param name="id"></param>
            <returns>Alert notes or null</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerController.GetCustomerBillToAddress(System.Int64)">
            <summary>
            Get addresses of interest for Customer id provided
            (postal, physical, headoffice postal if billheadoffice=true)
            </summary>
            <param name="id"></param>
            <returns>Multiple addresses</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerController.GetAccountingList">
            <summary>
            Get list for accounting integrations
            </summary>       
            <returns>NameIdActive list</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerController.GetContactNameList(System.Int64)">
            <summary>
            Get list of Customer Contacts for workorder
            </summary>             
            <param name="id">Customer Id</param>  
            <returns>Name list</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerNoteController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.CustomerNoteController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerNoteController.PostCustomerNote(AyaNova.Models.CustomerNote,Asp.Versioning.ApiVersion)">
            <summary>
            Create CustomerNote
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerNoteController.GetCustomerNote(System.Int64)">
            <summary>
            Get CustomerNote
            </summary>
            <param name="id"></param>
            <returns>CustomerNote</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerNoteController.PutCustomerNote(AyaNova.Models.CustomerNote)">
            <summary>
            Update CustomerNote
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerNoteController.DeleteCustomerNote(System.Int64)">
            <summary>
            Delete CustomerNote
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerNotifySubscriptionController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.CustomerNotifySubscriptionController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerNotifySubscriptionController.PostCustomerNotifySubscription(AyaNova.Models.CustomerNotifySubscription,Asp.Versioning.ApiVersion)">
            <summary>
            Create CustomerNotifySubscription
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerNotifySubscriptionController.GetCustomerNotifySubscription(System.Int64)">
            <summary>
            Get CustomerNotifySubscription
            </summary>
            <param name="id"></param>
            <returns>CustomerNotifySubscription</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerNotifySubscriptionController.PutCustomerNotifySubscription(AyaNova.Models.CustomerNotifySubscription)">
            <summary>
            Update CustomerNotifySubscription
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerNotifySubscriptionController.DeleteCustomerNotifySubscription(System.Int64)">
            <summary>
            Delete CustomerNotifySubscription
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerNotifySubscriptionController.GetWho(System.Collections.Generic.List{System.String},Asp.Versioning.ApiVersion)">
            <summary>
            get a list of which customers will potentially receive a notification based on tags
            </summary>
            <param name="customerTags"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerNotifySubscriptionController.GetList">
            <summary>
            Get Subscription list
            </summary>     
            <returns>User's notification subscription list </returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerServiceRequestController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.CustomerServiceRequestController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerServiceRequestController.PostCustomerServiceRequest(AyaNova.Models.CustomerServiceRequest,Asp.Versioning.ApiVersion)">
            <summary>
            Create CustomerServiceRequest
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerServiceRequestController.GetCustomerServiceRequest(System.Int64)">
            <summary>
            Get CustomerServiceRequest
            </summary>
            <param name="id"></param>
            <returns>CustomerServiceRequest</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerServiceRequestController.PutCustomerServiceRequest(AyaNova.Models.CustomerServiceRequest)">
            <summary>
            Update CustomerServiceRequest
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.CustomerServiceRequestController.DeleteCustomerServiceRequest(System.Int64)">
            <summary>
            Delete CustomerServiceRequest
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.DashboardViewController">
            <summary>
            
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.DashboardViewController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.DashboardViewController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.DashboardViewController.GetDashboardView">
            <summary>
            Get DashboardView object for current User
            There is always one for each user
            </summary>
            <returns>Dashboard view</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.DashboardViewController.PutDashboardView(System.String)">
            <summary>
            Update logged in User's Dashboard view
            </summary>     
            <param name="theView"></param>
            <returns></returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.DataListColumnViewController">
            <summary>
            
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.DataListColumnViewController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.DataListColumnViewController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.DataListColumnViewController.GetDataListColumnView(System.String)">
            <summary>
            Get DataListColumnView for current user
            </summary>        
            <param name="listKey"></param>
            <returns>DataListColumnView</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.DataListColumnViewController.ReplaceDataListColumnView(AyaNova.Models.DataListColumnView,Asp.Versioning.ApiVersion)">
            <summary>
            Replace DataListColumnView
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.DataListColumnViewController.ResetDataListColumnView(System.String)">
            <summary>
            Reset DataListColumnView to factory defaults
            </summary>        
            <param name="listKey"></param>
            <returns>Default DataListColumnView</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.DataListColumnViewController.SetSort(AyaNova.Models.DataListSortRequest,Asp.Versioning.ApiVersion)">
            <summary>
            Update sort order for user's CoulumnView for DataList key specified
            </summary>
            <param name="sortRequest">e.g.{"listKey":"CustomerDataList","sortBy":["CustomerPhone1","CustomerEmail"],"sortDesc":[false,false]}</param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.DataListController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.DataListController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.DataListController.List(AyaNova.Models.DataListTableRequest)">
            <summary>
             Get list of data for selection / viewing
            
            Authorization varies list by list, will return 403 - Not Authorized if user has insufficient role
            
            </summary>
            <param name="tableRequest">List key, Paging, filtering and sorting options</param>
            <returns>Collection with paging data</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.DataListController.GetDataListKeys">
            <summary>
            List of all DataList keys available
            </summary>        
            <returns>List of strings</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.DataListController.GetDataListFields(System.String)">
            <summary>
            List of all fields for data list key specified
            </summary>        
            <returns>List of DataListFieldDefinition</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.DataListSavedFilterController">
            <summary>
            
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.DataListSavedFilterController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.DataListSavedFilterController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.DataListSavedFilterController.GetDataListSavedFilter(System.Int64)">
            <summary>
            Get full DataListSavedFilter object
            </summary>
            <param name="id"></param>
            <returns>A single DataListSavedFilter</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.DataListSavedFilterController.DataListSavedFilterList(System.String)">
            <summary>
            Get DataListSavedFilter list
            </summary>
            <returns>List of public or owned data list views listKey provided</returns>    
        </member>
        <member name="M:AyaNova.Api.Controllers.DataListSavedFilterController.PutDataListSavedFilter(AyaNova.Models.DataListSavedFilter)">
            <summary>
            Update DataListSavedFilter
            </summary>
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.DataListSavedFilterController.PostDataListSavedFilter(AyaNova.Models.DataListSavedFilter,Asp.Versioning.ApiVersion)">
            <summary>
            Create DataListSavedFilter
            </summary>
            <param name="inObj"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.DataListSavedFilterController.DeleteDataListSavedFilter(System.Int64)">
            <summary>
            Delete DataListSavedFilter
            </summary>
            <param name="id"></param>
            <returns>Ok</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.EnumListController">
            <summary>
            Enum list controller
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.EnumListController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.EnumListController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.EnumListController.GetList(System.String)">
            <summary>
            Get name value Translated display value list of AyaNova enumerated types for list specified
            </summary>
            <param name="enumkey">The key name of the enumerated type</param>
            <returns>List</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.EnumListController.GetTypesList">
            <summary>
            Get all possible enumerated values list key names
            </summary>     
            <returns>List of AyaNova enumerated type list key names that can be fetched from the GetList Route</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.EventLogController">
            <summary>
            Log files controller
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.EventLogController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.LogFilesController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.EventLogController.GetObjectLog(AyaNova.Api.Controllers.EventLogController.EventLogOptions)">
            <summary>
            Get event log for object and range specified
            
            Required Role: Read full object properties rights to object type specified
            
            </summary>        
            <returns>Event log entry list for object</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.EventLogController.GetUserLog(AyaNova.Api.Controllers.EventLogController.UserEventLogOptions)">
            <summary>
            Get event log entries for a specified user and range
            
            Required Role: Read rights to User object or User's own data
            
            </summary>        
            <returns>Event log for user</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.EventLogController.PostV7Modify(AyaNova.Api.Controllers.EventLogController.V7Event,Asp.Versioning.ApiVersion)">
            <summary>
            V7 export replace log entry
            (internal use only)
            </summary>
            <param name="inObj"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ExportController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.ExportController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.ExportController.RenderExport(AyaNova.Models.DataListSelectedRequest)">
            <summary>
            Export to file
            </summary>
            <param name="selectedRequest"></param>
            <returns>downloadable export file name</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ExportController.DownloadAsync(System.String,System.String)">
            <summary>
            Download a rendered Export
            </summary>
            <param name="fileName"></param>
            <param name="t">download token</param>
            <returns></returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.FormCustomController">
            <summary>
            
            </summary>    
        </member>
        <member name="M:AyaNova.Api.Controllers.FormCustomController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.FormCustomController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.FormCustomController.GetFormCustom(System.String,System.Nullable{System.UInt32})">
            <summary>
            Get form customizations for Client form display
            </summary>
            <param name="formkey">The official form key used by AyaNova</param>
            <param name="concurrency">A prior concurrency token used to check if there are any changes without using up bandwidth sending unnecessary data</param>
            <returns>A single FormCustom or nothing and a header 304 not modified</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.FormCustomController.GetAvailableCustomTypes">
            <summary>
            Get available types allowed for Custom fields
            Used to build UI for customizing a form
            These values are a subset of the AyaDataTypes values
            which can be fetched from the EnumList route
            </summary>      
            <returns>A list of valid values for custom field types</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.FormCustomController.GetAvailableCustomizableFormKeys">
            <summary>
            Get a list of all customizable form keys
            Used to build UI for customizing a form
            </summary>      
            <returns>A list of string formKey values valid for customization</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.FormCustomController.PutFormCustom(System.String,AyaNova.Models.FormCustom)">
            <summary>
            Update FormCustom
            </summary>
            <param name="formkey"></param>
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.FormCustomController.GetFormKeyFromId(System.Int64)">
            <summary>
            Get FormKey from id of FormCustom 
            </summary>      
            <returns>A formKey string if id found</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.FormFieldsDefinitionsController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.FormFieldsDefinitionsController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.FormFieldsDefinitionsController.GetFormFields(System.String)">
            <summary>
            Get field reference list for Form specified
            Used at UI for customizing forms
            </summary>
            <param name="key"></param>
            <returns>List of form fields and their properties</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.FormUserOptionsController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.FormUserOptionsController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.FormUserOptionsController.PostFormUserOptions(AyaNova.Models.FormUserOptions,Asp.Versioning.ApiVersion)">
            <summary>
            Create or Replace FormUserOptions
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.FormUserOptionsController.GetFormUserOptions(System.String)">
            <summary>
            Get FormUserOptions
            </summary>
            <param name="formKey"></param>
            <returns>FormUserOptions</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.FormUserOptionsController.DeleteFormUserOptions(System.String)">
            <summary>
            Delete FormUserOptions
            </summary>
            <param name="formKey"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.GlobalBizSettingsController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.GlobalBizSettingsController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.GlobalBizSettingsController.GetGlobalBizSettings">
            <summary>
            Get GlobalBizSettings
            </summary>      
            <returns>Global settings object</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.GlobalBizSettingsController.ReplaceGlobalBizSettings(AyaNova.Models.GlobalBizSettings)">
            <summary>
            PUT Global biz settings   
            </summary>       
            <param name="updatedObject"></param>
            <returns>New concurrency token</returns>      
        </member>
        <member name="M:AyaNova.Api.Controllers.GlobalBizSettingsController.GetClientGlobalBizSettings">
            <summary>
            Get Client app relevant GlobalBizSettings
            </summary>      
            <returns>Global settings object</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.GlobalBizSettingsController.GetSeeds">
            <summary>
            Get next serial numbers for serialized objects
            </summary>      
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.GlobalBizSettingsController.SetNextSeed(AyaNova.Biz.AyaType,System.Int64)">
            <summary>
            PUT New serial start seed   
            </summary>       
            <param name="aType"> one of PurchaseOrder, Workorder, PM, Quote serialized object types</param>
            <param name="nextSeed">Next value to use</param>
            <returns>OK or error response if not a valid value (seed number already in use)</returns>      
        </member>
        <member name="M:AyaNova.Api.Controllers.GlobalOpsBackupSettingsController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.GlobalOpsBackupSettingsController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.GlobalOpsBackupSettingsController.GetGlobalOpsBackupSettings">
            <summary>
            Get GlobalOpsBackupSettings
            </summary>      
            <returns>Global ops backup settings object</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.GlobalOpsBackupSettingsController.ReplaceGlobalOpsBackupSettings(AyaNova.Models.GlobalOpsBackupSettings)">
            <summary>
            PUT Global ops backup settings   
            </summary>       
            <param name="updatedObject"></param>
            <returns>New concurrency token</returns>      
        </member>
        <member name="M:AyaNova.Api.Controllers.GlobalOpsNotificationSettingsController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.GlobalOpsNotificationSettingsController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.GlobalOpsNotificationSettingsController.GetGlobalOpsNotificationSettings">
            <summary>
            Get GlobalOpsNotificationSettings
            </summary>      
            <returns>Global ops Notification settings object</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.GlobalOpsNotificationSettingsController.ReplaceGlobalOpsNotificationSettings(AyaNova.Models.GlobalOpsNotificationSettings)">
            <summary>
            PUT Global ops Notification settings   
            </summary>       
            <param name="updatedObject"></param>
            <returns>New concurrency token</returns>      
        </member>
        <member name="M:AyaNova.Api.Controllers.GlobalOpsNotificationSettingsController.PostTestSmtpDelivery(System.String)">
            <summary>
            Test SMTP mail delivery
            
            </summary>        
            <returns>Status result</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.HeadOfficeController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.HeadOfficeController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.HeadOfficeController.PostHeadOffice(AyaNova.Models.HeadOffice,Asp.Versioning.ApiVersion)">
            <summary>
            Create HeadOffice
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.HeadOfficeController.GetHeadOffice(System.Int64)">
            <summary>
            Get HeadOffice
            </summary>
            <param name="id"></param>
            <returns>HeadOffice</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.HeadOfficeController.PutHeadOffice(AyaNova.Models.HeadOffice)">
            <summary>
            Update HeadOffice
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.HeadOfficeController.DeleteHeadOffice(System.Int64)">
            <summary>
            Delete HeadOffice
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.HealthController.Get">
            <summary>
            Get Health (verify server AND database connection)
            Note: for server monitoring or automation / orchestration use such as Docker prefer the mirror of this route at the server root: [api_server_url]/health 
            as it avoids API versioning issues
            i.e. Docker: HEALTHCHECK CMD curl --fail http://localhost:5000/health || exit
            </summary>
            <remarks>Provides an indication about the health of the API</remarks>
            <response code="200">API is healthy</response>
            <response code="503">API is unhealthy or in degraded state</response>
        </member>
        <member name="M:AyaNova.Api.Controllers.ImportController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.ImportController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.ImportController.PostImportData(AyaNova.Models.AyImportData,Asp.Versioning.ApiVersion)">
            <summary>
            Import / Update JSON data to indicated object type
            </summary>
            <param name="importData"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.IntegrationController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.IntegrationController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.IntegrationController.PostIntegration(AyaNova.Models.Integration,Asp.Versioning.ApiVersion)">
            <summary>
            Create Integration
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.IntegrationController.GetIntegration(System.Guid)">
            <summary>
            Get Integration
            </summary>
            <param name="integrationAppId"></param>
            <returns>Integration</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.IntegrationController.GetIntegrationByDbId(System.Int64)">
            <summary>
            Get Integration by DB Id
            </summary>
            <param name="id"></param>
            <returns>Integration</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.IntegrationController.PutIntegration(AyaNova.Models.Integration)">
            <summary>
            Update Integration to db and return it
            </summary>        
            <param name="updatedObject"></param>
            <returns>Entire integration object (differs from most object routes which only return concurrency value)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.IntegrationController.DeleteIntegration(System.Guid)">
            <summary>
            Delete Integration
            </summary>
            <param name="integrationAppId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.IntegrationController.DeleteIntegrationByDbId(System.Int64)">
            <summary>
            Delete Integration
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.IntegrationController.GetIntegrationExistance(System.Guid)">
            <summary>
            Check Integration existance
            </summary>
            <param name="integrationAppId"></param>
            <returns>Integration</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.IntegrationController.PostIntegrationLog(AyaNova.Models.NameIdItem,Asp.Versioning.ApiVersion)">
            <summary>
            Create Integration log entry
            </summary>
            <param name="logItem">id=Integration internal Id (not IntegrationAppId value), name = status text to log</param>
            <param name="apiVersion">From route path</param>
            <returns>NoContent if ok otherwise BadRequest and an error object</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.IntegrationController.GetAllLogs(System.Int64)">
            <summary>
            Get Integration log for id of integration specified
            </summary> 
            <returns>All log entries available for integration id</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.JobOperationsController">
            <summary>
            ServerJob controller
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.JobOperationsController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.JobOperationsController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.JobOperationsController.List">
            <summary>
            Get Operations jobs list
            </summary>
            <returns>List of operations jobs</returns>    
        </member>
        <member name="M:AyaNova.Api.Controllers.JobOperationsController.GetJobStatus(System.Guid)">
            <summary>
            Get current job status for a job
            </summary>       
            <param name="gid"></param>
            <returns>A single job's current status</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.JobOperationsController.GetJobProgress(System.Guid)">
            <summary>
            Get current job status and progress for a job
            </summary>       
            <param name="gid"></param>
            <returns>A single job's current status and progress</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.JobOperationsController.GetLogs(System.Guid)">
            <summary>
            Get Operations log for a job
            </summary>       
            <param name="gid"></param>
            <returns>A single job's log</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.JobOperationsController.GetAllLogs">
            <summary>
            Get Operations log for all jobs
            </summary>       
            <returns>Log for all jobs in system</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.JobOperationsController.TestWidgetJob">
            <summary>
            Trigger a test job that simulates a (30 second) long running operation for testing and ops confirmation
            </summary>
            <returns>Job id</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.JobOperationsController.BatchDeleteObjects(AyaNova.Models.DataListSelectedRequest)">
            <summary>
            Batch DELETE list of object id's specified
            </summary>              
            <param name="selectedRequest"></param>
            <returns>Job Id</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.JobOperationsController.BatchDirectSMTPObjects(AyaNova.Models.BatchDirectSMTPParams)">
            <summary>
            Batch Send direct SMTP message notification to selected objects
            Server notification settings must be set and active
            User must have MODIFY role for the object type in question to be allowed to bulk message
            this typically means full manager type roles only
            Currently supported types are Customer, HeadOffice, Vendor, User
            WARNING: be careful using this method; high volume emailing or spam-like behavior
            could result in a ban or block of your mail account or mail server or domain
            Use of this method is logged to AyaNova event log on successful attempted delivery
            </summary>              
            <param name="batchDirectSMTPParams"></param>
            <returns>Job Id</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.JobOperationsController.RequestCancelJob(System.Guid)">
            <summary>
            Request cancellation of Job.  Not all jobs can be cancelled.
            </summary>       
            <param name="gid"></param>
            <returns>Accepted</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.KPIController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.KPIController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.KPIController.PostList(AyaNova.KPI.KPIRequestOptions)">
            <summary>
            Get KPI data
            </summary>
            <param name="options">Parameters for pick list see api docs for details </param>
            <returns>Filtered list</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.LicenseController">
            <summary>
            License route
            </summary>    
        </member>
        <member name="M:AyaNova.Api.Controllers.LicenseController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.LicenseController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.LicenseController.GetLicenseInfo">
            <summary>
            Get License info
            </summary>       
            <returns>Information about the currently installed license in AyaNova</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.LicenseController.GetDbEmpty">
            <summary>
            Get DB Emptiness
            </summary>       
            <returns>Checks if there is any data in critical tables only</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.LicenseController.FetchLicense">
            <summary>
            Fetch license
            
            Posting to this route causes AyaNova to attempt to refresh it's license 
            from the AyaNova license server
            </summary>    
            <returns>On success returns information about the currently installed license in AyaNova</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.LicenseController.RequestTrial(AyaNova.Models.RequestTrial)">
            <summary>
            Request trial license
            
            Posting to this route causes AyaNova to request a trial license key from the AyaNova license server
            Database must be empty and unlicensed or trial license
            </summary>
            <param name="trialRequest"></param>
            <returns>HTTP 204 No Content result code on success or fail code with explanation</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.LicenseController.RemoveAllData(System.String)">
             <summary>
             Permanently erase most data and all attachments for seeding or migration purposes
             
             This route is used by the v8-migration utility and by the AyaNova UI when seeding a trial database
            
             Items retained are documented here with the exception of Tax codes:
             https://ayanova.com/docs/adm-license/#erase-database
             However not Tax Codes as documented because seeding or migration will create tax codes
             
             (Only *the* SuperUser account can use this route)
             </summary>
             <param name="acceptCode">Must be "I understand"</param>
             <returns>HTTP 204 No Content result code on success or fail code with explanation</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.LicenseController.RemoveAllDataKeepTaxCodes(System.String)">
             <summary>
             Permanently erase most data and all attachments
             
             This route is used by the by the AyaNova UI when a user selects to manually erase the database
             or when they are evaluating and request another trial period with a database that already has a trial license in it
            
             Items retained are documented here:
             https://ayanova.com/docs/adm-license/#erase-database
             
             
             (Only *the* SuperUser account can use this route)
             </summary>
             <param name="acceptCode">Must be "I understand"</param>
             <returns>HTTP 204 No Content result code on success or fail code with explanation</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.LicenseController.lc(System.String)">
            <summary>
            
            </summary>
            <param name="acceptCode"></param>
            <returns>HTTP 204 No Content result code on success or fail code with explanation</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.LoanUnitController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.LoanUnitController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.LoanUnitController.PostLoanUnit(AyaNova.Models.LoanUnit,Asp.Versioning.ApiVersion)">
            <summary>
            Create LoanUnit
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.LoanUnitController.GetLoanUnit(System.Int64)">
            <summary>
            Get LoanUnit
            </summary>
            <param name="id"></param>
            <returns>LoanUnit</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.LoanUnitController.PutLoanUnit(AyaNova.Models.LoanUnit)">
            <summary>
            Update LoanUnit
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.LoanUnitController.DeleteLoanUnit(System.Int64)">
            <summary>
            Delete LoanUnit
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.LogFilesController">
            <summary>
            Log files controller
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.LogFilesController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.LogFilesController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.LogFilesController.GetLog(System.String)">
            <summary>
            Get server log 
            </summary>
            <param name="logname"></param>
            <returns>A single log file in plain text</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.LogFilesController.ListLogs">
            <summary>
            Get list of operations logs 
            </summary>
            <returns></returns>            
        </member>
        <member name="M:AyaNova.Api.Controllers.LogFilesController.DownloadLog(System.String,System.String)">
            <summary>
            Download log
            </summary>
            <param name="logname"></param>
            <param name="t">download token</param>
            <returns>A single log file</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.LogoController">
            <summary>
            Logo controller
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.LogoController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.LogoController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.LogoController.DownloadLogo(System.String)">
            <summary>
            Get Logo 
            </summary>
            <param name="size">One of "small", "medium", "large"</param>
            <returns>A single Logo and it's values</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.LogoController.UploadAsync(System.String)">
            <summary>
            Upload Logo
            Max 500 KiB total (512000 bytes)
            Must have full rights to Global object
            </summary>
            <param name="size">One of "small", "medium", "large"</param>       
            <returns>Accepted</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.LogoController.DeleteLogo(System.String)">
            <summary>
            Delete logo
            </summary>
            <param name="size"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.MemoController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.MemoController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.MemoController.PostMemo(AyaNova.Api.Controllers.MemoController.SendMemo,Asp.Versioning.ApiVersion)">
            <summary>
            Create Memo
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.MemoController.GetMemo(System.Int64)">
            <summary>
            Get Memo
            </summary>
            <param name="id"></param>
            <returns>Memo</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.MemoController.DeleteMemo(System.Int64)">
            <summary>
            Delete Memo
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.NameController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.NameController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.NameController.GetName(AyaNova.Biz.AyaType,System.Int64)">
            <summary>
            Get Name of business object
            not all business objects have names some may return '-' or simply the type name
            if that is the case
            </summary>
            <param name="aType">AyaType</param>
            <param name="id">Non zero id, if zero returns type name</param>
            <returns>Name</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.NotifyController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.NotifyController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.NotifyController.GetPreLoginPing">
            <summary>
            Pre-login route to confirm server is available
            </summary>       
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.NotifyController.GetNewCount">
            <summary>
            Get count of new notifications waiting
            </summary>       
            <returns></returns>        
        </member>
        <member name="M:AyaNova.Api.Controllers.NotifyController.GetAppNotifications">
            <summary>
            Get all in-app notifications
            </summary>       
            <returns></returns>        
        </member>
        <member name="M:AyaNova.Api.Controllers.NotifyController.DeleteAppNotification(System.Int64)">
            <summary>
            Delete app Notification
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.NotifyController.GetQueue">
            <summary>
            Get Notify Event object list from queue
            </summary>     
            <returns>Notify Event objects awaiting delivery</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.NotifyController.DeleteNotifyEvent(System.Int64)">
            <summary>
            Delete pending notification event
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.NotifyController.SendNotifyDirectMessage(AyaNova.Api.Controllers.NotifyController.NotifyDirectMessage)">
            <summary>
            Send direct message notification to selected users
            </summary>       
            <returns>NoContent on success or error</returns>        
        </member>
        <member name="M:AyaNova.Api.Controllers.NotifyController.SendNotifySmtpDirectMessage(AyaNova.Api.Controllers.NotifyController.NotifyDirectSMTP)">
            <summary>
            Send direct SMTP message notification so single object / address
            Server notification settings must be set and active
            Currently supported types are Customer, HeadOffice, Vendor, User
            WARNING: be careful using this method; high volume emailing or spam-like behavior
            could result in a ban or block of your mail account or mail server or domain
            Use of this method is logged to AyaNova event log on successful attempted delivery
            </summary>       
            <returns>Accepted on success or error</returns>        
        </member>
        <member name="M:AyaNova.Api.Controllers.NotifySubscriptionController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.NotifySubscriptionController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.NotifySubscriptionController.PostNotifySubscription(AyaNova.Models.NotifySubscription,Asp.Versioning.ApiVersion)">
            <summary>
            Create NotifySubscription
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.NotifySubscriptionController.GetNotifySubscription(System.Int64)">
            <summary>
            Get NotifySubscription
            </summary>
            <param name="id"></param>
            <returns>NotifySubscription</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.NotifySubscriptionController.PutNotifySubscription(AyaNova.Models.NotifySubscription)">
            <summary>
            Update NotifySubscription
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.NotifySubscriptionController.DeleteNotifySubscription(System.Int64)">
            <summary>
            Delete NotifySubscription
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.NotifySubscriptionController.GetQueue">
            <summary>
            Get Subscription list
            </summary>     
            <returns>User's notification subscription list </returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartAssemblyController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.PartAssemblyController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.PartAssemblyController.PostPartAssembly(AyaNova.Models.PartAssembly,Asp.Versioning.ApiVersion)">
            <summary>
            Create PartAssembly
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartAssemblyController.GetPartAssembly(System.Int64)">
            <summary>
            Get PartAssembly
            </summary>
            <param name="id"></param>
            <returns>PartAssembly</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartAssemblyController.PutPartAssembly(AyaNova.Models.PartAssembly)">
            <summary>
            Update PartAssembly
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartAssemblyController.DeletePartAssembly(System.Int64)">
            <summary>
            Delete PartAssembly
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.PartController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.PartController.PostPart(AyaNova.Models.Part,Asp.Versioning.ApiVersion)">
            <summary>
            Create Part
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartController.GetPart(System.Int64)">
            <summary>
            Get Part
            </summary>
            <param name="id"></param>
            <returns>Part</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartController.PutPart(AyaNova.Models.Part)">
            <summary>
            Update Part
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartController.DeletePart(System.Int64)">
            <summary>
            Delete Part
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartController.GetPartSerials(System.Int64)">
            <summary>
            Get Part serial numbers for part id
            </summary>
            <param name="id"></param>
            <returns>Part</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartController.PutPartSerials(System.Int64,System.Collections.Generic.List{System.String})">
             <summary>
             Update PartSerials for part
             </summary>        
             <param name="serials">array of serial numbers to replace existing array of part serials</param>
            <param name="id">PartId</param>
             <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartController.GetPartStockLevels(System.Int64)">
            <summary>
            Get stock levels for part 
            </summary>
            <param name="id"></param>
            <returns>Array of part stock levels</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartController.PutPartStockLevels(System.Int64,System.Collections.Generic.List{AyaNova.Models.PartStockLevel})">
             <summary>
             Update stock levels for part
             </summary>        
             <param name="partStockLevels">array of part stock levels</param>
            <param name="id">PartId</param>
             <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartController.PutPartCost(System.Int64,System.Decimal)">
             <summary>
             Update part cost for part
             </summary>        
             <param name="newCost">new cost of part</param>
            <param name="id">PartId</param>
             <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartController.GetLatestInventory(System.Int64)">
            <summary>
            Get most recent Part inventory records in all warehouses for part id specified
            most recent is the latest "end" of the inventory chain containing the current balance as of the point in time this is fetched
            these values are required to make inventory adjustments
            </summary>
            <param name="partId"></param>
            <returns>List of part inventory records for each warehouse</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartController.GetPriorUnitsOfMeausre">
            <summary>
            Get list of distinct prior units of meaasure entered
            </summary>       
            <returns>list of UOM</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartController.GetAccountingList">
            <summary>
            Get list for accounting integrations
            </summary>       
            <returns>NameIdActiveChargeCost list</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartInventoryController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.PartInventoryController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.PartInventoryController.PostPartInventory(AyaNova.Models.dtPartInventory,Asp.Versioning.ApiVersion)">
            <summary>
            Create PartInventory (manual adjustment entry)
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartInventoryController.GetPartInventory(System.Int64)">
            <summary>
            Get PartInventory
            </summary>
            <param name="id"></param>
            <returns>PartInventory</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartWarehouseController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.PartWarehouseController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.PartWarehouseController.PostPartWarehouse(AyaNova.Models.PartWarehouse,Asp.Versioning.ApiVersion)">
            <summary>
            Create PartWarehouse
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartWarehouseController.GetPartWarehouse(System.Int64)">
            <summary>
            Get PartWarehouse
            </summary>
            <param name="id"></param>
            <returns>PartWarehouse</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartWarehouseController.PutPartWarehouse(AyaNova.Models.PartWarehouse)">
            <summary>
            Update PartWarehouse
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PartWarehouseController.DeletePartWarehouse(System.Int64)">
            <summary>
            Delete PartWarehouse
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PickListController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.PickListController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.PickListController.PostList(AyaNova.PickList.PickListOptions)">
            <summary>
            Get picklist of all Active objects of type specified and filtered by query specified
            NOTE: Query is valid only if:
            it is an empty string indicating not filtered just selected
            if not an empty string, it has at most two space separated strings and one of them is a special TAG specific query that starts with two consecutive periods 
            i.e. "some" is valid (single query on all templated fields) 
            "..zon some" is valid (all tags like zon and all template fields like some)
            "zon some" is NOT valid (missing TAGS indicator), "..zone some re" is NOT valid (too many strings)
            Note that this list is capped automatically to return no more than 100 results
            </summary>
            <param name="pickListParams">Parameters for pick list see api docs for details </param>
            <returns>Filtered list</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PickListController.PostSingle(AyaNova.PickList.PickListSingleOptions)">
            <summary>
            Get a single item's name display in PickList templated format
            </summary>
            <param name="pickListSingleParams"></param>
            <returns>One display string or an empty string if not found or invalid</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PickListController.GetPickListTemplate(AyaNova.Biz.AyaType)">
            <summary>
            Get PickListTemplate
            </summary>
            <param name="ayaType"></param>
            <returns>The current effective template, either a customized one or the default</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PickListController.GetTemplateList">
            <summary>
            List of all PickList templates
            </summary>        
            <returns>List of strings</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PickListController.ReplacePickListTemplate(AyaNova.Models.PickListTemplate)">
            <summary>
            POST (replace) Pick List template
            (note: in this case the Id is the AyaType numerical value as there is only one template per type)
            </summary>       
            <param name="template"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PickListController.DeletePickListTemplate(AyaNova.Biz.AyaType)">
            <summary>
            Delete customized template
            (revert to default)
            </summary>
            <param name="ayaType"></param>
            <returns>Ok</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PickListController.GetPickListFields(AyaNova.Biz.AyaType)">
            <summary>
            List of all fields for pick list AyaType specified
            </summary>        
            <returns>List of fields available for template</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.PMController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PostPM(AyaNova.Models.PM,Asp.Versioning.ApiVersion)">
            <summary>
            Create PM
            </summary>
            <param name="newObject">PM - top level only, no descendants</param>
            <param name="apiVersion">From route path</param>
            <returns>PM</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.GetPM(System.Int64)">
            <summary>
            Get PM
            </summary>
            <param name="id"></param>
            <returns>PM</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PutPM(AyaNova.Models.PM)">
             <summary>
             Update PM        
            
             </summary>       
             <param name="updatedObject">PM - top level only, no Items or other descendants</param>
             <returns>Updated work order header</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.DeletePM(System.Int64)">
            <summary>
            Delete PM
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.GetPMIdFromNumber(System.Int64)">
            <summary>
            Get PM id from work order serial number
            </summary>
            <param name="number"></param>
            <returns>PM</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PostPMItem(AyaNova.Models.PMItem,Asp.Versioning.ApiVersion)">
            <summary>
            Create PMItem
            </summary>       
            <param name="newObject">PMItem - no descendants</param>
            <param name="apiVersion"></param>
            <returns>PMItem object</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.GetPMItem(System.Int64)">
            <summary>
            Get PMItem object
            </summary>
            <param name="PMItemId"></param>
            <returns>A single PMItem</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PutPMItem(AyaNova.Models.PMItem)">
             <summary>
             Update PMItem        
            
             </summary>       
             <param name="updatedObject">PMItem - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.DeletePMItem(System.Int64)">
            <summary>
            Delete PMItem
            </summary>
            <param name="PMItemId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PostPMItemExpense(AyaNova.Models.PMItemExpense,Asp.Versioning.ApiVersion)">
            <summary>
            Create PMItemExpense
            </summary>       
            <param name="newObject">PMItemExpense level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>PMItemExpense object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.GetPMItemExpense(System.Int64)">
            <summary>
            Get PMItemExpense object
            </summary>
            <param name="PMItemExpenseId"></param>
            <returns>A single PMItemExpense</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PutPMItemExpense(AyaNova.Models.PMItemExpense)">
             <summary>
             Update PMItemExpense        
            
             </summary>       
             <param name="updatedObject">PMItemExpense - top level only, no descendants</param>
             <returns>Updated Expense item</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.DeletePMItemExpense(System.Int64)">
            <summary>
            Delete PMItemExpense
            </summary>
            <param name="PMItemExpenseId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PostPMItemLabor(AyaNova.Models.PMItemLabor,Asp.Versioning.ApiVersion)">
            <summary>
            Create PMItemLabor
            </summary>       
            <param name="newObject">PMItemLabor level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>PMItemLabor object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.GetPMItemLabor(System.Int64)">
            <summary>
            Get PMItemLabor object
            </summary>
            <param name="PMItemLaborId"></param>
            <returns>A single PMItemLabor</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PutPMItemLabor(AyaNova.Models.PMItemLabor)">
             <summary>
             Update PMItemLabor        
            
             </summary>       
             <param name="updatedObject">PMItemLabor - top level only, no descendants</param>
             <returns>Updated object</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.DeletePMItemLabor(System.Int64)">
            <summary>
            Delete PMItemLabor
            </summary>
            <param name="PMItemLaborId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PostPMItemLoan(AyaNova.Models.PMItemLoan,Asp.Versioning.ApiVersion)">
            <summary>
            Create PMItemLoan
            </summary>       
            <param name="newObject">PMItemLoan level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>PMItemLoan object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.GetPMItemLoan(System.Int64)">
            <summary>
            Get PMItemLoan object
            </summary>
            <param name="PMItemLoanId"></param>
            <returns>A single PMItemLoan</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PutPMItemLoan(AyaNova.Models.PMItemLoan)">
             <summary>
             Update PMItemLoan        
            
             </summary>       
             <param name="updatedObject">PMItemLoan - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.DeletePMItemLoan(System.Int64)">
            <summary>
            Delete PMItemLoan
            </summary>
            <param name="PMItemLoanId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PostPMItemOutsideService(AyaNova.Models.PMItemOutsideService,Asp.Versioning.ApiVersion)">
            <summary>
            Create PMItemOutsideService
            </summary>       
            <param name="newObject">PMItemOutsideService level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>PMItemOutsideService object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.GetPMItemOutsideService(System.Int64)">
            <summary>
            Get PMItemOutsideService object
            </summary>
            <param name="PMItemOutsideServiceId"></param>
            <returns>A single PMItemOutsideService</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PutPMItemOutsideService(AyaNova.Models.PMItemOutsideService)">
             <summary>
             Update PMItemOutsideService        
            
             </summary>       
             <param name="updatedObject">PMItemOutsideService - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.DeletePMItemOutsideService(System.Int64)">
            <summary>
            Delete PMItemOutsideService
            </summary>
            <param name="PMItemOutsideServiceId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PostPMItemPart(AyaNova.Models.PMItemPart,Asp.Versioning.ApiVersion)">
            <summary>
            Create PMItemPart
            </summary>       
            <param name="newObject">PMItemPart level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>PMItemPart object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.GetPMItemPart(System.Int64)">
            <summary>
            Get PMItemPart object
            </summary>
            <param name="PMItemPartId"></param>
            <returns>A single PMItemPart</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PutPMItemPart(AyaNova.Models.PMItemPart)">
             <summary>
             Update PMItemPart        
            
             </summary>       
             <param name="updatedObject">PMItemPart - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.DeletePMItemPart(System.Int64)">
            <summary>
            Delete PMItemPart
            </summary>
            <param name="PMItemPartId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PostPMItemScheduledUser(AyaNova.Models.PMItemScheduledUser,Asp.Versioning.ApiVersion)">
            <summary>
            Create PMItemScheduledUser
            </summary>       
            <param name="newObject">PMItemScheduledUser level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>PMItemScheduledUser object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.GetPMItemScheduledUser(System.Int64)">
            <summary>
            Get PMItemScheduledUser object
            </summary>
            <param name="PMItemScheduledUserId"></param>
            <returns>A single PMItemScheduledUser</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PutPMItemScheduledUser(AyaNova.Models.PMItemScheduledUser)">
             <summary>
             Update PMItemScheduledUser        
            
             </summary>       
             <param name="updatedObject">PMItemScheduledUser - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.DeletePMItemScheduledUser(System.Int64)">
            <summary>
            Delete PMItemScheduledUser
            </summary>
            <param name="PMItemScheduledUserId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PostPMItemTask(AyaNova.Models.PMItemTask,Asp.Versioning.ApiVersion)">
            <summary>
            Create PMItemTask
            </summary>       
            <param name="newObject">PMItemTask level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>PMItemTask object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.GetPMItemTask(System.Int64)">
            <summary>
            Get PMItemTask object
            </summary>
            <param name="PMItemTaskId"></param>
            <returns>A single PMItemTask</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PutPMItemTask(AyaNova.Models.PMItemTask)">
             <summary>
             Update PMItemTask        
            
             </summary>       
             <param name="updatedObject">PMItemTask - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.DeletePMItemTask(System.Int64)">
            <summary>
            Delete PMItemTask
            </summary>
            <param name="PMItemTaskId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PostPMItemTravel(AyaNova.Models.PMItemTravel,Asp.Versioning.ApiVersion)">
            <summary>
            Create PMItemTravel
            </summary>       
            <param name="newObject">PMItemTravel level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>PMItemTravel object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.GetPMItemTravel(System.Int64)">
            <summary>
            Get PMItemTravel object
            </summary>
            <param name="PMItemTravelId"></param>
            <returns>A single PMItemTravel</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PutPMItemTravel(AyaNova.Models.PMItemTravel)">
             <summary>
             Update PMItemTravel        
            
             </summary>       
             <param name="updatedObject">PMItemTravel - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.DeletePMItemTravel(System.Int64)">
            <summary>
            Delete PMItemTravel
            </summary>
            <param name="PMItemTravelId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PostPMItemUnit(AyaNova.Models.PMItemUnit,Asp.Versioning.ApiVersion)">
            <summary>
            Create PMItemUnit
            </summary>       
            <param name="newObject">PMItemUnit level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>PMItemUnit object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.GetPMItemUnit(System.Int64)">
            <summary>
            Get PMItemUnit object
            </summary>
            <param name="PMItemUnitId"></param>
            <returns>A single PMItemUnit</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.PutPMItemUnit(AyaNova.Models.PMItemUnit)">
             <summary>
             Update PMItemUnit        
            
             </summary>       
             <param name="updatedObject">PMItemUnit - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PMController.DeletePMItemUnit(System.Int64)">
            <summary>
            Delete PMItemUnit
            </summary>
            <param name="PMItemUnitId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ProjectController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.ProjectController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.ProjectController.PostProject(AyaNova.Models.Project,Asp.Versioning.ApiVersion)">
            <summary>
            Create Project
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ProjectController.GetProject(System.Int64)">
            <summary>
            Get Project
            </summary>
            <param name="id"></param>
            <returns>Project</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ProjectController.PutProject(AyaNova.Models.Project)">
            <summary>
            Update Project
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ProjectController.DeleteProject(System.Int64)">
            <summary>
            Delete Project
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PurchaseOrderController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.PurchaseOrderController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.PurchaseOrderController.PostPurchaseOrder(AyaNova.Models.PurchaseOrder,Asp.Versioning.ApiVersion)">
            <summary>
            Create PurchaseOrder
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PurchaseOrderController.GetPurchaseOrder(System.Int64)">
            <summary>
            Get PurchaseOrder
            </summary>
            <param name="id"></param>
            <returns>PurchaseOrder</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PurchaseOrderController.PutPurchaseOrder(AyaNova.Models.PurchaseOrder)">
            <summary>
            Update PurchaseOrder
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PurchaseOrderController.DeletePurchaseOrder(System.Int64)">
            <summary>
            Delete PurchaseOrder
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PurchaseOrderController.GetRestockByVendor(System.Nullable{System.Int64})">
            <summary>
            Get restock required list for vendor specified or any vendor if no vendor specified
            </summary>
            <param name="vendorId">optional vendor id will return matches to Part objects manufacturer, wholesaler or alternative wholesaler</param>
            <returns>PurchaseOrder</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.PurchaseOrderController.GetRequestsByVendor(System.Nullable{System.Int64})">
            <summary>
            Get work order item part request list for vendor specified or any vendor if no vendor specified
            </summary>
            <param name="vendorId">optional vendor id will return matches to Part objects manufacturer, wholesaler or alternative wholesaler</param>
            <returns>PurchaseOrder</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.QuoteController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PostQuote(AyaNova.Models.Quote,Asp.Versioning.ApiVersion)">
            <summary>
            Create Quote
            </summary>
            <param name="newObject">Quote - top level only, no descendants</param>
            <param name="apiVersion">From route path</param>
            <returns>Quote</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.GetQuote(System.Int64)">
            <summary>
            Get Quote
            </summary>
            <param name="id"></param>
            <returns>Quote</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PutQuote(AyaNova.Models.Quote)">
             <summary>
             Update Quote        
            
             </summary>       
             <param name="updatedObject">Quote - top level only, no Items or other descendants</param>
             <returns>Updated work order header</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.DeleteQuote(System.Int64)">
            <summary>
            Delete Quote
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.GetQuoteIdFromNumber(System.Int64)">
            <summary>
            Get Quote id from work order serial number
            </summary>
            <param name="number"></param>
            <returns>Quote</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PostQuoteState(AyaNova.Models.QuoteState,Asp.Versioning.ApiVersion)">
            <summary>
            Create QuoteState
            </summary>       
            <param name="newObject">QuoteState</param>
            <param name="apiVersion"></param>
            <returns>QuoteState object</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.GetQuoteState(System.Int64)">
            <summary>
            Get QuoteState object
            </summary>
            <param name="QuoteStateId"></param>
            <returns>A single QuoteState</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PostQuoteItem(AyaNova.Models.QuoteItem,Asp.Versioning.ApiVersion)">
            <summary>
            Create QuoteItem
            </summary>       
            <param name="newObject">QuoteItem - no descendants</param>
            <param name="apiVersion"></param>
            <returns>QuoteItem object</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.GetQuoteItem(System.Int64)">
            <summary>
            Get QuoteItem object
            </summary>
            <param name="QuoteItemId"></param>
            <returns>A single QuoteItem</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PutQuoteItem(AyaNova.Models.QuoteItem)">
             <summary>
             Update QuoteItem        
            
             </summary>       
             <param name="updatedObject">QuoteItem - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.DeleteQuoteItem(System.Int64)">
            <summary>
            Delete QuoteItem
            </summary>
            <param name="QuoteItemId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PostQuoteItemExpense(AyaNova.Models.QuoteItemExpense,Asp.Versioning.ApiVersion)">
            <summary>
            Create QuoteItemExpense
            </summary>       
            <param name="newObject">QuoteItemExpense level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>QuoteItemExpense object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.GetQuoteItemExpense(System.Int64)">
            <summary>
            Get QuoteItemExpense object
            </summary>
            <param name="QuoteItemExpenseId"></param>
            <returns>A single QuoteItemExpense</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PutQuoteItemExpense(AyaNova.Models.QuoteItemExpense)">
             <summary>
             Update QuoteItemExpense        
            
             </summary>       
             <param name="updatedObject">QuoteItemExpense - top level only, no descendants</param>
             <returns>Updated Expense item</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.DeleteQuoteItemExpense(System.Int64)">
            <summary>
            Delete QuoteItemExpense
            </summary>
            <param name="QuoteItemExpenseId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PostQuoteItemLabor(AyaNova.Models.QuoteItemLabor,Asp.Versioning.ApiVersion)">
            <summary>
            Create QuoteItemLabor
            </summary>       
            <param name="newObject">QuoteItemLabor level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>QuoteItemLabor object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.GetQuoteItemLabor(System.Int64)">
            <summary>
            Get QuoteItemLabor object
            </summary>
            <param name="QuoteItemLaborId"></param>
            <returns>A single QuoteItemLabor</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PutQuoteItemLabor(AyaNova.Models.QuoteItemLabor)">
             <summary>
             Update QuoteItemLabor        
            
             </summary>       
             <param name="updatedObject">QuoteItemLabor - top level only, no descendants</param>
             <returns>Updated object</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.DeleteQuoteItemLabor(System.Int64)">
            <summary>
            Delete QuoteItemLabor
            </summary>
            <param name="QuoteItemLaborId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PostQuoteItemLoan(AyaNova.Models.QuoteItemLoan,Asp.Versioning.ApiVersion)">
            <summary>
            Create QuoteItemLoan
            </summary>       
            <param name="newObject">QuoteItemLoan level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>QuoteItemLoan object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.GetQuoteItemLoan(System.Int64)">
            <summary>
            Get QuoteItemLoan object
            </summary>
            <param name="QuoteItemLoanId"></param>
            <returns>A single QuoteItemLoan</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PutQuoteItemLoan(AyaNova.Models.QuoteItemLoan)">
             <summary>
             Update QuoteItemLoan        
            
             </summary>       
             <param name="updatedObject">QuoteItemLoan - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.DeleteQuoteItemLoan(System.Int64)">
            <summary>
            Delete QuoteItemLoan
            </summary>
            <param name="QuoteItemLoanId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PostQuoteItemOutsideService(AyaNova.Models.QuoteItemOutsideService,Asp.Versioning.ApiVersion)">
            <summary>
            Create QuoteItemOutsideService
            </summary>       
            <param name="newObject">QuoteItemOutsideService level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>QuoteItemOutsideService object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.GetQuoteItemOutsideService(System.Int64)">
            <summary>
            Get QuoteItemOutsideService object
            </summary>
            <param name="QuoteItemOutsideServiceId"></param>
            <returns>A single QuoteItemOutsideService</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PutQuoteItemOutsideService(AyaNova.Models.QuoteItemOutsideService)">
             <summary>
             Update QuoteItemOutsideService        
            
             </summary>       
             <param name="updatedObject">QuoteItemOutsideService - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.DeleteQuoteItemOutsideService(System.Int64)">
            <summary>
            Delete QuoteItemOutsideService
            </summary>
            <param name="QuoteItemOutsideServiceId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PostQuoteItemPart(AyaNova.Models.QuoteItemPart,Asp.Versioning.ApiVersion)">
            <summary>
            Create QuoteItemPart
            </summary>       
            <param name="newObject">QuoteItemPart level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>QuoteItemPart object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.GetQuoteItemPart(System.Int64)">
            <summary>
            Get QuoteItemPart object
            </summary>
            <param name="QuoteItemPartId"></param>
            <returns>A single QuoteItemPart</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PutQuoteItemPart(AyaNova.Models.QuoteItemPart)">
             <summary>
             Update QuoteItemPart        
            
             </summary>       
             <param name="updatedObject">QuoteItemPart - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.DeleteQuoteItemPart(System.Int64)">
            <summary>
            Delete QuoteItemPart
            </summary>
            <param name="QuoteItemPartId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PostQuoteItemScheduledUser(AyaNova.Models.QuoteItemScheduledUser,Asp.Versioning.ApiVersion)">
            <summary>
            Create QuoteItemScheduledUser
            </summary>       
            <param name="newObject">QuoteItemScheduledUser level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>QuoteItemScheduledUser object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.GetQuoteItemScheduledUser(System.Int64)">
            <summary>
            Get QuoteItemScheduledUser object
            </summary>
            <param name="QuoteItemScheduledUserId"></param>
            <returns>A single QuoteItemScheduledUser</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PutQuoteItemScheduledUser(AyaNova.Models.QuoteItemScheduledUser)">
             <summary>
             Update QuoteItemScheduledUser        
            
             </summary>       
             <param name="updatedObject">QuoteItemScheduledUser - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.DeleteQuoteItemScheduledUser(System.Int64)">
            <summary>
            Delete QuoteItemScheduledUser
            </summary>
            <param name="QuoteItemScheduledUserId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PostQuoteItemTask(AyaNova.Models.QuoteItemTask,Asp.Versioning.ApiVersion)">
            <summary>
            Create QuoteItemTask
            </summary>       
            <param name="newObject">QuoteItemTask level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>QuoteItemTask object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.GetQuoteItemTask(System.Int64)">
            <summary>
            Get QuoteItemTask object
            </summary>
            <param name="QuoteItemTaskId"></param>
            <returns>A single QuoteItemTask</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PutQuoteItemTask(AyaNova.Models.QuoteItemTask)">
             <summary>
             Update QuoteItemTask        
            
             </summary>       
             <param name="updatedObject">QuoteItemTask - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.DeleteQuoteItemTask(System.Int64)">
            <summary>
            Delete QuoteItemTask
            </summary>
            <param name="QuoteItemTaskId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PostQuoteItemTravel(AyaNova.Models.QuoteItemTravel,Asp.Versioning.ApiVersion)">
            <summary>
            Create QuoteItemTravel
            </summary>       
            <param name="newObject">QuoteItemTravel level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>QuoteItemTravel object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.GetQuoteItemTravel(System.Int64)">
            <summary>
            Get QuoteItemTravel object
            </summary>
            <param name="QuoteItemTravelId"></param>
            <returns>A single QuoteItemTravel</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PutQuoteItemTravel(AyaNova.Models.QuoteItemTravel)">
             <summary>
             Update QuoteItemTravel        
            
             </summary>       
             <param name="updatedObject">QuoteItemTravel - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.DeleteQuoteItemTravel(System.Int64)">
            <summary>
            Delete QuoteItemTravel
            </summary>
            <param name="QuoteItemTravelId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PostQuoteItemUnit(AyaNova.Models.QuoteItemUnit,Asp.Versioning.ApiVersion)">
            <summary>
            Create QuoteItemUnit
            </summary>       
            <param name="newObject">QuoteItemUnit level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>QuoteItemUnit object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.GetQuoteItemUnit(System.Int64)">
            <summary>
            Get QuoteItemUnit object
            </summary>
            <param name="QuoteItemUnitId"></param>
            <returns>A single QuoteItemUnit</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.PutQuoteItemUnit(AyaNova.Models.QuoteItemUnit)">
             <summary>
             Update QuoteItemUnit        
            
             </summary>       
             <param name="updatedObject">QuoteItemUnit - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteController.DeleteQuoteItemUnit(System.Int64)">
            <summary>
            Delete QuoteItemUnit
            </summary>
            <param name="QuoteItemUnitId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteStatusController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.QuoteStatusController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteStatusController.PostQuoteStatus(AyaNova.Models.QuoteStatus,Asp.Versioning.ApiVersion)">
            <summary>
            Create QuoteStatus
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteStatusController.GetQuoteStatus(System.Int64)">
            <summary>
            Get QuoteStatus
            </summary>
            <param name="id"></param>
            <returns>QuoteStatus</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteStatusController.PutQuoteStatus(AyaNova.Models.QuoteStatus)">
            <summary>
            Update QuoteStatus
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteStatusController.DeleteQuoteStatus(System.Int64)">
            <summary>
            Delete QuoteStatus
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.QuoteStatusController.StatusList">
            <summary>
            Get Status list
            </summary>
            <returns>List in alphabetical order of all work order status items</returns>    
        </member>
        <member name="M:AyaNova.Api.Controllers.ReminderController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.ReminderController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.ReminderController.PostReminder(AyaNova.Models.Reminder,Asp.Versioning.ApiVersion)">
            <summary>
            Create Reminder
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReminderController.GetReminder(System.Int64)">
            <summary>
            Get Reminder
            </summary>
            <param name="id"></param>
            <returns>Reminder</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReminderController.PutReminder(AyaNova.Models.Reminder)">
            <summary>
            Update Reminder
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReminderController.DeleteReminder(System.Int64)">
            <summary>
            Delete Reminder
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReminderController.GetScheduleInfoView(System.Int64)">
            <summary>
            Get Reminder schedule "more" info
            </summary>
            <param name="id"></param>
            <returns>Information to display in schedule when selected for more info</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReportController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.ReportController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.ReportController.PostReport(AyaNova.Models.Report,Asp.Versioning.ApiVersion)">
            <summary>
            Create Report
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReportController.GetReport(System.Int64)">
            <summary>
            Get Report
            </summary>
            <param name="id"></param>
            <returns>Report</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReportController.PutReport(AyaNova.Models.Report)">
            <summary>
            Update Report
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReportController.DeleteReport(System.Int64)">
            <summary>
            Delete Report
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReportController.GetReportList(AyaNova.Biz.AyaType)">
            <summary>
            Get Report list for object
            </summary>
            <param name="aType">Type of object</param>
            <returns>Name / id report list of allowed reports for role of requester</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReportController.GetReportData(AyaNova.Models.DataListSelectedRequest,Asp.Versioning.ApiVersion)">
            <summary>
            Get a limited amount of sample data from id list in format used by report designer
            </summary>
            <param name="selectedRequest">Data required for report</param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReportController.RequestRenderReport(AyaNova.Models.DataListReportRequest,Asp.Versioning.ApiVersion)">
            <summary>
            Start Render Report job
            </summary>
            <param name="reportRequest">report id and object id values for object type specified in report template</param>
            <param name="apiVersion">From route path</param>
            <returns>Job Id</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReportController.RequestCancelJob(System.Guid)">
            <summary>
            Attempt cancel render job
            </summary>       
            <param name="gid"></param>
            <returns>nothing</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReportController.DownloadAsync(System.String,System.String)">
            <summary>
            Download a rendered report
            </summary>
            <param name="fileName"></param>
            <param name="t">download token</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReportController.DownloadTemplate(System.Int64,System.String)">
            <summary>
            Download report template
            </summary>
            <param name="id">Report id</param>
            <param name="t">download token</param>
            <returns>A single report template as a file</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReportController.UploadAsync">
            <summary>
            Upload Reprot template export file
            Max 15mb total
            </summary>
            <returns>Accepted</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReviewController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.ReviewController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.ReviewController.PostReview(AyaNova.Models.Review,Asp.Versioning.ApiVersion)">
            <summary>
            Create Review
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReviewController.GetReview(System.Int64)">
            <summary>
            Get Review
            </summary>
            <param name="id"></param>
            <returns>Review</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReviewController.PutReview(AyaNova.Models.Review)">
            <summary>
            Update Review
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReviewController.DeleteReview(System.Int64)">
            <summary>
            Delete Review
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ReviewController.GetScheduleInfoView(System.Int64)">
            <summary>
            Get Review schedule "more" info
            </summary>
            <param name="id"></param>
            <returns>Information to display in schedule when selected for more info</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ScheduleController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.ScheduleController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.ScheduleController.PostServiceSchedule(AyaNova.Api.Controllers.ScheduleController.ServiceScheduleParams,Asp.Versioning.ApiVersion)">
            <summary>
            Get service management schedule for parameters specified
            time zone UTC offset in minutes is required to be passed in 
            timestamps returned are in Unix Epoch milliseconds converted for local time display
            </summary>
            <param name="p">Service schedule parameters</param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ScheduleController.PostUserSchedule(AyaNova.Api.Controllers.ScheduleController.PersonalScheduleParams,Asp.Versioning.ApiVersion)">
            <summary>
            Get User schedule for parameters specified
            This is called when drilling down into specific user from service schedule form and is not the personal schedule
            time zone UTC offset in minutes is required to be passed in 
            timestamps returned are in Unix Epoch milliseconds converted for local time display
            </summary>
            <param name="p">User schedule parameters</param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ScheduleController.PostPersonalSchedule(AyaNova.Api.Controllers.ScheduleController.PersonalScheduleParams,Asp.Versioning.ApiVersion)">
            <summary>
            Get personal schedule for parameters specified
            time zone UTC offset in minutes is required to be passed in 
            timestamps returned are in Unix Epoch milliseconds converted for local time display
            </summary>
            <param name="p">Personal schedule parameters</param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ScheduleController.AdjustSchedule(AyaNova.Models.ScheduleItemAdjustParams,Asp.Versioning.ApiVersion)">
            <summary>
            Adjust a schedule item's start / end timestamp
            </summary>
            <param name="ad">Adjustment parameters parameters</param>
            <param name="apiVersion">From route path</param>
            <returns>Error or OK response</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.SearchController">
            <summary>
            Search
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.SearchController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.SearchController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.SearchController.PostSearch(AyaNova.Biz.Search.SearchRequestParameters)">
            <summary>
            Create search parameters
            MaxResults defaults to 500 
            MaxResults = 0 returns all results 
            </summary>
            <param name="searchParams"></param>
            <returns>SearchResult list</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.SearchController.GetInfo(AyaNova.Biz.AyaType,System.Int64,System.String,System.Int32)">
            <summary>
            Get search result summary
            </summary>
            <param name="ayaType"></param>
            <param name="id"></param>
            <param name="phrase"></param>
             <param name="max"></param>
            <returns>A search result excerpt of object</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.SearchController.GetAncestor(AyaNova.Biz.AyaType,System.Int64)">
            <summary>
            Get the top level ancestor of provided type and id
            (e.g. find the WorkOrder principle for a WorkOrderItemPart object descendant)
            </summary>
            <param name="ayaType"></param>
            <param name="id"></param>        
            <returns>A type and id of ancestor</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.ServerMetricsController">
            <summary>
            Server metrics
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.ServerMetricsController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.LogFilesController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.ServerMetricsController.GetMemCPUMetrics(System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.Int32})">
            <summary>
            Get Memory and CPU server metrics for time period specified
            </summary>  
            <param name="tsStart">Start timestamp UTC</param>
            <param name="tsEnd">End timestamp UTC</param>
            <param name="maxRecords">Optional maximum records to return (downsampled). There is a 400 record maximum fixed default</param>
            <returns>Snapshot of metrics</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ServerMetricsController.GetStorageMetrics(System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.Int32})">
            <summary>
            Get storage server metrics for time period specified
            </summary>  
            <param name="tsStart">Start timestamp UTC</param>
            <param name="tsEnd">End timestamp UTC</param>
            <param name="maxRecords">Optional maximum records to return (downsampled). There is a 400 record maximum fixed default</param>
            <returns>Snapshot of metrics</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ServerMetricsController.GetDBMetrics(System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.Int32})">
            <summary>
            Get database related metrics for time period specified
            </summary>  
            <param name="tsStart">Start timestamp UTC</param>
            <param name="tsEnd">End timestamp UTC</param>
            <param name="maxRecords">Optional maximum records to return (downsampled). There is a 400 record maximum fixed default</param>
            <returns>Snapshot of metrics</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.ServerStateController">
            <summary>
            Server state controller
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.ServerStateController.Get">
            <summary>
            Get server state 
            </summary>
            <returns>Current server state (Closed, MigrateMode, OpsOnly, Open)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ServerStateController.PostServerState(AyaNova.Api.Controllers.ServerStateController.ServerStateModel)">
            <summary>
            Set server state
            Valid parameters:
            One of "OpsOnly", "MigrateMode" or "Open"
            </summary>
            <param name="state">{"serverState":"Open"}</param>
            <returns>New server state</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.ServerStateController.ServerStateModel">
            <summary>
            Parameter object
            </summary>
        </member>
        <member name="P:AyaNova.Api.Controllers.ServerStateController.ServerStateModel.ServerState">
            <summary>
            "OpsOnly", "MigrateMode"  or "Open"
            </summary>
            <returns></returns>
        </member>
        <member name="P:AyaNova.Api.Controllers.ServerStateController.ServerStateModel.Reason">
            <summary>
            Reason for server state
            </summary>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ServerStateController.PostShutdown">
            <summary>
            Controlled server shut down
            </summary>
            <returns>Accepted</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ServerStateController.GetActiveConfiguration">
            <summary>
            Get server configuration 
            </summary>
            <returns>Active server configuration</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ServerStateController.GetTechSupportInfo">
            <summary>
            Fetch all logs and server configuration setting for technical support purposes
            </summary>
            <returns>text result</returns>        
        </member>
        <member name="M:AyaNova.Api.Controllers.ServiceRateController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.ServiceRateController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.ServiceRateController.PostServiceRate(AyaNova.Models.ServiceRate,Asp.Versioning.ApiVersion)">
            <summary>
            Create ServiceRate
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ServiceRateController.GetServiceRate(System.Int64)">
            <summary>
            Get ServiceRate
            </summary>
            <param name="id"></param>
            <returns>ServiceRate</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ServiceRateController.PutServiceRate(AyaNova.Models.ServiceRate)">
            <summary>
            Update ServiceRate
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ServiceRateController.DeleteServiceRate(System.Int64)">
            <summary>
            Delete ServiceRate
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ServiceRateController.GetPriorUnits">
            <summary>
            Get prior rate Units entered
            </summary>       
            <returns>list of Units</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.ServiceRateController.GetAccountingList">
            <summary>
            Get list for accounting integrations
            </summary>       
            <returns>NameIdActiveChargeCost list</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.TagController">
            <summary>
            
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.TagController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.TagController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.TagController.GetList(System.String)">
            <summary>
            Get tag list
            </summary>
            <param name="query">The query to filter the returned list by</param>
            <returns>Filtered list (maximum 25 items are returned for any query)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TagController.GetCloudList(System.String)">
            <summary>
            Get tag cloud list
            </summary>
            <param name="query">The query to filter the returned list by</param>
            <returns>List</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TagController.BatchAdd(System.String,AyaNova.Models.DataListSelectedRequest)">
            <summary>
            Batch add tags to list of object id's specified
            </summary>      
            <param name="tag"></param>
            <param name="selectedRequest"></param>
            <returns>Job Id</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TagController.BatchAddAny(AyaNova.Biz.AyaType,System.String)">
            <summary>
            Batch add tags to all objects of type specified
            </summary>
            <param name="ayaType"></param>
            <param name="tag"></param>        
            <returns>Job Id</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TagController.BatchRemove(System.String,AyaNova.Models.DataListSelectedRequest)">
            <summary>
            Batch remove tags to list of object id's specified
            </summary>        
            <param name="tag"></param>
            <param name="selectedRequest"></param>
            <returns>Job Id</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TagController.BatchRemoveAny(AyaNova.Biz.AyaType,System.String)">
            <summary>
            Batch remove tags to all objects of type specified
            </summary>
            <param name="ayaType"></param>
            <param name="tag"></param>        
            <returns>Job Id</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TagController.BatchReplace(System.String,System.String,AyaNova.Models.DataListSelectedRequest)">
            <summary>
            Batch replace tags to list of object id's specified
            </summary>        
            <param name="fromTag"></param>
            <param name="toTag"></param>
            <param name="selectedRequest"></param>
            <returns>Job Id</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TagController.BatchReplaceAny(AyaNova.Biz.AyaType,System.String,System.String)">
            <summary>
            Batch replace tags to all objects of type specified
            </summary>
            <param name="ayaType"></param>
            <param name="fromTag"></param> 
            <param name="toTag"></param>       
            <returns>Job Id</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TaskGroupController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.TaskGroupController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.TaskGroupController.PostTaskGroup(AyaNova.Models.TaskGroup,Asp.Versioning.ApiVersion)">
            <summary>
            Create TaskGroup
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TaskGroupController.GetTaskGroup(System.Int64)">
            <summary>
            Get TaskGroup
            </summary>
            <param name="id"></param>
            <returns>TaskGroup</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TaskGroupController.PutTaskGroup(AyaNova.Models.TaskGroup)">
            <summary>
            Update TaskGroup
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TaskGroupController.DeleteTaskGroup(System.Int64)">
            <summary>
            Delete TaskGroup
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TaxCodeController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.TaxCodeController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.TaxCodeController.PostTaxCode(AyaNova.Models.TaxCode,Asp.Versioning.ApiVersion)">
            <summary>
            Create TaxCode
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TaxCodeController.GetTaxCode(System.Int64)">
            <summary>
            Get TaxCode
            </summary>
            <param name="id"></param>
            <returns>TaxCode</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TaxCodeController.PutTaxCode(AyaNova.Models.TaxCode)">
            <summary>
            Update TaxCode
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TaxCodeController.DeleteTaxCode(System.Int64)">
            <summary>
            Delete TaxCode
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.TranslationController">
            <summary>
            Translation controller
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.TranslationController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.TranslationController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.TranslationController.GetTranslation(System.Int64)">
            <summary>
            Get Translation all values
            </summary>
            <param name="id"></param>
            <returns>A single Translation and it's values</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TranslationController.PutTranslation(AyaNova.Models.Translation)">
            <summary>
            Update Translation
            
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TranslationController.TranslationList">
            <summary>
            Get Translations list
            </summary>
            <returns>List in alphabetical order of all Translations</returns>    
        </member>
        <member name="M:AyaNova.Api.Controllers.TranslationController.SubSet(System.Collections.Generic.List{System.String})">
            <summary>
            Get subset of translation values
            </summary>
            <param name="inObj">List of translation key strings</param>
            <returns>A key value array of translation text values</returns>    
        </member>
        <member name="M:AyaNova.Api.Controllers.TranslationController.SubSet(System.Int64,System.Collections.Generic.List{System.String})">
            <summary>
            Get subset of translation values for specific translation Id
            </summary>
            <param name="id"></param>
            <param name="inObj">List of translation key strings</param>
            <returns>A key value array of translation text values</returns>    
        </member>
        <member name="M:AyaNova.Api.Controllers.TranslationController.DuplicateTranslation(System.Int64,Asp.Versioning.ApiVersion)">
            <summary>
            Duplicate       
            </summary>
            <param name="id">Source object id</param>
            <param name="apiVersion">From route path</param>
            <returns>Duplicate</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TranslationController.DeleteTranslation(System.Int64)">
            <summary>
            Delete Translation
            </summary>
            <param name="id"></param>
            <returns>Ok</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TranslationController.DownloadTranslation(System.Int64,System.String)">
            <summary>
            Get Translation all values
            </summary>
            <param name="id"></param>
            <param name="t">download token</param>
            <returns>A single Translation and it's values</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TranslationController.UploadAsync">
            <summary>
            Upload Translation export file
            Max 15mb total
            </summary>
            <returns>Accepted</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TranslationController.PutTranslationItemsDisplayText(System.Collections.Generic.List{AyaNova.Models.NewTextIdConcurrencyTokenItem})">
            <summary>
            Put (UpdateTranslationItemDisplayText) 
            Update a list of items with new display text
            </summary>     
            <param name="inObj">Array of NewText/Id/Concurrency token objects. NewText is new display text, Id is TranslationItem Id, concurrency token is required</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TravelRateController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.TravelRateController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.TravelRateController.PostTravelRate(AyaNova.Models.TravelRate,Asp.Versioning.ApiVersion)">
            <summary>
            Create TravelRate
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TravelRateController.GetTravelRate(System.Int64)">
            <summary>
            Get TravelRate
            </summary>
            <param name="id"></param>
            <returns>TravelRate</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TravelRateController.PutTravelRate(AyaNova.Models.TravelRate)">
            <summary>
            Update TravelRate
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TravelRateController.DeleteTravelRate(System.Int64)">
            <summary>
            Delete TravelRate
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TravelRateController.GetPriorUnits">
            <summary>
            Get prior rate Units entered
            </summary>       
            <returns>list of Units</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.TravelRateController.GetAccountingList">
            <summary>
            Get list for accounting integrations
            </summary>       
            <returns>NameIdActiveChargeCost list</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.TrialController">
             <summary>
            Test controller class used during development
             </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.TrialController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.TrialController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>
        </member>
        <member name="M:AyaNova.Api.Controllers.TrialController.SeedTrialDatabase(AyaNova.Api.Controllers.TrialController.SeedOptions)">
            <summary>
            Seed a trial database with sample data.
            NOTE: the database must be erased prior to seeding 
            You can control the size and scope of the seeded data with the passed in size value
            "Small" - a small one man shop dataset
            "Medium" - Local service company with multiple employees and departments dataset
            "Large" - Large corporate multi regional dataset
            "Huge" - Used for automated testing and development, if you choose this it will take a very long time (15 minutes to overnight)
            TimeZoneOffset - Value in hours of local time zone offset from UTC / GMT. This ensures that data is generated relative to the desired time zone
            E2e - End to end testing mode for development automated testing; false is default and faster
            ForceEmail - set every generated object with an email address to this email address
            AppendPassword - append this string to the stock passwords, useful when testing on the public internet
            </summary>
            <param name="seedOptions"></param>
            <returns>Job Id</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UnitController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.UnitController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.UnitController.PostUnit(AyaNova.Models.Unit,Asp.Versioning.ApiVersion)">
            <summary>
            Create Unit
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UnitController.CustomerPostUnit(AyaNova.Models.CustomerPostUnit,Asp.Versioning.ApiVersion)">
            <summary>
            Customer Create Unit
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns>Id of newly created Unit or error response</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UnitController.GetUnit(System.Int64)">
            <summary>
            Get Unit
            </summary>
            <param name="id"></param>
            <returns>Unit</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UnitController.PutUnit(AyaNova.Models.Unit)">
            <summary>
            Update Unit
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UnitController.DeleteUnit(System.Int64)">
            <summary>
            Delete Unit
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UnitController.GetUnitServiceAddress(System.Int64)">
            <summary>
            Get service address for this Unit 
            </summary>
            <param name="id"></param>
            <returns>Service address</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UnitController.GetBulkAddList(AyaNova.Api.Controllers.UnitController.UnitListByTagParams)">
            <summary>
            Get Unit list by tag and optionally customer
            </summary>
            <param name="searchParam"></param>
            <returns>List of units</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UnitController.GetUnitServiceWarrantyInfo(System.Int64)">
            <summary>
            Get Unit service and warranty info
            </summary>
            <param name="id"></param>
            <returns>Service and warranty info</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UnitController.GetUnitActiveContract(System.Int64)">
            <summary>
            Get Unit info required for service workorder on selection
            </summary>
            <param name="id">UnitId</param>
            <returns>Contract name and Id, meter reading status</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UnitController.PostUnitMeterReading(AyaNova.Models.UnitMeterReading,Asp.Versioning.ApiVersion)">
            <summary>
            Create Unit Meter Reading entry
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UnitController.GetUnitMeterReading(System.Int64)">
            <summary>
            Get Unit Meter Reading entry
            </summary>
            <param name="id"></param>
            <returns>Unit</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UnitModelController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.UnitModelController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.UnitModelController.PostUnitModel(AyaNova.Models.UnitModel,Asp.Versioning.ApiVersion)">
            <summary>
            Create UnitModel
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UnitModelController.GetUnitModel(System.Int64)">
            <summary>
            Get UnitModel
            </summary>
            <param name="id"></param>
            <returns>UnitModel</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UnitModelController.PutUnitModel(AyaNova.Models.UnitModel)">
            <summary>
            Update UnitModel
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UnitModelController.DeleteUnitModel(System.Int64)">
            <summary>
            Delete UnitModel
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.UserController">
            <summary>
            User
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.UserController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.UserController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.UserController.GetUser(System.Int64)">
            <summary>
            Get User
            </summary>
            <param name="id"></param>
            <returns>A single User</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UserController.PutUser(AyaNova.Models.User)">
            <summary>
            Update User
            (Login and / or Password are not changed if set to null / omitted)
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UserController.PostUser(AyaNova.Models.User,Asp.Versioning.ApiVersion)">
            <summary>
            Create User
            </summary>
            <param name="inObj"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UserController.DeleteUser(System.Int64)">
            <summary>
            Delete User
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UserController.GetInsideUserList">
            <summary>
            Get list of Users
            (rights to User object required)
            </summary>     
            <returns>All "inside" Users (except Customer and HeadOffice type)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UserController.GetCustomerContactList(System.Int64)">
            <summary>
            Get list of Customer Contact Users
            (Rights to Customer object required)
            </summary>     
            <returns>Customer contact users</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UserController.GetHeadOfficeContactList(System.Int64)">
            <summary>
            Get list of HeadOffice Contact Users
            (Rights to HeadOffice object required)
            </summary>     
            <returns>HeadOffice contact users</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UserController.GetInsideStatus(System.Int64)">
            <summary>
            Fetch user type (inside meaning staff or subcontractor or outside meaning customer or headoffice type user)
            
            </summary>     
            <returns>All "inside" Users (except Customer and HeadOffice type)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UserController.GetAMSU">
            <summary>
            Fetch super user status
            
            </summary>     
            <returns>true or false</returns>
        </member>
        <member name="T:AyaNova.Api.Controllers.UserOptionsController">
            <summary>
            UserOptions
            </summary>
        </member>
        <member name="M:AyaNova.Api.Controllers.UserOptionsController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.UserOptionsController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.UserOptionsController.GetUserOptions(System.Int64)">
            <summary>
            Get full UserOptions object
            </summary>
            <param name="id">UserId</param>
            <returns>A single UserOptions</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.UserOptionsController.PutUserOptions(System.Int64,AyaNova.Models.UserOptions)">
            <summary>
            Update UserOptions
            </summary>
            <param name="id">User id</param>
            <param name="inObj"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.VendorController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.VendorController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.VendorController.PostVendor(AyaNova.Models.Vendor,Asp.Versioning.ApiVersion)">
            <summary>
            Create Vendor
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.VendorController.GetVendor(System.Int64)">
            <summary>
            Get Vendor
            </summary>
            <param name="id"></param>
            <returns>Vendor</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.VendorController.PutVendor(AyaNova.Models.Vendor)">
            <summary>
            Update Vendor
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.VendorController.DeleteVendor(System.Int64)">
            <summary>
            Delete Vendor
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.VendorController.GetVendorAlert(System.Int64)">
            <summary>
            Get alert notes for this vendor 
            </summary>
            <param name="id"></param>
            <returns>Alert notes or null</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.VendorController.GetAccountingList">
            <summary>
            Get list for accounting integrations
            </summary>       
            <returns>NameIdActive list</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.WorkOrderController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PostWorkOrder(AyaNova.Models.WorkOrder,Asp.Versioning.ApiVersion)">
            <summary>
            Create WorkOrder
            </summary>
            <param name="newObject">WorkOrder - top level only, no descendants</param>
            <param name="apiVersion">From route path</param>
            <returns>WorkOrder</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.GetWorkOrder(System.Int64)">
            <summary>
            Get WorkOrder
            </summary>
            <param name="id"></param>
            <returns>WorkOrder</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.GetCustomerWorkOrder(System.Int64)">
            <summary>
            Get Customer view of WorkOrder
            </summary>
            <param name="id"></param>
            <returns>Customer WorkOrder</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PutWorkOrder(AyaNova.Models.WorkOrder)">
             <summary>
             Update WorkOrder        
            
             </summary>       
             <param name="updatedObject">WorkOrder - top level only, no Items or other descendants</param>
             <returns>Updated work order header</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.DeleteWorkOrder(System.Int64)">
            <summary>
            Delete WorkOrder
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.GetWorkOrderIdFromNumber(System.Int64)">
            <summary>
            Get WorkOrder id from work order serial number
            </summary>
            <param name="number"></param>
            <returns>WorkOrder</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.GetAccountingListBillable(System.Int64)">
            <summary>
            Get list of billable work orders for accounting integrations
            </summary>         
            <param name="workOrderStatusId">Only work orders set to this status (use 0 to ignore status)</param>     
            <returns>List of billable workorders with related data</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PostWorkOrderState(AyaNova.Models.WorkOrderState,Asp.Versioning.ApiVersion)">
            <summary>
            Create WorkOrderState
            </summary>       
            <param name="newObject">WorkOrderState</param>
            <param name="apiVersion"></param>
            <returns>WorkOrderState object</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.GetWorkOrderState(System.Int64)">
            <summary>
            Get WorkOrderState object
            </summary>
            <param name="WorkOrderStateId"></param>
            <returns>A single WorkOrderState</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PostWorkOrderItem(AyaNova.Models.WorkOrderItem,Asp.Versioning.ApiVersion)">
            <summary>
            Create WorkOrderItem
            </summary>       
            <param name="newObject">WorkOrderItem - no descendants</param>
            <param name="apiVersion"></param>
            <returns>WorkOrderItem object</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.GetWorkOrderItem(System.Int64)">
            <summary>
            Get WorkOrderItem object
            </summary>
            <param name="WorkOrderItemId"></param>
            <returns>A single WorkOrderItem</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PutWorkOrderItem(AyaNova.Models.WorkOrderItem)">
             <summary>
             Update WorkOrderItem        
            
             </summary>       
             <param name="updatedObject">WorkOrderItem - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.DeleteWorkOrderItem(System.Int64)">
            <summary>
            Delete WorkOrderItem
            </summary>
            <param name="WorkOrderItemId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PostWorkOrderItemExpense(AyaNova.Models.WorkOrderItemExpense,Asp.Versioning.ApiVersion)">
            <summary>
            Create WorkOrderItemExpense
            </summary>       
            <param name="newObject">WorkOrderItemExpense level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>WorkOrderItemExpense object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.GetWorkOrderItemExpense(System.Int64)">
            <summary>
            Get WorkOrderItemExpense object
            </summary>
            <param name="WorkOrderItemExpenseId"></param>
            <returns>A single WorkOrderItemExpense</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PutWorkOrderItemExpense(AyaNova.Models.WorkOrderItemExpense)">
             <summary>
             Update WorkOrderItemExpense        
            
             </summary>       
             <param name="updatedObject">WorkOrderItemExpense - top level only, no descendants</param>
             <returns>Updated Expense item</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.DeleteWorkOrderItemExpense(System.Int64)">
            <summary>
            Delete WorkOrderItemExpense
            </summary>
            <param name="WorkOrderItemExpenseId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PostWorkOrderItemLabor(AyaNova.Models.WorkOrderItemLabor,Asp.Versioning.ApiVersion)">
            <summary>
            Create WorkOrderItemLabor
            </summary>       
            <param name="newObject">WorkOrderItemLabor level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>WorkOrderItemLabor object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.GetWorkOrderItemLabor(System.Int64)">
            <summary>
            Get WorkOrderItemLabor object
            </summary>
            <param name="workOrderItemLaborId"></param>
            <returns>A single WorkOrderItemLabor</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PutWorkOrderItemLabor(AyaNova.Models.WorkOrderItemLabor)">
             <summary>
             Update WorkOrderItemLabor        
            
             </summary>       
             <param name="updatedObject">WorkOrderItemLabor - top level only, no descendants</param>
             <returns>Updated object</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.DeleteWorkOrderItemLabor(System.Int64)">
            <summary>
            Delete WorkOrderItemLabor
            </summary>
            <param name="workOrderItemLaborId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PostWorkOrderItemLoan(AyaNova.Models.WorkOrderItemLoan,Asp.Versioning.ApiVersion)">
            <summary>
            Create WorkOrderItemLoan
            </summary>       
            <param name="newObject">WorkOrderItemLoan level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>WorkOrderItemLoan object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.GetWorkOrderItemLoan(System.Int64)">
            <summary>
            Get WorkOrderItemLoan object
            </summary>
            <param name="WorkOrderItemLoanId"></param>
            <returns>A single WorkOrderItemLoan</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PutWorkOrderItemLoan(AyaNova.Models.WorkOrderItemLoan)">
             <summary>
             Update WorkOrderItemLoan        
            
             </summary>       
             <param name="updatedObject">WorkOrderItemLoan - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.DeleteWorkOrderItemLoan(System.Int64)">
            <summary>
            Delete WorkOrderItemLoan
            </summary>
            <param name="WorkOrderItemLoanId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PostWorkOrderItemOutsideService(AyaNova.Models.WorkOrderItemOutsideService,Asp.Versioning.ApiVersion)">
            <summary>
            Create WorkOrderItemOutsideService
            </summary>       
            <param name="newObject">WorkOrderItemOutsideService level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>WorkOrderItemOutsideService object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.GetWorkOrderItemOutsideService(System.Int64)">
            <summary>
            Get WorkOrderItemOutsideService object
            </summary>
            <param name="WorkOrderItemOutsideServiceId"></param>
            <returns>A single WorkOrderItemOutsideService</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PutWorkOrderItemOutsideService(AyaNova.Models.WorkOrderItemOutsideService)">
             <summary>
             Update WorkOrderItemOutsideService        
            
             </summary>       
             <param name="updatedObject">WorkOrderItemOutsideService - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.DeleteWorkOrderItemOutsideService(System.Int64)">
            <summary>
            Delete WorkOrderItemOutsideService
            </summary>
            <param name="WorkOrderItemOutsideServiceId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PostWorkOrderItemPart(AyaNova.Models.WorkOrderItemPart,Asp.Versioning.ApiVersion)">
            <summary>
            Create WorkOrderItemPart
            </summary>       
            <param name="newObject">WorkOrderItemPart level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>WorkOrderItemPart object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.GetWorkOrderItemPart(System.Int64)">
            <summary>
            Get WorkOrderItemPart object
            </summary>
            <param name="WorkOrderItemPartId"></param>
            <returns>A single WorkOrderItemPart</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PutWorkOrderItemPart(AyaNova.Models.WorkOrderItemPart)">
             <summary>
             Update WorkOrderItemPart        
            
             </summary>       
             <param name="updatedObject">WorkOrderItemPart - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.DeleteWorkOrderItemPart(System.Int64)">
            <summary>
            Delete WorkOrderItemPart
            </summary>
            <param name="WorkOrderItemPartId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PostWorkOrderItemPartRequest(AyaNova.Models.WorkOrderItemPartRequest,Asp.Versioning.ApiVersion)">
            <summary>
            Create WorkOrderItemPartRequest
            </summary>       
            <param name="newObject">WorkOrderItemPartRequest level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>WorkOrderItemPartRequest object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.GetWorkOrderItemPartRequest(System.Int64)">
            <summary>
            Get WorkOrderItemPartRequest object
            </summary>
            <param name="WorkOrderItemPartRequestId"></param>
            <returns>A single WorkOrderItemPartRequest</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PutWorkOrderItemPartRequest(AyaNova.Models.WorkOrderItemPartRequest)">
             <summary>
             Update WorkOrderItemPartRequest        
            
             </summary>       
             <param name="updatedObject">WorkOrderItemPartRequest - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.DeleteWorkOrderItemPartRequest(System.Int64)">
            <summary>
            Delete WorkOrderItemPartRequest
            </summary>
            <param name="WorkOrderItemPartRequestId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PostWorkOrderItemScheduledUser(AyaNova.Models.WorkOrderItemScheduledUser,Asp.Versioning.ApiVersion)">
            <summary>
            Create WorkOrderItemScheduledUser
            </summary>       
            <param name="newObject">WorkOrderItemScheduledUser level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>WorkOrderItemScheduledUser object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.GetWorkOrderItemScheduledUser(System.Int64)">
            <summary>
            Get WorkOrderItemScheduledUser object
            </summary>
            <param name="WorkOrderItemScheduledUserId"></param>
            <returns>A single WorkOrderItemScheduledUser</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PutWorkOrderItemScheduledUser(AyaNova.Models.WorkOrderItemScheduledUser)">
             <summary>
             Update WorkOrderItemScheduledUser        
            
             </summary>       
             <param name="updatedObject">WorkOrderItemScheduledUser - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.DeleteWorkOrderItemScheduledUser(System.Int64)">
            <summary>
            Delete WorkOrderItemScheduledUser
            </summary>
            <param name="WorkOrderItemScheduledUserId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.GetScheduledUserScheduleInfoView(System.Int64)">
            <summary>
            Get WorkOrderItemScheduledUser schedule info
            </summary>
            <param name="WorkOrderItemScheduledUserId"></param>
            <returns>Information to display in schedule when selected for more info</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PostWorkOrderItemTask(AyaNova.Models.WorkOrderItemTask,Asp.Versioning.ApiVersion)">
            <summary>
            Create WorkOrderItemTask
            </summary>       
            <param name="newObject">WorkOrderItemTask level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>WorkOrderItemTask object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.GetWorkOrderItemTask(System.Int64)">
            <summary>
            Get WorkOrderItemTask object
            </summary>
            <param name="WorkOrderItemTaskId"></param>
            <returns>A single WorkOrderItemTask</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PutWorkOrderItemTask(AyaNova.Models.WorkOrderItemTask)">
             <summary>
             Update WorkOrderItemTask        
            
             </summary>       
             <param name="updatedObject">WorkOrderItemTask - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.DeleteWorkOrderItemTask(System.Int64)">
            <summary>
            Delete WorkOrderItemTask
            </summary>
            <param name="WorkOrderItemTaskId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PostWorkOrderItemTravel(AyaNova.Models.WorkOrderItemTravel,Asp.Versioning.ApiVersion)">
            <summary>
            Create WorkOrderItemTravel
            </summary>       
            <param name="newObject">WorkOrderItemTravel level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>WorkOrderItemTravel object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.GetWorkOrderItemTravel(System.Int64)">
            <summary>
            Get WorkOrderItemTravel object
            </summary>
            <param name="WorkOrderItemTravelId"></param>
            <returns>A single WorkOrderItemTravel</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PutWorkOrderItemTravel(AyaNova.Models.WorkOrderItemTravel)">
             <summary>
             Update WorkOrderItemTravel        
            
             </summary>       
             <param name="updatedObject">WorkOrderItemTravel - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.DeleteWorkOrderItemTravel(System.Int64)">
            <summary>
            Delete WorkOrderItemTravel
            </summary>
            <param name="WorkOrderItemTravelId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PostWorkOrderItemUnit(AyaNova.Models.WorkOrderItemUnit,Asp.Versioning.ApiVersion)">
            <summary>
            Create WorkOrderItemUnit
            </summary>       
            <param name="newObject">WorkOrderItemUnit level only no descendants</param>
            <param name="apiVersion"></param>
            <returns>WorkOrderItemUnit object (no descendants)</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.GetWorkOrderItemUnit(System.Int64)">
            <summary>
            Get WorkOrderItemUnit object
            </summary>
            <param name="WorkOrderItemUnitId"></param>
            <returns>A single WorkOrderItemUnit</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.PutWorkOrderItemUnit(AyaNova.Models.WorkOrderItemUnit)">
             <summary>
             Update WorkOrderItemUnit        
            
             </summary>       
             <param name="updatedObject">WorkOrderItemUnit - top level only, no descendants</param>
             <returns>New concurrency token</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderController.DeleteWorkOrderItemUnit(System.Int64)">
            <summary>
            Delete WorkOrderItemUnit
            </summary>
            <param name="WorkOrderItemUnitId"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderItemPriorityController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.WorkOrderItemPriorityController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderItemPriorityController.PostWorkOrderItemPriority(AyaNova.Models.WorkOrderItemPriority,Asp.Versioning.ApiVersion)">
            <summary>
            Create WorkOrderItemPriority
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderItemPriorityController.GetWorkOrderItemPriority(System.Int64)">
            <summary>
            Get WorkOrderItemPriority
            </summary>
            <param name="id"></param>
            <returns>WorkOrderItemPriority</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderItemPriorityController.PutWorkOrderItemPriority(AyaNova.Models.WorkOrderItemPriority)">
            <summary>
            Update WorkOrderItemPriority
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderItemPriorityController.DeleteWorkOrderItemPriority(System.Int64)">
            <summary>
            Delete WorkOrderItemPriority
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderItemPriorityController.PriorityList">
            <summary>
            Get Priority list
            </summary>
            <returns>List in alphabetical order of all WorkOrderItem priority items</returns>    
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderItemStatusController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.WorkOrderItemStatusController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderItemStatusController.PostWorkOrderItemStatus(AyaNova.Models.WorkOrderItemStatus,Asp.Versioning.ApiVersion)">
            <summary>
            Create WorkOrderItemStatus
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderItemStatusController.GetWorkOrderItemStatus(System.Int64)">
            <summary>
            Get WorkOrderItemStatus
            </summary>
            <param name="id"></param>
            <returns>WorkOrderItemStatus</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderItemStatusController.PutWorkOrderItemStatus(AyaNova.Models.WorkOrderItemStatus)">
            <summary>
            Update WorkOrderItemStatus
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderItemStatusController.DeleteWorkOrderItemStatus(System.Int64)">
            <summary>
            Delete WorkOrderItemStatus
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderItemStatusController.StatusList">
            <summary>
            Get Status list
            </summary>
            <returns>List in alphabetical order of all WorkOrderItem status items</returns>    
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderStatusController.#ctor(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger{AyaNova.Api.Controllers.WorkOrderStatusController},AyaNova.Api.ControllerHelpers.ApiServerState)">
            <summary>
            ctor
            </summary>
            <param name="dbcontext"></param>
            <param name="logger"></param>
            <param name="apiServerState"></param>  
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderStatusController.PostWorkOrderStatus(AyaNova.Models.WorkOrderStatus,Asp.Versioning.ApiVersion)">
            <summary>
            Create WorkOrderStatus
            </summary>
            <param name="newObject"></param>
            <param name="apiVersion">From route path</param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderStatusController.GetWorkOrderStatus(System.Int64)">
            <summary>
            Get WorkOrderStatus
            </summary>
            <param name="id"></param>
            <returns>WorkOrderStatus</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderStatusController.PutWorkOrderStatus(AyaNova.Models.WorkOrderStatus)">
            <summary>
            Update WorkOrderStatus
            </summary>        
            <param name="updatedObject"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderStatusController.DeleteWorkOrderStatus(System.Int64)">
            <summary>
            Delete WorkOrderStatus
            </summary>
            <param name="id"></param>
            <returns>NoContent</returns>
        </member>
        <member name="M:AyaNova.Api.Controllers.WorkOrderStatusController.StatusList">
            <summary>
            Get Status list
            </summary>
            <returns>List in alphabetical order of all work order status items</returns>    
        </member>
        <member name="T:AyaNova.DataList.DataListProcessingBase">
            <summary>
            DataList object base class
            </summary>
        </member>
        <member name="M:AyaNova.DataList.DataListSqlFilterCriteriaBuilder.DataFilterToColumnCriteria(System.String,AyaNova.Biz.UiFieldDataType,System.String,System.String,System.DateTimeOffset)">
            <summary>
            Translate DataFilter to PostgreSQL friendly SQL criteria
            </summary>
        </member>
        <member name="M:AyaNova.DataList.DataListSqlFilterCriteriaBuilder.TagDataFilterToColumnCriteria(System.String,System.String,System.String)">
            <summary>
            Translate TAG DataFilter to PostgreSQL friendly SQL criteria
            </summary>
        </member>
        <member name="M:AyaNova.DataList.DataListSqlFilterCriteriaBuilder.PostgresDateFormat(System.DateTime)">
            <summary>
            PostgreSQL compatible date format 
            https://www.postgresql.org/docs/current/datatype-datetime.html#DATATYPE-DATETIME-DATE-TABLE
            </summary>
            <returns></returns>
        </member>
        <member name="M:AyaNova.DataList.DataListSqlFilterCriteriaBuilder.TagFilterToSqlCriteriaHelper(System.String,System.Collections.Generic.List{System.String},System.Boolean)">
             <summary>
             Translate tag filter to PostgreSQL friendly SQL criteria
             </summary>
            
        </member>
        <member name="T:AyaNova.Generator.BackgroundService">
            <summary>
            Base class for implementing a long running <see cref="T:Microsoft.Extensions.Hosting.IHostedService"/>.
            </summary>
        </member>
        <member name="T:AyaNova.Models.AyImportData">
            <summary>
            Import data object used by admin->import feature
            </summary>
        </member>
        <member name="T:AyaNova.Models.BatchDirectSMTPParams">
            <summary>
            Parameters for bulk operation batch-direct-smtp
            </summary>
        </member>
        <member name="T:AyaNova.Models.JobOperationsFetchInfo">
            <summary>
            Job info fetch data
            </summary>
        </member>
        <member name="P:AyaNova.Models.JobOperationsFetchInfo.GId">
            <summary>
            Identity of the job
            </summary>
            <returns> id value of job, can be used to fetch logs</returns>
        </member>
        <member name="P:AyaNova.Models.JobOperationsFetchInfo.Created">
            <summary>
            Date job was submitted
            </summary>
            <returns>UTC date/time</returns>
        </member>
        <member name="P:AyaNova.Models.JobOperationsFetchInfo.LastAction">
            <summary>
            Date of the most recent operation for this job
            </summary>
            <returns>UTC date/time</returns>
        </member>
        <member name="P:AyaNova.Models.JobOperationsFetchInfo.Name">
            <summary>
            Descriptive name of the job
            </summary>
            <returns>string</returns>
        </member>
        <member name="P:AyaNova.Models.JobOperationsFetchInfo.JobStatus">
            <summary>
            Status of the job
            </summary>
            <returns>Job status as string</returns>
        </member>
        <member name="T:AyaNova.Models.JobOperationsLogInfoItem">
            <summary>
            Job log item
            </summary>
        </member>
        <member name="T:AyaNova.Models.JobProgress">
            <summary>
            Job Progress
            </summary>
        </member>
        <member name="P:AyaNova.Models.JobProgress.Progress">
            <summary>
            Progress string
            </summary>
            <returns>string</returns>
        </member>
        <member name="P:AyaNova.Models.JobProgress.JobStatus">
            <summary>
            Status of the job
            </summary>
            <returns>Job status</returns>
        </member>
        <member name="T:AyaNova.Models.NameItem">
            <summary>
            Dto object for name only parameters in routes
            </summary>
        </member>
        <member name="T:AyaNova.Models.UploadedFileInfo">
            <summary>
            Uploaded file info in it's temporary state
            </summary>
        </member>
        <member name="T:AyaNova.Models.Event">
            <summary>
            Event log entry
            </summary>
        </member>
        <member name="T:AyaNova.Models.ICoreBizObjectModel">
            <summary>
            Interface for biz object models with standard fields
            used for batch operations etc
            </summary>
        </member>
        <member name="T:AyaNova.Models.IntegrationLog">
            <summary>
            Integration log
            </summary>
        </member>
        <member name="T:AyaNova.Models.MetricDD">
            <summary>
            Metric for ONE DAY interval stats
            </summary>
        </member>
        <member name="T:AyaNova.Models.MetricMM">
            <summary>
            Metric for ONE MINUTE intervals
            </summary>
        </member>
        <member name="T:AyaNova.Models.OpsJob">
            <summary>
            Operations job
            </summary>
        </member>
        <member name="P:AyaNova.Models.OpsJob.JobInfo">
            <summary>
            Json string of any required extra info for job
            </summary>     
        </member>
        <member name="T:AyaNova.Models.OpsJobLog">
            <summary>
            Operations job log
            </summary>
        </member>
        <member name="T:AyaNova.Models.SchemaVersion">
            <summary>
            AyaNova Schema version table
            </summary>
        </member>
        <member name="T:AyaNova.PickList.AyaPickList">
            <summary>
            PickList object base class
            </summary>
        </member>
        <member name="T:AyaNova.Util.ApplicationLogging">
            <summary>
            Shared logger
            </summary>
        </member>
        <member name="T:AyaNova.Util.AyaNovaVersion">
            <summary>
            Version strings centrally located for convenience  
            </summary>
        </member>
        <member name="M:AyaNova.Util.CopyObject.Copy(System.Object,System.Object,System.String,System.Reflection.BindingFlags)">
            <summary>
            Copies the data of one object to another. The target object 'pulls' properties of the first. 
            This any matching properties are written to the target.
            
            The object copy is a shallow copy only. Any nested types will be copied as 
            whole values rather than individual property assignments (ie. via assignment)
            </summary>
            <param name="source">The source object to copy from</param>
            <param name="target">The object to copy to</param>
            <param name="excludedProperties">A comma delimited list of properties that should not be copied</param>
            <param name="memberAccess">Reflection binding access</param>
        </member>
        <member name="M:AyaNova.Util.DateUtil.IsAfterDuration(System.DateTime,System.Int32,System.Int32,System.Int32)">
            <summary>
            Is the current date after the referenced date by at least the duration specified
            </summary>
            <param name="startDate">UTC start point to compare to current UTC date</param>
            <param name="Hours"></param>
            <param name="Minutes"></param>
            <param name="Seconds"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.DateUtil.IsAfterDuration(System.DateTime,System.TimeSpan)">
            <summary>
            Is the current date after the referenced date by at least the timespan specified
            </summary>
            <param name="startDate">UTC start point to compare to current UTC date</param>
            <param name="tspan"></param>
            <returns></returns>
        </member>
        <member name="P:AyaNova.Util.DateUtil.EmptyDateValue">
            <summary>
            An internally consistent empty or not relevant date marker:
            January 1st 5555        
            </summary>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.DateUtil.ServerDateTimeString(System.DateTime)">
            <summary>
            returns a UTC short date, short time formatted date for local display to end user in logs, errors etc at the server level
            (Not related to UI display of dates and times)
            </summary>
            <param name="DateToDisplay"></param>
            <returns></returns>
        </member>
        <member name="P:AyaNova.Util.DateUtil.SortableShortCurrentDateTimeValue">
             <summary>
             Returns current date/time in sortable format
            (used for duplicate names by stringUtil and others)       
             </summary>
             <returns></returns>
        </member>
        <member name="M:AyaNova.Util.DateUtil.UniversalISO8661Format(System.DateTime)">
            <summary>
            returns passed in date as a string format ISO8661 UTC date (no conversion of date is done, it's assumed to be in UTC already)
            </summary>
            <param name="DateToDisplay"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.DateUtil.FormatTimeSpan(System.TimeSpan)">
            <summary>
            returns passed in timespan to human readable format
            </summary>
            <param name="timeSpan"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.DateUtil.FormatTimeSpan(System.TimeSpan,System.String,System.String,System.String,System.String)">
            <summary>
            returns passed in timespan to human readable format
            as short as possible using passed in time span translations
            </summary>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.DbUtil.CountOfRecordsAsync(System.String)">
            
        </member>
        <member name="M:AyaNova.Util.DbUtil.GetAllTablenamesAsync">
            
        </member>
        <member name="M:AyaNova.Util.ExceptionUtil.ExtractAllExceptionMessages(System.Exception)">
            <summary>
            Extract and return exception message
            Handles innermost exceptions level by level
            </summary>
            <param name="ex"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.FileUtil.EnsureUserAndUtilityFoldersExistAndAreNotIdentical">
            <summary>
            Ensurs folders exist and are not identical
            Throws an exception of they are found to be identical preventing startup
            The reason for this is to prevent a future erase database operation (which erases all attachment files)
            from erasing backups which might prevent recovery in case someone accidentally erases their database
            </summary>        
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.FileUtil.GetFullPathForTemporaryFile(System.String)">
            <summary>
            Get a path combining supplied file name and backup files folder
            </summary>
            <returns></returns>
        </member>
        <member name="P:AyaNova.Util.FileUtil.TemporaryFilesFolder">
            <summary>
            Get backup file folder
            </summary>
            <returns></returns>
        </member>
        <member name="P:AyaNova.Util.FileUtil.NewRandomTempFilesFolderFileName">
            <summary>
            Get a random file name with path to temporary files folder
            </summary>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.FileUtil.TemporaryFileExists(System.String)">
            <summary>
            Confirm if a file exists in the temporary files folder
            </summary>
            <param name="fileName">name of temp folder file </param>
            <returns>duh!</returns>
        </member>
        <member name="M:AyaNova.Util.FileUtil.CleanTemporaryFilesFolder(System.TimeSpan)">
            <summary>
            Erase all files found to be older than age
            </summary>
        </member>
        <member name="M:AyaNova.Util.FileUtil.GetFullPathForBackupFile(System.String)">
            <summary>
            Get a path combining supplied file name and backup files folder
            </summary>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.FileUtil.BackupStatusReport">
            <summary>
            Get a status report of backup
            for reporting to ops user in UI
            </summary>       
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.FileUtil.MostRecentAutomatedBackupFileDate">
            <summary>
            Get date of newest automatic backup file or minvalue if not found
            
            </summary>      
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.FileUtil.BackupFileExists(System.String)">
            <summary>
            Confirm if a file exists in the utility folder
            </summary>
            <param name="fileName">name of utility file </param>
            <returns>duh!</returns>
        </member>
        <member name="M:AyaNova.Util.FileUtil.EraseBackupFile(System.String)">
            <summary>
            DANGER: Erase backup file if it exists by name
            </summary>
        </member>
        <member name="M:AyaNova.Util.FileUtil.DatabaseBackupCleanUp(System.Int32)">
            <summary>
            Cleanup excess backups (backup folder file)        
            </summary>
            <param name="keepCount"></param>
        </member>
        <member name="M:AyaNova.Util.FileUtil.ZipGetUtilityFileEntries(System.String)">
            <summary>
            Get zip entries for a utlity file
            </summary>
            <param name="zipFileName"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.FileUtil.ZipGetEntries(System.String)">
            <summary>
            Get zip entries for full path and file name
            returns the entry fullname sorted alphabetically so that folders stay together
            </summary>
            <param name="zipPath"></param>
            <returns></returns>
        </member>
        <member name="P:AyaNova.Util.FileUtil.NewRandomAttachmentFilesFolderFileName">
            <summary>
            Get a random file name with path to attachments folder
            </summary>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.FileUtil.StoreFileAttachmentAsync(System.String,System.String,System.String,System.DateTime,AyaNova.Biz.AyaTypeId,System.String,System.Int64,AyaNova.Models.AyContext)">
            <summary>
            Store a file attachment
            </summary>      
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.FileUtil.GetPermanentAttachmentPath(System.String)">
             <summary>
            use first three characters for name of folders one character per folder, i.e.:
            if the checksum is f6a5b1236dbba1647257cc4646308326
            it would be stored in userfiles/f/6/a/f6a5b1236dbba1647257cc4646308326
             </summary>
             <param name="hash"></param>
             <returns>Path without the file</returns>
        </member>
        <member name="M:AyaNova.Util.FileUtil.GetPermanentAttachmentFilePath(System.String)">
            <summary>
            Get the whole path including file name not just the folder
            </summary>
            <param name="hash"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.FileUtil.DeleteFileAttachmentAsync(AyaNova.Models.FileAttachment,AyaNova.Models.AyContext)">
            <summary>
            Delete a file attachment
            checks ref count and if would be zero deletes file physically
            otherwise just deletes pointer in db
            </summary>
            <param name="fileAttachmentToBeDeleted"></param>
            <param name="ct"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.FileUtil.EraseEntireContentsOfAttachmentFilesFolder">
            <summary>
            DANGER: Erases all user files
            </summary>
        </member>
        <member name="M:AyaNova.Util.FileUtil.AttachmentFileExists(System.String)">
            <summary>
            Confirm if a file exists in the attachment folder
            </summary>
            <param name="fileName">name of attachment file </param>    
        </member>
        <member name="P:AyaNova.Util.FileUtil.NewRandomFileName">
            <summary>
            Get a random file name, no extension
            </summary>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.FileUtil.GetAttachmentFolderSizeInfo">
            <summary>
            Attachments / user files folder size info
            </summary>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.FileUtil.GetBackupFolderSizeInfo">
            <summary>
            Utility / backup folder file size info
            </summary>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.FileUtil.GetDirectorySize(System.IO.DirectoryInfo,System.Int32)">
            <summary>
            Calculate disk space usage under <paramref name="root"/>.  If <paramref name="levels"/> is provided, 
            then return subdirectory disk usages as well, up to <paramref name="levels"/> levels deep.
            If levels is not provided or is 0, return a list with a single element representing the
            directory specified by <paramref name="root"/>.
            
            FROM https://stackoverflow.com/a/28094795/8939
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.ImportUtil.Update(System.Object,System.Object,System.Collections.Generic.List{System.String})">
            <summary>
            Copies the data of one object to another. The target object 'pulls' properties of the first. 
            Any matching properties are written to the target.
            
            The object copy is a shallow copy only. Any nested types will be copied as 
            whole values rather than individual property assignments (ie. via assignment)
            </summary>
            <param name="source">The source object to copy from</param>
            <param name="target">The object to copy to</param>
            <param name="propertiesToUpdate">A list of properties that should be copied</param>
        </member>
        <member name="M:AyaNova.Util.JsonUtil.CompactJson(System.String)">
            <summary>
            Clean JSON string fragment, remove unnecessary characters
            can be called with anything and should handle it properly even empty values etc
            </summary>
            <param name="jsonIn"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.JsonUtil.GetCustomFieldsAsStringArrayForSearchIndexing(System.String)">
            <summary>
            Utility used by biz classes to extract all the custom field data as text strings suitable for search indexing
            Does not take into account type of field only what is in it and weeds out bools and any other non suitable for search text
            </summary>
            <param name="jsonIn"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.MoneyUtil.Round(System.Decimal)">
            <summary>
            Rounding for monetary values
            
            </summary>
            <param name="d"></param>  
            <returns></returns>
        </member>
        <member name="T:AyaNova.Util.RetryHelper">
            <summary>
            what it says
            </summary>
        </member>
        <member name="M:AyaNova.Util.RetryHelper.RetryOnException(System.Int32,System.TimeSpan,Microsoft.Extensions.Logging.ILogger,System.String,System.Action)">
            <summary>
            
            </summary>
            <param name="times"></param>
            <param name="delay"></param>
            <param name="log"></param>
            <param name="logPrepend"></param>
            <param name="operation"></param>
        </member>
        <member name="M:AyaNova.Util.Seeder.SeedUserAsync(Microsoft.Extensions.Logging.ILogger,System.Int32,AyaNova.Biz.AuthorizationRoles,AyaNova.Biz.UserType,System.String,System.String,System.String,System.String,System.Collections.Generic.List{System.String})">
            <summary>
            Generate seed user with active=true
            (override to save typing)       
            </summary>    
        </member>
        <member name="T:AyaNova.Util.ServerBootConfig">
            <summary>
            Contains config values from bootup
            </summary>
        </member>
        <member name="M:AyaNova.Util.ServerBootConfig.SetConfiguration(Microsoft.Extensions.Configuration.IConfigurationRoot)">
            <summary>
            Populate the config from the configuration found at boot
            called by program.cs
            </summary>
            <param name="config"></param>
        </member>
        <member name="T:AyaNova.Util.ServerGlobalBizSettings">
            <summary>
            Contains static mirror copy in memory of global settings values that are set from DB during boot 
            and accessible to Biz admin user (equivalent of v7's global object)
            used by many areas of the biz logic and processing too often to fetch on every request
            set at boot and on any update to the db global biz settings record
            </summary>
        </member>
        <member name="M:AyaNova.Util.ServerGlobalBizSettings.Initialize(AyaNova.Models.GlobalBizSettings,AyaNova.Models.AyContext)">
            <summary>
            Populate and / or create the settings
            </summary>     
        </member>
        <member name="T:AyaNova.Util.ServerGlobalOpsSettingsCache">
            <summary>
            Contains static mirror copy in memory of Operations related settings stored in db 
            that are accessed frequently by server
            </summary>
        </member>
        <member name="M:AyaNova.Util.ServerGlobalOpsSettingsCache.Initialize(AyaNova.Models.AyContext)">
            <summary>
            Populate and / or create the settings
            </summary>     
        </member>
        <member name="T:AyaNova.Util.ServiceProviderProvider">
            <summary>
            Shared service provider for static classes    
            </summary>
        </member>
        <member name="M:AyaNova.Util.StringUtil.Extract(System.String,System.String,System.String)">
            <summary>
            Extract string between tokens
            </summary>
            <param name="s"></param>
            <param name="openTag"></param>
            <param name="closeTag"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.StringUtil.MaxLength(System.String,System.Int32)">
            <summary>
            Trim a string if necessary
            </summary>
            <param name="s"></param>
            <param name="maxLength"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.StringUtil.MaskIPAddress(System.String)">
            <summary>
            mask the exact ip address by substituting the last position of the address with XXX
            Works with v6 or v4 addresses as strings
            </summary>
            <param name="sIP"></param>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Util.TaskUtil.WithTimeoutAfterStart(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task},System.TimeSpan)">
            <summary>
            Usage:
            await WithTimeoutAfterStart(ctoken => SomeOperationAsync(ctoken), TimeSpan.FromMilliseconds(n));
            in callee call this regularly    ctoken.ThrowIfCancellationRequested();
            and pass the ctoken into any time consuming system methods called in turn
            </summary>
        </member>
        <member name="M:AyaNova.Util.TaskUtil.Forget(System.Threading.Tasks.Task,System.Type[])">
            <summary>
            fire and forget a task but bubble up any exceptions with optional ignore some
            </summary>
        </member>
        <member name="M:AyaNova.Core.License.AyaNovaLicenseKey.GetLicenseFeature(System.String)">
            <summary>
            Fetch the license status of the feature in question
            </summary>
            <param name="Feature"></param>
            <returns>LicenseFeature object or null if there is no matching license feature or license is missing</returns>
        </member>
        <member name="M:AyaNova.Core.License.AyaNovaLicenseKey.HasLicenseFeature(System.String)">
            <summary>
            Check for the existance of license feature
            </summary>
            <param name="Feature"></param>
            <returns>bool</returns>
        </member>
        <member name="P:AyaNova.Core.License.LicenseInfo">
            <summary>
            Fetch a summary of the license key for displaying to the end user
            </summary>
            <returns> string containing current license information</returns>
        </member>
        <member name="P:AyaNova.Core.License.LicenseInfoLogFormat">
            <summary>
            Fetch a summary of the license key for displaying in the log
            </summary>
            <returns> string containing current license information</returns>
        </member>
        <member name="P:AyaNova.Core.License.LicenseInfoAsJson">
            <summary>
            Fetch a summary of the license key for displaying to the end user
            via the API
            </summary>
            <returns> JSON object containing current license information</returns>
        </member>
        <member name="P:AyaNova.Core.License.ActiveKey">
            <summary>
            Returns the active key
            </summary>
            <returns></returns>
        </member>
        <member name="M:AyaNova.Core.License.FlagEULA(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger)">
            <summary>
            Set consent flag for license agreement
            </summary>        
        </member>
        <member name="M:AyaNova.Core.License.RequestTrialAsync(AyaNova.Models.RequestTrial,Microsoft.Extensions.Logging.ILogger)">
            <summary>
            Request a key
            </summary>      
            <returns>Result string</returns>
        </member>
        <member name="M:AyaNova.Core.License.FetchKeyAsync(AyaNova.Api.ControllerHelpers.ApiServerState,AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger,System.Boolean)">
            <summary>
            Fetch a key, validate it and install it in the db then initialize with it
            </summary>      
            <returns>Result string</returns>
        </member>
        <member name="M:AyaNova.Core.License.BootSafetyCheck(AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger)">
            <summary>
            Minimal no side effects check if ok to proceed with boot
            and do schema updates etc, this is like a pre license initialize
            called from startup.cs to ensure the safety of the db in case
            the user has installed a version they are not entitled to
            which would permanently change their db
            </summary>
        </member>
        <member name="M:AyaNova.Core.License.InitializeAsync(AyaNova.Api.ControllerHelpers.ApiServerState,AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger)">
            <summary>
            Initialize the license
            </summary>
        </member>
        <member name="M:AyaNova.Core.License.InstallAsync(System.String,AyaNova.Core.License.AyaNovaLicenseKey,AyaNova.Api.ControllerHelpers.ApiServerState,AyaNova.Models.AyContext,Microsoft.Extensions.Logging.ILogger)">
            <summary>
            Install key to db
            </summary>        
        </member>
        <member name="M:AyaNova.Core.License.Parse(System.String,Microsoft.Extensions.Logging.ILogger)">
            <summary>
            Parses and validates the integrity of a passed in textual license key
            </summary>      
            <returns>a populated key if valid or else null</returns>
        </member>
        <member name="T:EnumExtension">
            <summary>
            Get custom attribute extension
            </summary>
        </member>
        <member name="M:EnumExtension.HasAttribute(System.Enum,System.Type)">
             <summary>
             Check if enum has attribute type
             Example usage  bool c = Biz.AyaType.License.HasAttribute(typeof(Biz.AttachableAttribute));
            
             </summary>
             <param name="value"></param>
             <param name="t"></param>
             <returns></returns>
        </member>
    </members>
</doc>
