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_USER_FILES": "c:\\temp\\RavenTestData\\userfiles",
"AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles", "AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles",
"AYANOVA_FOLDER_TEMPORARY_SERVER_FILES": "c:\\temp\\RavenTestData\\tempfiles", "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_SEEDLEVEL": "small",
"AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7", "AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7",
"AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\" "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"; SQLFrom = "from aworkorderstatus";
var RoleSet = BizRoles.GetRoleSet(DefaultListAType); var RoleSet = BizRoles.GetRoleSet(DefaultListAType);
AllowedRoles = RoleSet.ReadFullRecord | RoleSet.Change; 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", "+" } }; DefaultSortBy = new Dictionary<string, string>() { { "WorkOrderStatusName", "+" } };
FieldDefinitions = new List<DataListFieldDefinition>(); FieldDefinitions = new List<DataListFieldDefinition>();
@@ -70,8 +70,8 @@ namespace AyaNova.DataList
FieldDefinitions.Add(new DataListFieldDefinition FieldDefinitions.Add(new DataListFieldDefinition
{ {
TKey = "WorkOrderStatusRemoveRoles", TKey = "RemoveRoles",
FieldKey = "WorkOrderStatusRemoveRoles", FieldKey = "RemoveRoles",
UiFieldDataType = (int)UiFieldDataType.Roles, UiFieldDataType = (int)UiFieldDataType.Roles,
//NOTE: not technically an enum list but this will trigger datagrid at client to fetch roles for special handling //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()), EnumType = AyaNova.Util.StringUtil.TrimTypeName(typeof(AuthorizationRoles).ToString()),

View File

@@ -1058,6 +1058,9 @@ namespace AyaNova.Biz
if (o.ProjectId != null) if (o.ProjectId != null)
o.ProjectViz = await ct.Project.AsNoTracking().Where(x => x.Id == o.ProjectId).Select(x => x.Name).FirstOrDefaultAsync(); 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) 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(); 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; } public long? PreparedById { get; set; }
[NotMapped]
public string PreparedByViz { get; set; }
public string Introduction { get; set; } public string Introduction { get; set; }
public DateTime? Requested { get; set; } public DateTime? Requested { get; set; }
public DateTime? ValidUntil { get; set; } public DateTime? ValidUntil { get; set; }
@@ -49,15 +51,6 @@ namespace AyaNova.Models
public DateTime CreatedDate { get; set; } = DateTime.UtcNow; 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 bool Onsite { get; set; }
public long? ContractId { get; set; } public long? ContractId { get; set; }
[NotMapped] [NotMapped]

View File

@@ -1614,6 +1614,7 @@
"QuoteQuoteNumber": "Angebotsnummer", "QuoteQuoteNumber": "Angebotsnummer",
"QuoteQuoteRequestDate": "Angefordert", "QuoteQuoteRequestDate": "Angefordert",
"QuoteQuoteStatusType": "Status", "QuoteQuoteStatusType": "Status",
"QuoteStatusList":"Angebotsstatusliste",
"QuoteServiceWorkOrderID": "Servicearbeitsauftrag", "QuoteServiceWorkOrderID": "Servicearbeitsauftrag",
"QuoteValidUntilDate": "Gültig bis", "QuoteValidUntilDate": "Gültig bis",
"QuoteStatusTypesAwarded": "Erteilt", "QuoteStatusTypesAwarded": "Erteilt",
@@ -1640,7 +1641,7 @@
"WorkOrderStatusNotes": "Anmerkungen", "WorkOrderStatusNotes": "Anmerkungen",
"WorkOrderStatusColor": "Farbe", "WorkOrderStatusColor": "Farbe",
"SelectRoles": "Wer kann auswählen", "SelectRoles": "Wer kann auswählen",
"WorkOrderStatusRemoveRoles": "Wer kann entfernen", "RemoveRoles": "Wer kann entfernen",
"WorkOrderStatusCompleted": "Ist ein abgeschlossener Status", "WorkOrderStatusCompleted": "Ist ein abgeschlossener Status",
"WorkOrderStatusLocked": "Ist ein Sperrstatus", "WorkOrderStatusLocked": "Ist ein Sperrstatus",
"WorkOrderStatusUnderlined": "Unterstrichen", "WorkOrderStatusUnderlined": "Unterstrichen",

View File

@@ -1614,6 +1614,7 @@
"QuoteQuoteNumber": "Quote Number", "QuoteQuoteNumber": "Quote Number",
"QuoteQuoteRequestDate": "Requested", "QuoteQuoteRequestDate": "Requested",
"QuoteQuoteStatusType": "Status", "QuoteQuoteStatusType": "Status",
"QuoteStatusList":"Quote status list",
"QuoteServiceWorkOrderID": "Service Work order", "QuoteServiceWorkOrderID": "Service Work order",
"QuoteValidUntilDate": "Valid Until", "QuoteValidUntilDate": "Valid Until",
"QuoteStatusTypesAwarded": "Awarded", "QuoteStatusTypesAwarded": "Awarded",
@@ -1640,7 +1641,7 @@
"WorkOrderStatusNotes": "Notes", "WorkOrderStatusNotes": "Notes",
"WorkOrderStatusColor": "Color", "WorkOrderStatusColor": "Color",
"SelectRoles": "Who can select", "SelectRoles": "Who can select",
"WorkOrderStatusRemoveRoles": "Who can remove", "RemoveRoles": "Who can remove",
"WorkOrderStatusCompleted": "Is a completed status", "WorkOrderStatusCompleted": "Is a completed status",
"WorkOrderStatusLocked": "Is a locking status", "WorkOrderStatusLocked": "Is a locking status",
"WorkOrderStatusUnderlined": "Underlined", "WorkOrderStatusUnderlined": "Underlined",

View File

@@ -1614,6 +1614,7 @@
"QuoteQuoteNumber": "Número de presupuesto", "QuoteQuoteNumber": "Número de presupuesto",
"QuoteQuoteRequestDate": "Solicitado", "QuoteQuoteRequestDate": "Solicitado",
"QuoteQuoteStatusType": "Estado", "QuoteQuoteStatusType": "Estado",
"QuoteStatusList":"Lista de estado de cotización",
"QuoteServiceWorkOrderID": "Pedido del servicio", "QuoteServiceWorkOrderID": "Pedido del servicio",
"QuoteValidUntilDate": "Válido hasta", "QuoteValidUntilDate": "Válido hasta",
"QuoteStatusTypesAwarded": "Concedido", "QuoteStatusTypesAwarded": "Concedido",
@@ -1640,7 +1641,7 @@
"WorkOrderStatusNotes": "Notas", "WorkOrderStatusNotes": "Notas",
"WorkOrderStatusColor": "Color", "WorkOrderStatusColor": "Color",
"SelectRoles": "Quien puede seleccionar", "SelectRoles": "Quien puede seleccionar",
"WorkOrderStatusRemoveRoles": "Quien puede remover", "RemoveRoles": "Quien puede remover",
"WorkOrderStatusCompleted": "Es un estado completo", "WorkOrderStatusCompleted": "Es un estado completo",
"WorkOrderStatusLocked": "Es un estado de bloqueo", "WorkOrderStatusLocked": "Es un estado de bloqueo",
"WorkOrderStatusUnderlined": "Subrayado", "WorkOrderStatusUnderlined": "Subrayado",

View File

@@ -1614,6 +1614,7 @@
"QuoteQuoteNumber": "Numéro de devis", "QuoteQuoteNumber": "Numéro de devis",
"QuoteQuoteRequestDate": "Demandé", "QuoteQuoteRequestDate": "Demandé",
"QuoteQuoteStatusType": "État", "QuoteQuoteStatusType": "État",
"QuoteStatusList":"Liste des statuts de devis",
"QuoteServiceWorkOrderID": "Bon de travail de service", "QuoteServiceWorkOrderID": "Bon de travail de service",
"QuoteValidUntilDate": "Date de validité", "QuoteValidUntilDate": "Date de validité",
"QuoteStatusTypesAwarded": "Attribué", "QuoteStatusTypesAwarded": "Attribué",
@@ -1640,7 +1641,7 @@
"WorkOrderStatusNotes": "Remarques", "WorkOrderStatusNotes": "Remarques",
"WorkOrderStatusColor": "Couleur", "WorkOrderStatusColor": "Couleur",
"SelectRoles": "Qui peut sélectionner", "SelectRoles": "Qui peut sélectionner",
"WorkOrderStatusRemoveRoles": "Qui peut supprimer", "RemoveRoles": "Qui peut supprimer",
"WorkOrderStatusCompleted": "Est un statut terminé", "WorkOrderStatusCompleted": "Est un statut terminé",
"WorkOrderStatusLocked": "Est un statut de verrouillage", "WorkOrderStatusLocked": "Est un statut de verrouillage",
"WorkOrderStatusUnderlined": "Souligné", "WorkOrderStatusUnderlined": "Souligné",