This commit is contained in:
2020-12-30 20:47:54 +00:00
parent 80d10b8095
commit 59470c5626
4 changed files with 68 additions and 15 deletions

View File

@@ -60,6 +60,30 @@ namespace AyaNova.Api.Controllers
return CreatedAtAction(nameof(ServiceBankController.GetServiceBank), new { id = o.Id, version = apiVersion.ToString() }, new ApiCreatedResponse(o));
}
/// <summary>
/// Migrate ServiceBank
/// (for migration from v7 only, do not use)
/// </summary>
/// <param name="newObject"></param>
/// <param name="apiVersion">From route path</param>
/// <returns></returns>
[HttpPost("migrate")]
public async Task<IActionResult> MigrateServiceBank([FromBody] ServiceBank newObject, ApiVersion apiVersion)
{
if (!serverState.IsOpen)
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
ServiceBankBiz biz = ServiceBankBiz.GetBiz(ct, HttpContext);
if (!Authorized.HasCreateRole(HttpContext.Items, biz.BizType))
return StatusCode(403, new ApiNotAuthorizedResponse());
if (!ModelState.IsValid)
return BadRequest(new ApiErrorResponse(ModelState));
ServiceBank o = await biz.CreateAsync(newObject);
if (o == null)
return BadRequest(new ApiErrorResponse(biz.Errors));
else
return CreatedAtAction(nameof(ServiceBankController.GetServiceBank), new { id = o.Id, version = apiVersion.ToString() }, new ApiCreatedResponse(o));
}
/// <summary>
/// Get ServiceBank

View File

@@ -25,6 +25,10 @@ namespace AyaNova.DataList
cm.sort = "-";
dlistView.Add(cm);
cm = new JObject();
cm.fld = "Object";
dlistView.Add(cm);
cm = new JObject();
cm.fld = "ServiceBankCurrency";
dlistView.Add(cm);
@@ -49,10 +53,6 @@ namespace AyaNova.DataList
cm.fld = "ServiceBankHoursBalance";
dlistView.Add(cm);
cm = new JObject();
cm.fld = "ServiceBankSourceRootObjectType";
dlistView.Add(cm);
cm = new JObject();
cm.fld = "ServiceBankDescription";
dlistView.Add(cm);
@@ -67,6 +67,16 @@ namespace AyaNova.DataList
TKey = "ServiceBankSourceRootObjectType",
FieldKey = "ServiceBankSourceRootObjectType",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlIdColumnName = "aservicebank.sourceid",
SqlValueColumnName = "AYGETNAME(aservicebank.sourceid, aservicebank.sourcetype)",
SqlAyTypeColumnName = "aservicebank.sourcetype"
});
FieldDefinitions.Add(new AyaDataListFieldDefinition
{
TKey = "Object",
FieldKey = "Object",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlIdColumnName = "aservicebank.objectid",
SqlValueColumnName = "AYGETNAME(aservicebank.objectid, aservicebank.objecttype)",
SqlAyTypeColumnName = "aservicebank.objecttype"

View File

@@ -8,7 +8,6 @@ using Microsoft.Extensions.Logging;
using AyaNova.Models;
using Newtonsoft.Json.Linq;
using System.Collections.Generic;
using Newtonsoft.Json;
namespace AyaNova.Biz
{
@@ -85,6 +84,26 @@ namespace AyaNova.Biz
}
}
//version for v8 migration purposes only
internal async Task<ServiceBank> CreateAsync(ServiceBank newObject)
{
using (var transaction = await ct.Database.BeginTransactionAsync())
{
await ValidateAsync(newObject);
if (HasErrors)
return null;
else
{
await ct.ServiceBank.AddAsync(newObject);
await ct.SaveChangesAsync();
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, newObject.Id, BizType, AyaEvent.Created), ct);
await SearchIndexAsync(newObject, true);
await transaction.CommitAsync();
await HandlePotentialNotificationEvent(AyaEvent.Created, newObject);
return newObject;
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////

View File

@@ -361,16 +361,16 @@ BEGIN
when 32 then aytable = 'aunitmodel';
when 33 then aytable = 'avendor';
when 34 then aytable = 'aworkorder'; aynamecolumn ='serial';
when 35 then aytable = 'aworkorderitem';
when 36 then aytable = 'aworkorderitemmiscexpense';
when 37 then aytable = 'aworkorderitemlabor';
when 38 then aytable = 'aworkorderitemloan';
when 39 then aytable = 'aworkorderitempart';
when 40 then aytable = 'aworkorderitempartrequest';
when 41 then aytable = 'aworkorderitemscheduleduser';
when 42 then aytable = 'aworkorderitemtask';
when 43 then aytable = 'aworkorderitemtravel';
when 44 then aytable = 'aworkorderitemunit';
when 35 then return 'LT:WorkOrderItem';
when 36 then return 'LT:WorkOrderItemExpense';
when 37 then return 'LT:WorkOrderItemLabor';
when 38 then return 'LT:aworkorderitemloan';
when 39 then return 'LT:WorkOrderItemPart';
when 40 then return 'LT:WorkOrderItemPartRequest';
when 41 then return 'LT:WorkOrderItemScheduledUser';
when 42 then return 'LT:WorkOrderItemTask';
when 43 then return 'LT:WorkOrderItemTravel';
when 44 then return 'LT:WorkOrderItemUnit';
when 45 then aytable = 'aworkordertemplate';
when 46 then aytable = 'aworkordertemplateitem';
when 47 then return 'LT:GlobalOps';