added favicon - refactor namespace
|
@ -22,7 +22,7 @@
|
||||||
@if (_dtoNgCrmCompany != null)
|
@if (_dtoNgCrmCompany != null)
|
||||||
{
|
{
|
||||||
<h2>@_poDraft.Name</h2>
|
<h2>@_poDraft.Name</h2>
|
||||||
<EditForm EditContext="_createActivity" OnValidSubmit="CreateActivity">
|
<EditForm EditContext="_createActivity" OnValidSubmit="CreateCanvas">
|
||||||
<DataAnnotationsValidator/>
|
<DataAnnotationsValidator/>
|
||||||
<div class="accordion-flush" id="crmActivity">
|
<div class="accordion-flush" id="crmActivity">
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@
|
||||||
<div class="row mb-1">
|
<div class="row mb-1">
|
||||||
<label for="activityDate" class="col-sm-2 col-md-2 col-form-label">Aktivitet</label>
|
<label for="activityDate" class="col-sm-2 col-md-2 col-form-label">Aktivitet</label>
|
||||||
<div class="col-sm-3 col-md-3">
|
<div class="col-sm-3 col-md-3">
|
||||||
<select id="activityType" class="form-select" @bind-Value="@_poDraft.ActivityType" @bind-Value:event="oninput" @onchange="CheckActivity">
|
<select id="activityType" class="form-select" @bind-Value="@_poDraft.ActivityTypeEnum" @bind-Value:event="oninput" @onchange="CheckActivity">
|
||||||
<option value="" selected>--type--</option>
|
<option value="" selected>--type--</option>
|
||||||
<option value="caOnSite">Besøg</option>
|
<option value="caOnSite">Besøg</option>
|
||||||
<option value="caPhone">Telefon</option>
|
<option value="caPhone">Telefon</option>
|
||||||
|
@ -327,12 +327,12 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mt-2 mb-2">
|
<div class="row mt-2 mb-2" style="display:@(HideButtons ? "none" : "block")">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<a class="btn btn-primary" href="/company/@_dtoNgCrmCompany.CompanyId">Tilbage</a>
|
<a class="btn btn-primary" href="/company/@_dtoNgCrmCompany.CompanyId">Tilbage</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<button type="submit" class="btn btn-dark" disabled="@InvalidCanvas">Kanvas</button>
|
<button type="submit" class="btn btn-dark" @onclick="CreateCanvas" disabled="@InvalidCanvas">Kanvas</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<button type="button" class="btn btn-warning" @onclick="CreateOffer" disabled="@InvalidActivity">Tilbud</button>
|
<button type="button" class="btn btn-warning" @onclick="CreateOffer" disabled="@InvalidActivity">Tilbud</button>
|
||||||
|
|
|
@ -43,12 +43,13 @@ public partial class CrmActivityCreate : IDisposable
|
||||||
private List<NgSalesItemView> SalesItems { get; set; } = new();
|
private List<NgSalesItemView> SalesItems { get; set; } = new();
|
||||||
// private MetaData _meta { get; set; } = new();
|
// private MetaData _meta { get; set; } = new();
|
||||||
private Preferences _prefs { get; set; } = new();
|
private Preferences _prefs { get; set; } = new();
|
||||||
private DtoNgSalesHead _poDraft { get; set; } = new();
|
private DtoNgSalesRepActivity _poDraft { get; set; } = new();
|
||||||
private DtoNgCrmCompany _dtoNgCrmCompany = new();
|
private DtoNgCrmCompany _dtoNgCrmCompany = new();
|
||||||
private CatalogPagingParams _paging = new();
|
private CatalogPagingParams _paging = new();
|
||||||
private EditContext _createActivity { get; set; }
|
private EditContext _createActivity { get; set; }
|
||||||
private bool _poFormInvalid { get; set; } = true;
|
private bool _poFormInvalid { get; set; } = true;
|
||||||
private bool ShowItem { get; set; }
|
private bool ShowItem { get; set; }
|
||||||
|
private bool HideButtons { get; set; }
|
||||||
private string Quantity = "1";
|
private string Quantity = "1";
|
||||||
private string Price = "0";
|
private string Price = "0";
|
||||||
private string Discount = "0";
|
private string Discount = "0";
|
||||||
|
@ -91,27 +92,37 @@ public partial class CrmActivityCreate : IDisposable
|
||||||
_poDraft.ZipCode = _dtoNgCrmCompany.ZipCode;
|
_poDraft.ZipCode = _dtoNgCrmCompany.ZipCode;
|
||||||
_poDraft.City = _dtoNgCrmCompany.City;
|
_poDraft.City = _dtoNgCrmCompany.City;
|
||||||
|
|
||||||
_poDraft.DlvName = "";
|
_poDraft.DlvName = _dtoNgCrmCompany.Name;
|
||||||
_poDraft.DlvAddress1 = "";
|
_poDraft.DlvAddress1 = _dtoNgCrmCompany.Address1;
|
||||||
_poDraft.DlvAddress2 = "";
|
_poDraft.DlvAddress2 = _dtoNgCrmCompany.Address2;
|
||||||
_poDraft.DlvZipCode = "";
|
_poDraft.DlvZipCode = _dtoNgCrmCompany.ZipCode;
|
||||||
_poDraft.DlvCity = "";
|
_poDraft.DlvCity = _dtoNgCrmCompany.City;
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task CreateCanvas()
|
||||||
|
{
|
||||||
|
HideButtons = true;
|
||||||
|
await CreateActivity();
|
||||||
|
// post to create canvas endpoint
|
||||||
}
|
}
|
||||||
private async Task CreateOffer()
|
private async Task CreateOffer()
|
||||||
{
|
{
|
||||||
|
HideButtons = true;
|
||||||
await CreateActivity();
|
await CreateActivity();
|
||||||
// post to create offer endpoint
|
// post to create offer endpoint
|
||||||
}
|
}
|
||||||
private async Task CreateOrder()
|
private async Task CreateOrder()
|
||||||
{
|
{
|
||||||
|
HideButtons = true;
|
||||||
await CreateActivity();
|
await CreateActivity();
|
||||||
// post to create order endpoint
|
// post to create order endpoint
|
||||||
}
|
}
|
||||||
private async Task CreateActivity()
|
private async Task CreateActivity()
|
||||||
{
|
{
|
||||||
|
HideButtons = true;
|
||||||
// write work date to preference
|
// write work date to preference
|
||||||
await UserPrefs.SetWorkDate(_poDraft.ActivityDate);
|
await UserPrefs.SetWorkDate(_poDraft.ActivityDate);
|
||||||
var activityType = _poDraft.ActivityType switch
|
var activityType = _poDraft.ActivityTypeEnum switch
|
||||||
{
|
{
|
||||||
"caPhone" => "Tlf. ",
|
"caPhone" => "Tlf. ",
|
||||||
"caOnSite" => "Bsg. ",
|
"caOnSite" => "Bsg. ",
|
||||||
|
@ -140,7 +151,7 @@ public partial class CrmActivityCreate : IDisposable
|
||||||
|
|
||||||
private void CheckActivity()
|
private void CheckActivity()
|
||||||
{
|
{
|
||||||
InvalidActivityType = string.IsNullOrWhiteSpace(_poDraft.ActivityType);
|
InvalidActivityType = string.IsNullOrWhiteSpace(_poDraft.ActivityTypeEnum);
|
||||||
Console.WriteLine($"invalidType => {InvalidActivityType}");
|
Console.WriteLine($"invalidType => {InvalidActivityType}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -229,7 +240,7 @@ public partial class CrmActivityCreate : IDisposable
|
||||||
if(!VatUtils.ValidateFormat(_dtoNgCrmCompany.CountryCode, _poDraft.VatNumber))
|
if(!VatUtils.ValidateFormat(_dtoNgCrmCompany.CountryCode, _poDraft.VatNumber))
|
||||||
ToastService.ShowWarning("CVR / ORG nummer er ikke et gyldigt registreringsnummer");
|
ToastService.ShowWarning("CVR / ORG nummer er ikke et gyldigt registreringsnummer");
|
||||||
}
|
}
|
||||||
if (string.IsNullOrEmpty(_poDraft.ActivityType))
|
if (string.IsNullOrEmpty(_poDraft.ActivityTypeEnum))
|
||||||
ToastService.ShowWarning("Aktivitet type kan ikke være tom");
|
ToastService.ShowWarning("Aktivitet type kan ikke være tom");
|
||||||
_poFormInvalid = false;
|
_poFormInvalid = false;
|
||||||
_createActivity.OnFieldChanged -= HandleFieldChanged;
|
_createActivity.OnFieldChanged -= HandleFieldChanged;
|
||||||
|
|
BIN
Wonky.Client/wwwroot/android-chrome-192x192.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
Wonky.Client/wwwroot/android-chrome-256x256.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
Wonky.Client/wwwroot/apple-touch-icon.png
Normal file
After Width: | Height: | Size: 13 KiB |
|
@ -7,7 +7,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"apiConfig": {
|
"apiConfig": {
|
||||||
"baseAddress": "https://api.innotec.dk",
|
"baseAddress": "https://staging.innotec.dk",
|
||||||
"tokenPath": "token",
|
"tokenPath": "token",
|
||||||
"userInfo": "api/auth/userinfo",
|
"userInfo": "api/auth/userinfo",
|
||||||
"crmCompanies": "api/v2/crm/companies",
|
"crmCompanies": "api/v2/crm/companies",
|
||||||
|
|
9
Wonky.Client/wwwroot/browserconfig.xml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<browserconfig>
|
||||||
|
<msapplication>
|
||||||
|
<tile>
|
||||||
|
<square150x150logo src="/mstile-150x150.png"/>
|
||||||
|
<TileColor>#da532c</TileColor>
|
||||||
|
</tile>
|
||||||
|
</msapplication>
|
||||||
|
</browserconfig>
|
BIN
Wonky.Client/wwwroot/favicon-16x16.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
Wonky.Client/wwwroot/favicon-32x32.png
Normal file
After Width: | Height: | Size: 2 KiB |
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 2.6 KiB |
|
@ -4,6 +4,13 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
||||||
|
<link rel="manifest" href="/site.webmanifest">
|
||||||
|
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
|
||||||
|
<meta name="msapplication-TileColor" content="#da532c">
|
||||||
|
<meta name="theme-color" content="#ffffff">
|
||||||
<title>Wonky Online</title>
|
<title>Wonky Online</title>
|
||||||
<base href="/" />
|
<base href="/" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
|
||||||
|
|
BIN
Wonky.Client/wwwroot/mstile-150x150.png
Normal file
After Width: | Height: | Size: 9.5 KiB |
55
Wonky.Client/wwwroot/safari-pinned-tab.svg
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||||
|
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||||
|
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="300.000000pt" height="300.000000pt" viewBox="0 0 300.000000 300.000000"
|
||||||
|
preserveAspectRatio="xMidYMid meet">
|
||||||
|
<metadata>
|
||||||
|
Created by potrace 1.14, written by Peter Selinger 2001-2017
|
||||||
|
</metadata>
|
||||||
|
<g transform="translate(0.000000,300.000000) scale(0.100000,-0.100000)"
|
||||||
|
fill="#000000" stroke="none">
|
||||||
|
<path d="M1455 2813 c-261 -9 -414 -24 -538 -54 -207 -50 -208 -53 -148 -361
|
||||||
|
56 -286 73 -424 69 -578 -3 -120 -2 -130 15 -130 10 0 96 11 190 25 208 30
|
||||||
|
500 45 860 45 l268 0 -5 58 c-3 31 -11 219 -16 417 -17 557 -15 524 -33 542
|
||||||
|
-31 31 -338 47 -662 36z"/>
|
||||||
|
<path d="M1600 1723 c-204 -5 -437 -24 -599 -49 -91 -13 -167 -27 -169 -29 -3
|
||||||
|
-3 -11 -34 -17 -69 -12 -62 -12 -65 9 -70 41 -11 185 -6 402 14 331 31 438 51
|
||||||
|
690 130 86 27 173 53 193 56 103 20 -119 27 -509 17z"/>
|
||||||
|
<path d="M2088 1665 c-70 -19 -177 -50 -237 -69 -135 -44 -320 -81 -471 -96
|
||||||
|
-63 -6 -184 -17 -269 -25 -89 -9 -188 -13 -235 -9 -111 8 -216 39 -242 70 -30
|
||||||
|
36 -84 31 -98 -9 -16 -44 8 -77 86 -115 114 -55 204 -74 378 -79 l155 -5 460
|
||||||
|
93 c477 96 591 111 672 88 24 -6 53 -23 64 -37 l19 -25 50 51 c57 60 70 103
|
||||||
|
45 151 -21 42 -49 51 -158 50 -71 0 -121 -8 -219 -34z"/>
|
||||||
|
<path d="M738 1523 c7 -3 16 -2 19 1 4 3 -2 6 -13 5 -11 0 -14 -3 -6 -6z"/>
|
||||||
|
<path d="M2070 1474 c0 -29 39 -105 58 -116 40 -21 107 -103 120 -145 6 -21
|
||||||
|
14 -77 18 -123 5 -68 3 -93 -10 -125 -10 -22 -19 -59 -20 -82 -2 -28 -12 -53
|
||||||
|
-32 -78 -16 -20 -37 -46 -46 -58 -11 -14 -21 -57 -28 -122 -14 -127 -42 -246
|
||||||
|
-74 -318 -16 -37 -21 -59 -14 -63 5 -4 38 -9 73 -12 53 -4 71 -1 119 21 72 33
|
||||||
|
154 115 192 192 26 54 29 69 28 155 -1 110 -25 273 -60 413 -31 127 -55 196
|
||||||
|
-117 345 l-51 122 -78 0 c-43 0 -78 -3 -78 -6z"/>
|
||||||
|
<path d="M2272 1455 c11 -25 41 -34 53 -16 6 11 -32 41 -52 41 -10 0 -10 -6
|
||||||
|
-1 -25z"/>
|
||||||
|
<path d="M1879 1370 c-39 -7 -129 -44 -129 -54 0 -2 24 3 53 11 136 36 283
|
||||||
|
-34 354 -170 25 -46 28 -63 28 -147 0 -80 -4 -102 -23 -138 -35 -66 -88 -119
|
||||||
|
-150 -149 -47 -23 -70 -28 -132 -28 -62 0 -85 5 -132 28 -109 54 -169 146
|
||||||
|
-176 273 -5 93 5 133 52 202 l32 47 -60 -30 c-51 -25 -72 -30 -136 -30 -72 0
|
||||||
|
-79 2 -183 58 l-108 57 -130 0 c-143 0 -173 -9 -243 -71 -56 -48 -70 -100 -63
|
||||||
|
-227 4 -86 10 -116 27 -145 12 -20 19 -44 16 -54 -8 -25 -2 -32 84 -95 60 -45
|
||||||
|
87 -59 138 -68 34 -7 65 -10 69 -6 3 3 -5 6 -18 6 -41 0 -124 48 -169 96 -65
|
||||||
|
70 -85 123 -85 224 0 78 3 90 34 148 58 107 155 166 276 166 157 0 290 -121
|
||||||
|
311 -283 7 -53 7 -53 20 -28 35 66 88 39 144 -74 23 -44 59 -100 81 -124 67
|
||||||
|
-72 171 -105 275 -86 126 23 264 131 264 205 0 19 7 51 16 72 24 58 16 213
|
||||||
|
-15 276 -33 69 -97 112 -193 132 -43 9 -78 15 -80 15 -2 -1 -24 -5 -49 -9z"/>
|
||||||
|
<path d="M731 1264 c-77 -204 -111 -387 -111 -590 1 -236 29 -336 115 -412 74
|
||||||
|
-65 189 -91 298 -69 l37 8 -30 45 c-63 91 -130 274 -130 355 0 22 -13 37 -68
|
||||||
|
77 -86 64 -99 79 -105 122 -3 19 -12 55 -22 80 -11 30 -17 80 -18 150 -2 92 1
|
||||||
|
111 22 153 14 29 43 64 72 87 l48 38 -31 6 c-52 10 -56 8 -77 -50z"/>
|
||||||
|
<path d="M1765 1276 c-172 -79 -218 -309 -91 -453 108 -123 299 -125 408 -5
|
||||||
|
54 60 71 105 72 192 1 63 -3 84 -27 132 -67 136 -229 196 -362 134z"/>
|
||||||
|
<path d="M1004 1224 c-147 -52 -220 -237 -152 -385 96 -211 379 -229 495 -32
|
||||||
|
22 37 28 62 31 129 4 71 1 89 -20 136 -63 137 -214 202 -354 152z"/>
|
||||||
|
<path d="M1328 730 c-40 -42 -96 -75 -155 -90 l-38 -10 43 5 c59 7 111 35 155
|
||||||
|
84 32 36 43 52 35 51 -2 -1 -20 -18 -40 -40z"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.4 KiB |
19
Wonky.Client/wwwroot/site.webmanifest
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"short_name": "",
|
||||||
|
"icons": [
|
||||||
|
{
|
||||||
|
"src": "/android-chrome-192x192.png",
|
||||||
|
"sizes": "192x192",
|
||||||
|
"type": "image/png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "/android-chrome-256x256.png",
|
||||||
|
"sizes": "256x256",
|
||||||
|
"type": "image/png"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"theme_color": "#ffffff",
|
||||||
|
"background_color": "#ffffff",
|
||||||
|
"display": "standalone"
|
||||||
|
}
|
|
@ -34,7 +34,7 @@ public class DtoNgCrmCompany
|
||||||
[MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string Phone { get; set; } = "";
|
[MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string Phone { get; set; } = "";
|
||||||
[MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string Mobile { get; set; } = "";
|
[MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string Mobile { get; set; } = "";
|
||||||
[MaxLength(80, ErrorMessage = "Du kan højst bruge 80 tegn")] public string Email { get; set; } = "";
|
[MaxLength(80, ErrorMessage = "Du kan højst bruge 80 tegn")] public string Email { get; set; } = "";
|
||||||
[MaxLength(30, ErrorMessage = "Du kan højst bruge 30 tegn")] public string Attention { get; set; } = "";
|
[MaxLength(100, ErrorMessage = "Du kan højst bruge 100 tegn")] public string Attention { get; set; } = "";
|
||||||
public string LastVisit { get; set; } = "";
|
public string LastVisit { get; set; } = "";
|
||||||
public string NextVisit { get; set; } = "";
|
public string NextVisit { get; set; } = "";
|
||||||
public int Interval { get; set; } = 8;
|
public int Interval { get; set; } = 8;
|
||||||
|
|
|
@ -17,26 +17,28 @@ using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace Wonky.Entity.DTO
|
namespace Wonky.Entity.DTO
|
||||||
{
|
{
|
||||||
public class DtoNgSalesHead
|
public class DtoNgSalesRepActivity
|
||||||
{
|
{
|
||||||
public string SalesHeadId { get; set; } = "";
|
public string SalesHeadId { get; set; } = "";
|
||||||
public string CompanyId { get; set; } = "";
|
public string CompanyId { get; set; } = "";
|
||||||
public string SalesRep { get; set; } = "";
|
public string Account { get; set; } = "";
|
||||||
[MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string Account { get; set; } = "";
|
[MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string VatNumber { get; set; } = "";
|
||||||
[MaxLength(100, ErrorMessage = "Du kan højst bruge 100 tegn")] public string Name { get; set; } = "";
|
[MaxLength(100, ErrorMessage = "Du kan højst bruge 100 tegn")] public string Name { get; set; } = "";
|
||||||
[MaxLength(30, ErrorMessage = "Du kan højst bruge 30 tegn")] public string City { get; set; }= "";
|
[MaxLength(30, ErrorMessage = "Du kan højst bruge 30 tegn")] public string City { get; set; }= "";
|
||||||
[MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string ZipCode { get; set; } = "";
|
[MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string ZipCode { get; set; } = "";
|
||||||
[Required(ErrorMessage = "Vælg aktivitet")] public string ActivityType { get; set; } = "";
|
|
||||||
[MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string OurRef { get; set; } = "";
|
|
||||||
[MaxLength(100, ErrorMessage = "Du kan højst bruge 100 tegn")] public string Address { get; set; } = "";
|
[MaxLength(100, ErrorMessage = "Du kan højst bruge 100 tegn")] public string Address { get; set; } = "";
|
||||||
[MaxLength(50, ErrorMessage = "Du kan højst bruge 50 tegn")] public string Address2 { get; set; } = "";
|
[MaxLength(50, ErrorMessage = "Du kan højst bruge 50 tegn")] public string Address2 { get; set; } = "";
|
||||||
[MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string Phone { get; set; } = "";
|
[MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string Phone { get; set; } = "";
|
||||||
[MaxLength(80, ErrorMessage = "Du kan højst bruge 80 tegn")] public string EMail { get; set; } = "";
|
[MaxLength(80, ErrorMessage = "Du kan højst bruge 80 tegn")] public string EMail { get; set; } = "";
|
||||||
|
[MaxLength(100, ErrorMessage = "Du kan højst bruge 100 tegn")] public string Attention { get; set; } = "";
|
||||||
// Form entries
|
// Form entries
|
||||||
|
public string SalesRep { get; set; } = "";
|
||||||
|
[Required(ErrorMessage = "Vælg aktivitet")] public string ActivityTypeEnum { get; set; } = "";
|
||||||
|
public string ActivityStatusEnum { get; set; } = "";
|
||||||
public bool CheckDate { get; set; }
|
public bool CheckDate { get; set; }
|
||||||
public DateTime ActivityDate { get; set; }
|
public DateTime ActivityDate { get; set; }
|
||||||
[MaxLength(50, ErrorMessage = "Du kan højst bruge 50 tegn")] public string Demo { get; set; } = "";
|
[MaxLength(50, ErrorMessage = "Du kan højst bruge 50 tegn")] public string Demo { get; set; } = "";
|
||||||
[MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string VatNumber { get; set; } = "";
|
[MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string OurRef { get; set; } = "";
|
||||||
[MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string ReferenceNumber { get; set; } = "";
|
[MaxLength(20, ErrorMessage = "Du kan højst bruge 20 tegn")] public string ReferenceNumber { get; set; } = "";
|
||||||
[MaxLength(35, ErrorMessage = "Du kan højst bruge 35 tegn")] public string YourRef { get; set; } = "";
|
[MaxLength(35, ErrorMessage = "Du kan højst bruge 35 tegn")] public string YourRef { get; set; } = "";
|
||||||
[MaxLength(255, ErrorMessage = "Du kan højst bruge 255 tegn")] public string OrderMessage { get; set; } = "";
|
[MaxLength(255, ErrorMessage = "Du kan højst bruge 255 tegn")] public string OrderMessage { get; set; } = "";
|