This commit is contained in:
2021-07-26 22:35:59 +00:00
parent ef951817e4
commit 39331e578a
9 changed files with 101 additions and 17 deletions

2
.vscode/launch.json vendored
View File

@@ -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\\"

View 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

View File

@@ -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()),

View File

@@ -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();

View File

@@ -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]

View File

@@ -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",

View File

@@ -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",

View File

@@ -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",

View File

@@ -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é",