This commit is contained in:
@@ -3,11 +3,11 @@ using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using AyaNova.Biz;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
|
||||
namespace AyaNova.Models
|
||||
{
|
||||
//NOTE: Any non required field (nullable in DB) sb nullable here, i.e. decimal? not decimal,
|
||||
//otherwise the server will call it an invalid record if the field isn't sent from client
|
||||
|
||||
|
||||
public class Contract : ICoreBizObjectModel
|
||||
{
|
||||
@@ -22,12 +22,31 @@ namespace AyaNova.Models
|
||||
public string CustomFields { get; set; }
|
||||
public List<string> Tags { get; set; }
|
||||
|
||||
//new for v8
|
||||
//response
|
||||
//discountservicerate (all service rates)
|
||||
//discounttravelrate (all travel)
|
||||
//any optional ones here sb zero to indicate not set (or equivalent to zero)
|
||||
[Required]
|
||||
public TimeSpan ResponseTime { get; set; }
|
||||
[Required]
|
||||
public bool ContractRatesOnly { get; set; }
|
||||
[Required]
|
||||
public decimal PartsOverride { get; set; }
|
||||
[Required]
|
||||
public ContractOverrideType PartsOverrideType { get; set; }
|
||||
[Required]
|
||||
public decimal ServiceRatesOverride { get; set; }
|
||||
[Required]
|
||||
public ContractOverrideType ServiceRatesOverrideType { get; set; }
|
||||
[Required]
|
||||
public decimal TravelRatesOverride { get; set; }
|
||||
[Required]
|
||||
public ContractOverrideType TravelRatesOverrideType { get; set; }
|
||||
public string AlertNotes { get; set; }//alert on workorder etc
|
||||
|
||||
|
||||
public List<ContractServiceRate> ServiceRateItems { get; set; } = new List<ContractServiceRate>();
|
||||
public List<ContractTravelRate> TravelRateItems { get; set; } = new List<ContractTravelRate>();
|
||||
public List<ContractPartOverride> ContractPartOverrideItems { get; set; } = new List<ContractPartOverride>();
|
||||
public List<ContractTravelRateOverride> ContractTravelRateOverrideItems { get; set; } = new List<ContractTravelRateOverride>();
|
||||
public List<ContractServiceRateOverride> ContractServiceRateOverrideItems { get; set; } = new List<ContractServiceRateOverride>();
|
||||
|
||||
public Contract()
|
||||
{
|
||||
@@ -48,7 +67,7 @@ CREATE TABLE [dbo].[ACONTRACT](
|
||||
[AMODIFIER] [uniqueidentifier] NULL,
|
||||
[ACREATED] [datetime] NULL,
|
||||
[AMODIFIED] [datetime] NULL,
|
||||
[ADISCOUNTPARTS] [decimal](19, 5) NULL,
|
||||
[ADISCOUNTPARTS] [decimal](19, 5) NULL,//rename PartsOverride
|
||||
[ANAME] [nvarchar](255) NULL,
|
||||
[AACTIVE] [bit] NOT NULL,
|
||||
[ANOTES] [ntext] NULL,
|
||||
@@ -69,7 +88,7 @@ CREATE TABLE [dbo].[ACONTRACT](
|
||||
CHILDREN
|
||||
ContractRate - specific contract rates available to contract holding entities only
|
||||
ContractTravel - specific contract travel rates only ''
|
||||
ContractRateTagOverride - tags and discount / markup to apply collection
|
||||
ContractTravelTagOverride - ''
|
||||
ContractPartTagOverride - ''
|
||||
ContractRateOverride - tags and discount / markup to apply collection
|
||||
ContractTravelOverride - ''
|
||||
ContractPartOverride - ''
|
||||
*/
|
||||
32
server/AyaNova/models/ContractPartOverride.cs
Normal file
32
server/AyaNova/models/ContractPartOverride.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using AyaNova.Biz;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace AyaNova.Models
|
||||
{
|
||||
public class ContractPartOverride
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public uint Concurrency { get; set; }
|
||||
|
||||
[Required]
|
||||
public long ContractId { get; set; }
|
||||
[Required]
|
||||
public decimal Override { get; set; }
|
||||
[Required]
|
||||
public ContractOverrideType OverrideType { get; set; }
|
||||
[Required]
|
||||
public List<string> Tags { get; set; }
|
||||
|
||||
|
||||
[JsonIgnore]
|
||||
public Contract Contract { get; set; }
|
||||
public ContractPartOverride()
|
||||
{
|
||||
Tags = new List<string>();
|
||||
}
|
||||
|
||||
}//eoc
|
||||
|
||||
}//eons
|
||||
21
server/AyaNova/models/ContractServiceRate.cs
Normal file
21
server/AyaNova/models/ContractServiceRate.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace AyaNova.Models
|
||||
{
|
||||
public class ContractServiceRate
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public uint Concurrency { get; set; }
|
||||
|
||||
[Required]
|
||||
public long ContractId { get; set; }
|
||||
[Required]
|
||||
public long ServiceRateId { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
public Contract Contract { get; set; }
|
||||
|
||||
}//eoc
|
||||
|
||||
}//eons
|
||||
32
server/AyaNova/models/ContractServiceRateOverride.cs
Normal file
32
server/AyaNova/models/ContractServiceRateOverride.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using AyaNova.Biz;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace AyaNova.Models
|
||||
{
|
||||
public class ContractServiceRateOverride
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public uint Concurrency { get; set; }
|
||||
|
||||
[Required]
|
||||
public long ContractId { get; set; }
|
||||
[Required]
|
||||
public decimal Override { get; set; }
|
||||
[Required]
|
||||
public ContractOverrideType OverrideType { get; set; }
|
||||
[Required]
|
||||
public List<string> Tags { get; set; }
|
||||
|
||||
|
||||
[JsonIgnore]
|
||||
public Contract Contract { get; set; }
|
||||
public ContractServiceRateOverride()
|
||||
{
|
||||
Tags = new List<string>();
|
||||
}
|
||||
|
||||
}//eoc
|
||||
|
||||
}//eons
|
||||
21
server/AyaNova/models/ContractTravelRate.cs
Normal file
21
server/AyaNova/models/ContractTravelRate.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace AyaNova.Models
|
||||
{
|
||||
public class ContractTravelRate
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public uint Concurrency { get; set; }
|
||||
|
||||
[Required]
|
||||
public long ContractId { get; set; }
|
||||
[Required]
|
||||
public long TravelRateId { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
public Contract Contract { get; set; }
|
||||
|
||||
}//eoc
|
||||
|
||||
}//eons
|
||||
32
server/AyaNova/models/ContractTravelRateOverride.cs
Normal file
32
server/AyaNova/models/ContractTravelRateOverride.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using AyaNova.Biz;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace AyaNova.Models
|
||||
{
|
||||
public class ContractTravelRateOverride
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public uint Concurrency { get; set; }
|
||||
|
||||
[Required]
|
||||
public long ContractId { get; set; }
|
||||
[Required]
|
||||
public decimal Override { get; set; }
|
||||
[Required]
|
||||
public ContractOverrideType OverrideType { get; set; }
|
||||
[Required]
|
||||
public List<string> Tags { get; set; }
|
||||
|
||||
|
||||
[JsonIgnore]
|
||||
public Contract Contract { get; set; }
|
||||
public ContractTravelRateOverride()
|
||||
{
|
||||
Tags = new List<string>();
|
||||
}
|
||||
|
||||
}//eoc
|
||||
|
||||
}//eons
|
||||
Reference in New Issue
Block a user