This commit is contained in:
2
.vscode/launch.json
vendored
2
.vscode/launch.json
vendored
@@ -53,7 +53,7 @@
|
||||
"AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles",
|
||||
"AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles",
|
||||
"AYANOVA_FOLDER_TEMPORARY_SERVER_FILES": "c:\\temp\\RavenTestData\\tempfiles",
|
||||
"AYANOVA_SERVER_TEST_MODE": "false",
|
||||
"AYANOVA_SERVER_TEST_MODE": "true",
|
||||
"AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small",
|
||||
"AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7",
|
||||
"AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\"
|
||||
|
||||
84
server/AyaNova/DataList/QuoteStatusDataList.cs
Normal file
84
server/AyaNova/DataList/QuoteStatusDataList.cs
Normal file
@@ -0,0 +1,84 @@
|
||||
using System.Collections.Generic;
|
||||
using AyaNova.Biz;
|
||||
namespace AyaNova.DataList
|
||||
{
|
||||
internal class QuoteStatusDataList : DataListProcessingBase
|
||||
{
|
||||
public QuoteStatusDataList()
|
||||
{
|
||||
DefaultListAType = AyaType.QuoteStatus;
|
||||
SQLFrom = "from aquotestatus";
|
||||
var RoleSet = BizRoles.GetRoleSet(DefaultListAType);
|
||||
AllowedRoles = RoleSet.ReadFullRecord | RoleSet.Change;
|
||||
DefaultColumns = new List<string>() { "QuoteStatusName", "SelectRoles", "RemoveRoles", "Active" };
|
||||
DefaultSortBy = new Dictionary<string, string>() { { "QuoteStatusName", "+" } };
|
||||
FieldDefinitions = new List<DataListFieldDefinition>();
|
||||
|
||||
FieldDefinitions.Add(new DataListFieldDefinition
|
||||
{
|
||||
TKey = "QuoteStatusName",
|
||||
FieldKey = "QuoteStatusName",
|
||||
AType = (int)AyaType.QuoteStatus,
|
||||
UiFieldDataType = (int)UiFieldDataType.Text,
|
||||
SqlIdColumnName = "aquotestatus.id",
|
||||
SqlValueColumnName = "aquotestatus.name",
|
||||
SqlColorColumnName = "aquotestatus.color",
|
||||
IsRowId = true
|
||||
});
|
||||
|
||||
FieldDefinitions.Add(new DataListFieldDefinition
|
||||
{
|
||||
TKey = "QuoteStatusNotes",
|
||||
FieldKey = "QuoteStatusNotes",
|
||||
UiFieldDataType = (int)UiFieldDataType.Text,
|
||||
SqlValueColumnName = "aquotestatus.notes"
|
||||
});
|
||||
|
||||
FieldDefinitions.Add(new DataListFieldDefinition
|
||||
{
|
||||
TKey = "Active",
|
||||
FieldKey = "Active",
|
||||
UiFieldDataType = (int)UiFieldDataType.Bool,
|
||||
SqlValueColumnName = "aquotestatus.active"
|
||||
});
|
||||
|
||||
FieldDefinitions.Add(new DataListFieldDefinition
|
||||
{
|
||||
TKey = "QuoteStatusCompleted",
|
||||
FieldKey = "QuoteStatusCompleted",
|
||||
UiFieldDataType = (int)UiFieldDataType.Bool,
|
||||
SqlValueColumnName = "aquotestatus.completed"
|
||||
});
|
||||
|
||||
FieldDefinitions.Add(new DataListFieldDefinition
|
||||
{
|
||||
TKey = "QuoteStatusLocked",
|
||||
FieldKey = "QuoteStatusLocked",
|
||||
UiFieldDataType = (int)UiFieldDataType.Bool,
|
||||
SqlValueColumnName = "aquotestatus.locked"
|
||||
});
|
||||
|
||||
FieldDefinitions.Add(new DataListFieldDefinition
|
||||
{
|
||||
TKey = "SelectRoles",
|
||||
FieldKey = "SelectRoles",
|
||||
UiFieldDataType = (int)UiFieldDataType.Roles,
|
||||
//NOTE: not technically an enum list but this will trigger datagrid at client to fetch roles for special handling
|
||||
EnumType = AyaNova.Util.StringUtil.TrimTypeName(typeof(AuthorizationRoles).ToString()),
|
||||
SqlValueColumnName = "aquotestatus.selectroles"
|
||||
});
|
||||
|
||||
FieldDefinitions.Add(new DataListFieldDefinition
|
||||
{
|
||||
TKey = "RemoveRoles",
|
||||
FieldKey = "RemoveRoles",
|
||||
UiFieldDataType = (int)UiFieldDataType.Roles,
|
||||
//NOTE: not technically an enum list but this will trigger datagrid at client to fetch roles for special handling
|
||||
EnumType = AyaNova.Util.StringUtil.TrimTypeName(typeof(AuthorizationRoles).ToString()),
|
||||
SqlValueColumnName = "aquotestatus.removeroles"
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
}//eoc
|
||||
}//eons
|
||||
@@ -10,7 +10,7 @@ namespace AyaNova.DataList
|
||||
SQLFrom = "from aworkorderstatus";
|
||||
var RoleSet = BizRoles.GetRoleSet(DefaultListAType);
|
||||
AllowedRoles = RoleSet.ReadFullRecord | RoleSet.Change;
|
||||
DefaultColumns = new List<string>() { "WorkOrderStatusName", "SelectRoles", "WorkOrderStatusRemoveRoles", "Active" };
|
||||
DefaultColumns = new List<string>() { "WorkOrderStatusName", "SelectRoles", "RemoveRoles", "Active" };
|
||||
DefaultSortBy = new Dictionary<string, string>() { { "WorkOrderStatusName", "+" } };
|
||||
FieldDefinitions = new List<DataListFieldDefinition>();
|
||||
|
||||
@@ -70,8 +70,8 @@ namespace AyaNova.DataList
|
||||
|
||||
FieldDefinitions.Add(new DataListFieldDefinition
|
||||
{
|
||||
TKey = "WorkOrderStatusRemoveRoles",
|
||||
FieldKey = "WorkOrderStatusRemoveRoles",
|
||||
TKey = "RemoveRoles",
|
||||
FieldKey = "RemoveRoles",
|
||||
UiFieldDataType = (int)UiFieldDataType.Roles,
|
||||
//NOTE: not technically an enum list but this will trigger datagrid at client to fetch roles for special handling
|
||||
EnumType = AyaNova.Util.StringUtil.TrimTypeName(typeof(AuthorizationRoles).ToString()),
|
||||
|
||||
@@ -1058,6 +1058,9 @@ namespace AyaNova.Biz
|
||||
if (o.ProjectId != null)
|
||||
o.ProjectViz = await ct.Project.AsNoTracking().Where(x => x.Id == o.ProjectId).Select(x => x.Name).FirstOrDefaultAsync();
|
||||
|
||||
if (o.PreparedById != null)
|
||||
o.PreparedByViz = await ct.User.AsNoTracking().Where(x => x.Id == o.PreparedById).Select(x => x.Name).FirstOrDefaultAsync();
|
||||
|
||||
if (o.ContractId != null)
|
||||
{
|
||||
var contractVizFields = await ct.Contract.AsNoTracking().Where(x => x.Id == o.ContractId).Select(x => new { Name = x.Name, AlertNotes = x.AlertNotes }).FirstOrDefaultAsync();
|
||||
|
||||
@@ -23,6 +23,8 @@ namespace AyaNova.Models
|
||||
|
||||
//----
|
||||
public long? PreparedById { get; set; }
|
||||
[NotMapped]
|
||||
public string PreparedByViz { get; set; }
|
||||
public string Introduction { get; set; }
|
||||
public DateTime? Requested { get; set; }
|
||||
public DateTime? ValidUntil { get; set; }
|
||||
@@ -49,15 +51,6 @@ namespace AyaNova.Models
|
||||
|
||||
public DateTime CreatedDate { get; set; } = DateTime.UtcNow;
|
||||
|
||||
//public DateTime? CompleteByDate { get; set; }
|
||||
//public TimeSpan DurationToCompleted { get; set; } = TimeSpan.Zero;
|
||||
// public string InvoiceNumber { get; set; }
|
||||
//public string CustomerSignature { get; set; }
|
||||
// public string CustomerSignatureName { get; set; }
|
||||
// public DateTime? CustomerSignatureCaptured { get; set; }
|
||||
// public string TechSignature { get; set; }
|
||||
// public string TechSignatureName { get; set; }
|
||||
// public DateTime? TechSignatureCaptured { get; set; }
|
||||
public bool Onsite { get; set; }
|
||||
public long? ContractId { get; set; }
|
||||
[NotMapped]
|
||||
|
||||
@@ -1614,6 +1614,7 @@
|
||||
"QuoteQuoteNumber": "Angebotsnummer",
|
||||
"QuoteQuoteRequestDate": "Angefordert",
|
||||
"QuoteQuoteStatusType": "Status",
|
||||
"QuoteStatusList":"Angebotsstatusliste",
|
||||
"QuoteServiceWorkOrderID": "Servicearbeitsauftrag",
|
||||
"QuoteValidUntilDate": "Gültig bis",
|
||||
"QuoteStatusTypesAwarded": "Erteilt",
|
||||
@@ -1640,7 +1641,7 @@
|
||||
"WorkOrderStatusNotes": "Anmerkungen",
|
||||
"WorkOrderStatusColor": "Farbe",
|
||||
"SelectRoles": "Wer kann auswählen",
|
||||
"WorkOrderStatusRemoveRoles": "Wer kann entfernen",
|
||||
"RemoveRoles": "Wer kann entfernen",
|
||||
"WorkOrderStatusCompleted": "Ist ein abgeschlossener Status",
|
||||
"WorkOrderStatusLocked": "Ist ein Sperrstatus",
|
||||
"WorkOrderStatusUnderlined": "Unterstrichen",
|
||||
|
||||
@@ -1614,6 +1614,7 @@
|
||||
"QuoteQuoteNumber": "Quote Number",
|
||||
"QuoteQuoteRequestDate": "Requested",
|
||||
"QuoteQuoteStatusType": "Status",
|
||||
"QuoteStatusList":"Quote status list",
|
||||
"QuoteServiceWorkOrderID": "Service Work order",
|
||||
"QuoteValidUntilDate": "Valid Until",
|
||||
"QuoteStatusTypesAwarded": "Awarded",
|
||||
@@ -1640,7 +1641,7 @@
|
||||
"WorkOrderStatusNotes": "Notes",
|
||||
"WorkOrderStatusColor": "Color",
|
||||
"SelectRoles": "Who can select",
|
||||
"WorkOrderStatusRemoveRoles": "Who can remove",
|
||||
"RemoveRoles": "Who can remove",
|
||||
"WorkOrderStatusCompleted": "Is a completed status",
|
||||
"WorkOrderStatusLocked": "Is a locking status",
|
||||
"WorkOrderStatusUnderlined": "Underlined",
|
||||
|
||||
@@ -1614,6 +1614,7 @@
|
||||
"QuoteQuoteNumber": "Número de presupuesto",
|
||||
"QuoteQuoteRequestDate": "Solicitado",
|
||||
"QuoteQuoteStatusType": "Estado",
|
||||
"QuoteStatusList":"Lista de estado de cotización",
|
||||
"QuoteServiceWorkOrderID": "Pedido del servicio",
|
||||
"QuoteValidUntilDate": "Válido hasta",
|
||||
"QuoteStatusTypesAwarded": "Concedido",
|
||||
@@ -1640,7 +1641,7 @@
|
||||
"WorkOrderStatusNotes": "Notas",
|
||||
"WorkOrderStatusColor": "Color",
|
||||
"SelectRoles": "Quien puede seleccionar",
|
||||
"WorkOrderStatusRemoveRoles": "Quien puede remover",
|
||||
"RemoveRoles": "Quien puede remover",
|
||||
"WorkOrderStatusCompleted": "Es un estado completo",
|
||||
"WorkOrderStatusLocked": "Es un estado de bloqueo",
|
||||
"WorkOrderStatusUnderlined": "Subrayado",
|
||||
|
||||
@@ -1614,6 +1614,7 @@
|
||||
"QuoteQuoteNumber": "Numéro de devis",
|
||||
"QuoteQuoteRequestDate": "Demandé",
|
||||
"QuoteQuoteStatusType": "État",
|
||||
"QuoteStatusList":"Liste des statuts de devis",
|
||||
"QuoteServiceWorkOrderID": "Bon de travail de service",
|
||||
"QuoteValidUntilDate": "Date de validité",
|
||||
"QuoteStatusTypesAwarded": "Attribué",
|
||||
@@ -1640,7 +1641,7 @@
|
||||
"WorkOrderStatusNotes": "Remarques",
|
||||
"WorkOrderStatusColor": "Couleur",
|
||||
"SelectRoles": "Qui peut sélectionner",
|
||||
"WorkOrderStatusRemoveRoles": "Qui peut supprimer",
|
||||
"RemoveRoles": "Qui peut supprimer",
|
||||
"WorkOrderStatusCompleted": "Est un statut terminé",
|
||||
"WorkOrderStatusLocked": "Est un statut de verrouillage",
|
||||
"WorkOrderStatusUnderlined": "Souligné",
|
||||
|
||||
Reference in New Issue
Block a user