7903 lines
395 KiB
C#
7903 lines
395 KiB
C#
using System;
|
||
using System.Collections;
|
||
using System.ComponentModel;
|
||
using System.Data;
|
||
using System.IO;
|
||
using System.Runtime.Serialization;
|
||
using System.Runtime.Serialization.Formatters.Binary;
|
||
using System.Threading;
|
||
using CSLA;
|
||
using CSLA.Data;
|
||
using CSLA.Security;
|
||
using GZTW.Data;
|
||
|
||
namespace GZTW.AyaNova.BLL
|
||
{
|
||
#pragma warning disable 1591
|
||
/// <summary>
|
||
/// Various Database management utilities
|
||
/// </summary>
|
||
[Serializable]
|
||
public class DBManager
|
||
{
|
||
#region constructor
|
||
static DBManager()
|
||
{ }
|
||
#endregion
|
||
|
||
#region Methods
|
||
|
||
/// <summary>
|
||
/// Erases all optional data in the database
|
||
/// except for required elements
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public static void EraseDatabase(string SafetyKey)
|
||
{
|
||
if (!User.IsAdmin && !AyaBizUtils.Lite)//case 1172
|
||
throw new System.Security.SecurityException(
|
||
LocalizedTextTable.GetLocalizedTextDirect("Error.Security.AdministratorOnlyMessage")
|
||
);
|
||
if (SafetyKey == null || SafetyKey != "I_UNDERSTAND_ALL_DATA_WILL_BE_ERASED_AND_I_ACCEPT_RESPONSIBILITY")
|
||
{
|
||
throw new System.Security.SecurityException(
|
||
"Invalid safety key!\r\n" +
|
||
"A safety key is required to avoid accidentally deleting data through a non AyaNova program.\r\n" +
|
||
"If you are certain you need to do this, contact support@ayanova.com for the safety key to use.");
|
||
}
|
||
|
||
//Ok presumably it's ok to erase the data at this point
|
||
Eraser.EraseEverything();
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// Advance reference dates
|
||
/// Used to move dates in trial data to be centered on current date
|
||
/// so that people evaluating AyaNova can see scheduled users
|
||
/// and workorders centered around the current date instead of being
|
||
/// stuck in the past when they were first created
|
||
///
|
||
/// Do not use under any circumstances with actual live data,
|
||
/// it will wreak havoc on a production database, the trial data
|
||
/// is designed to work with this method.
|
||
/// </summary>
|
||
/// <param name="ReferenceDate"></param>
|
||
internal static void AdvanceTrialDataDates(System.DateTime ReferenceDate)
|
||
{
|
||
EvalAdvance.Advance(ReferenceDate);
|
||
}
|
||
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// Upgrades schema to current version required
|
||
/// </summary>
|
||
internal static void UpdateSchema()
|
||
{
|
||
Schemalizer.UpdateSchema();
|
||
}
|
||
|
||
/// <summary>
|
||
/// Unschedules all users in all workorders
|
||
/// </summary>
|
||
internal static void UnscheduleUsers()
|
||
{
|
||
UnscheduleAllUsers.Unschedule();
|
||
}
|
||
|
||
/// <summary>
|
||
/// Change all users in all workorders to lite user
|
||
/// </summary>
|
||
internal static void UnscheduleUsersToLite()
|
||
{
|
||
UnscheduleAllUsersToLite.UnscheduleToLite();
|
||
}
|
||
|
||
/// <summary>
|
||
/// Recompute index statistics for all Indexes in a FireBird database
|
||
/// (This is run on every schema update when a new AyaNova is released.)
|
||
/// Firebird does not automatically recompute statistics as Microsoft SQL server does
|
||
/// so over time indexes may become stale and not reflect the current data.
|
||
///
|
||
/// Note indexes are also recomputed on a backup and restore in FireBird server version.
|
||
/// </summary>
|
||
public static void FireBirdRecomputeStatistics()
|
||
{
|
||
if (DBUtil.DB.DBType != DataBaseType.FireBird) return;
|
||
FBRecomputeStats.Recompute();
|
||
}
|
||
#endregion
|
||
|
||
#region Eraser
|
||
/// <summary>
|
||
/// Erase an entire database
|
||
/// </summary>
|
||
[Serializable, System.ComponentModel.Browsable(false)]
|
||
public class Eraser//DO_NOT_OBFUSCATE
|
||
{
|
||
|
||
|
||
public Eraser()
|
||
{
|
||
|
||
}
|
||
|
||
public static void EraseEverything()
|
||
{
|
||
DataPortal.Update(new Eraser());
|
||
}
|
||
|
||
public void DataPortal_Update()
|
||
{
|
||
|
||
DBCommandWrapper cm = null;
|
||
|
||
//Case 672
|
||
DeleteTable("AUSERMRU");
|
||
//delete all but global address
|
||
cm = DBUtil.GetCommandFromSQL("DELETE FROM AADDRESS WHERE aRootObjectID <> @ID");
|
||
cm.AddInParameter("@ID", DbType.Guid, Address.GlobalAddressID);
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
DeleteTable("AASSIGNEDDOC");
|
||
DeleteTable("aClientNote");
|
||
DeleteTable("aClientNoteType");
|
||
|
||
|
||
|
||
try
|
||
{
|
||
DeleteTable("aClientServiceRequest");
|
||
}
|
||
catch { }
|
||
DeleteTable("aContactPhone");
|
||
DeleteTable("aContact");
|
||
//this one should maybe stay
|
||
DeleteTable("aContactTitle");
|
||
|
||
DeleteTable("aContractRate");
|
||
DeleteTable("aMemo");
|
||
DeleteTable("aNotifyDeliveryLog");
|
||
DeleteTable("aNotifySubscriptionDelivery");
|
||
DeleteTable("aNotifyDeliverySetting");
|
||
DeleteTable("aNotifyEvent");
|
||
DeleteTable("aNotifyEventOfInterest");
|
||
DeleteTable("aNotifyPopup");
|
||
DeleteTable("aNotifySubscriber");
|
||
DeleteTable("aNotifySubscription");
|
||
|
||
DeleteTable("aPartByWarehouseInventory");
|
||
|
||
DeleteTable("aUnitMeterReading");
|
||
|
||
DeleteTable("aWorkorderItemLabor");
|
||
//WorkorderItemLoan - Remove the reference in LoanItem first:
|
||
DBUtil.DB.ExecuteNonQuery(CommandType.Text, "UPDATE aLoanItem SET aCurrentWorkorderItemLoan=null");
|
||
DeleteTable("aWorkorderItemLoan");
|
||
DeleteTable("aLoanItem");
|
||
DeleteTable("aWorkorderItemMiscExpense");
|
||
DeleteTable("aWorkorderItemOutsideService");
|
||
//WorkorderItemPart - Remove the reference in PartSerial first:
|
||
DBUtil.DB.ExecuteNonQuery(CommandType.Text, "UPDATE aPartSerial SET aWorkorderItemPartID=null");
|
||
DeleteTable("aWorkorderItemPart");
|
||
|
||
DeleteTable("aPartSerial");
|
||
|
||
//WorkorderItemPartRequest - Remove the reference in purchaseorderitem first:
|
||
DBUtil.DB.ExecuteNonQuery(CommandType.Text, "UPDATE aPurchaseOrderItem SET aWorkorderItemPartRequestID=null");
|
||
DeleteTable("aWorkorderItemPartRequest");
|
||
|
||
DeleteTable("aWorkorderItemScheduledUser");
|
||
DeleteTable("aWorkorderItemTask");
|
||
DeleteTable("aWorkorderItemTravel");
|
||
|
||
DeleteTable("aWorkorderItem");
|
||
DeleteTable("aWorkorderService");
|
||
//WorkorderQuote and PM - Remove the reference in Workorder first:
|
||
DBUtil.DB.ExecuteNonQuery(CommandType.Text, "UPDATE aWorkorder SET aFromQuoteID=null, aFromPMID=null ");
|
||
DeleteTable("aWorkorderQuote");
|
||
DeleteTable("aWorkorderPreventiveMaintenance");
|
||
|
||
//Workorder- Remove the reference in client and unit first:
|
||
DBUtil.DB.ExecuteNonQuery(CommandType.Text, "UPDATE aClient SET aLastWorkorderID=null");
|
||
DBUtil.DB.ExecuteNonQuery(CommandType.Text, "UPDATE aUnit SET aLastWorkorderID=null");
|
||
|
||
//Case 690 - remove template ref in client
|
||
DBUtil.DB.ExecuteNonQuery(CommandType.Text, "UPDATE aClient SET ADEFAULTSERVICETEMPLATEID=null");
|
||
|
||
//Case 691 - remove template ref in user
|
||
DBUtil.DB.ExecuteNonQuery(CommandType.Text, "UPDATE AUSER SET ADEFAULTSERVICETEMPLATEID=null");
|
||
|
||
//Case 672 - update global first to remove the reference to the template
|
||
DBUtil.DB.ExecuteNonQuery(CommandType.Text, "UPDATE AGLOBAL SET ADEFAULTSERVICETEMPLATEID=null");
|
||
|
||
DeleteTable("aWorkorder");
|
||
//case 1166 moved down past PO
|
||
//DeleteTable("aProject");
|
||
DeleteTable("aPriority");
|
||
|
||
DBUtil.DB.ExecuteNonQuery(CommandType.Text, "UPDATE aGlobal SET aWorkorderClosedStatus=null");
|
||
DBUtil.DB.ExecuteNonQuery(CommandType.Text, "UPDATE aRegion SET aWorkorderClosedStatus=null");//case 1030 replytoemail is empty which breaks constraint when updating throwing exception
|
||
DeleteTable("aWorkorderStatus");
|
||
|
||
DeleteTable("aWorkorderItemType");
|
||
DeleteTable("aWorkorderCategory");
|
||
|
||
|
||
//PURCHASE ORDER RELATED STUFF
|
||
DeleteTable("aPurchaseOrderReceiptItem");
|
||
DeleteTable("aPurchaseOrderReceipt");
|
||
DeleteTable("aPurchaseOrderItem");
|
||
DeleteTable("aPurchaseOrder");
|
||
//case 1166
|
||
DeleteTable("aProject");
|
||
|
||
DeleteTable("aPartInventoryAdjustmentItem");
|
||
DeleteTable("aPartInventoryAdjustment");
|
||
DeleteTable("aPart");
|
||
DeleteTable("aPartAssembly");
|
||
DeleteTable("aPartCategory");
|
||
|
||
//case 1226 Don't lose the default warehouse on non erased users
|
||
//DBUtil.DB.ExecuteNonQuery(CommandType.Text, "UPDATE aUser SET aWarehouseID=null");
|
||
if (!AyaBizUtils.Lite)
|
||
{
|
||
cm = DBUtil.GetCommandFromSQL("UPDATE aUser SET aWarehouseID=null WHERE (aID <> @ID) AND (aUserType<>6)");
|
||
cm.AddInParameter("@ID", DbType.Guid, User.AdministratorID);
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
}
|
||
else
|
||
{//case 1223
|
||
cm = DBUtil.GetCommandFromSQL("UPDATE aUser SET aWarehouseID=null WHERE (aID <> @ID) AND (aID <> @LITEID) AND (aUserType<>6)");
|
||
cm.AddInParameter("@ID", DbType.Guid, User.AdministratorID);
|
||
cm.AddInParameter("@LITEID", DbType.Guid, User.LiteUserID);
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
}
|
||
|
||
//All but default part warehouse
|
||
DeleteTableWithGuidException("aPartWarehouse", new Guid("{FECD26B2-26A4-471B-B68B-54B642029943}"));
|
||
|
||
|
||
DeleteTable("aRate");
|
||
DeleteTable("aRateUnitChargeDescription");
|
||
|
||
//Case 406
|
||
//deleting regions gives ref. integ. error since users have region set
|
||
//however this conflicts with docs that say that regions are not deleted
|
||
//anyway, so just commented this out
|
||
//DeleteTableWithGuidException("aRegion", new Guid("{8236E8D1-CAB1-4797-9C34-93861954AE6A}"));
|
||
|
||
DeleteTable("aScheduleableUserGroupUser");
|
||
DeleteTable("aScheduleableUserGroup");
|
||
DeleteTable("aScheduleMarker");
|
||
TruncateTable("aSearchDictionary");
|
||
TruncateTable("aSearchKey");
|
||
//aSecurityGroup : AFTER USERS ARE DELETED
|
||
DeleteTable("aServicebank");
|
||
DeleteTable("aTaskGroupTask");
|
||
DeleteTable("aTaskGroup");
|
||
DeleteTable("aTask");
|
||
//aTaxCode: Leaving in for now
|
||
|
||
|
||
DeleteTable("aGridFilter");
|
||
|
||
cm = DBUtil.GetCommandFromSQL("DELETE FROM aUIUserGridLastView WHERE aUserID <> @ID");
|
||
cm.AddInParameter("@ID", DbType.Guid, User.AdministratorID);
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
cm = DBUtil.GetCommandFromSQL("DELETE FROM aUIExplorerBarLayout WHERE aUserID <> @ID");
|
||
cm.AddInParameter("@ID", DbType.Guid, User.AdministratorID);
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
cm = DBUtil.GetCommandFromSQL("DELETE FROM aUIGridLayout WHERE aUserID <> @ID");
|
||
cm.AddInParameter("@ID", DbType.Guid, User.AdministratorID);
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
cm = DBUtil.GetCommandFromSQL("DELETE FROM aUIUserFormSetting WHERE aUserID <> @ID");
|
||
cm.AddInParameter("@ID", DbType.Guid, User.AdministratorID);
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
|
||
|
||
DBUtil.DB.ExecuteNonQuery(CommandType.Text, "UPDATE aUnit set aReplacedByUnitID=null");
|
||
DBUtil.DB.ExecuteNonQuery(CommandType.Text, "UPDATE aUnit set aParentUnitID=null");
|
||
DeleteTable("aUnit");
|
||
|
||
DeleteTable("aUnitModel");
|
||
DeleteTable("aUnitModelCategory");
|
||
//aUnitOfMeasure : Leaving in for now
|
||
DeleteTable("aUnitServiceType");
|
||
DeleteTable("aUserCertificationAssigned");
|
||
DeleteTable("aUserCertification");
|
||
DeleteTable("aUserSkillAssigned");
|
||
DeleteTable("aUserSkill");
|
||
//All non default group user rights
|
||
cm = DBUtil.GetCommandFromSQL("DELETE FROM aUserRight WHERE aSecurityGroupID <> @ID");
|
||
cm.AddInParameter("@ID", DbType.Guid, new Guid("{FF0DE42A-0EA0-429B-9643-64355703E8D1}")/*manager default group*/);
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
//Delete all users except the utility user accounts (type6) and the admin user
|
||
//case 1223 and don't delete the lite user if it's a lite license
|
||
if (!AyaBizUtils.Lite)
|
||
{
|
||
cm = DBUtil.GetCommandFromSQL("DELETE FROM aUser WHERE (aID <> @ID) AND (aUserType<>6)");
|
||
cm.AddInParameter("@ID", DbType.Guid, User.AdministratorID);
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
}
|
||
else
|
||
{//case 1223
|
||
cm = DBUtil.GetCommandFromSQL("DELETE FROM aUser WHERE (aID <> @ID) AND (aID <> @LITEID) AND (aUserType<>6)");
|
||
cm.AddInParameter("@ID", DbType.Guid, User.AdministratorID);
|
||
cm.AddInParameter("@LITEID", DbType.Guid, User.LiteUserID);
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
}
|
||
|
||
//Delete all security groups but the manager group
|
||
DeleteTableWithGuidException("aSecurityGroup", new Guid("{FF0DE42A-0EA0-429B-9643-64355703E8D1}"));
|
||
|
||
|
||
DeleteTable("aClient");
|
||
DeleteTable("aHeadOffice");
|
||
DeleteTable("aClientGroup");
|
||
DeleteTable("aContract");
|
||
DeleteTable("aDispatchZone");
|
||
|
||
DeleteTable("aVendor");
|
||
//Set left behind tables to admin creator and updater
|
||
cm = DBUtil.GetCommandFromSQL("UPDATE aReport SET aCreator=@ID, aModifier=@ID");
|
||
cm.AddInParameter("@ID", DbType.Guid, User.AdministratorID);
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
|
||
cm = DBUtil.GetCommandFromSQL("UPDATE aUnitOfMeasure SET aCreator=@ID, aModifier=@ID");
|
||
cm.AddInParameter("@ID", DbType.Guid, User.AdministratorID);
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
cm = DBUtil.GetCommandFromSQL("UPDATE aTaxCode SET aCreator=@ID, aModifier=@ID");
|
||
cm.AddInParameter("@ID", DbType.Guid, User.AdministratorID);
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
|
||
//April 11th 2006
|
||
DeleteTable("aIntegrationLog");
|
||
DeleteTable("aIntegrationMap");
|
||
DeleteTable("aIntegration");
|
||
|
||
//Case 73
|
||
DeleteTable("aWikiPage");
|
||
DeleteTable("aFile");
|
||
|
||
}
|
||
|
||
|
||
public void DeleteTable(string sTable)
|
||
{
|
||
DBUtil.DB.ExecuteNonQuery(CommandType.Text, "DELETE FROM " + sTable);
|
||
}
|
||
|
||
public void TruncateTable(string sTable)
|
||
{
|
||
|
||
//Case 264
|
||
switch (DBUtil.DB.DBType)
|
||
{
|
||
case DataBaseType.FireBird:
|
||
{
|
||
DBUtil.DB.ExecuteNonQuery(CommandType.Text, "DELETE FROM " + sTable);
|
||
|
||
}
|
||
break;
|
||
|
||
case DataBaseType.MSSQL:
|
||
{
|
||
DBUtil.DB.ExecuteNonQuery(CommandType.Text, "TRUNCATE TABLE " + sTable);
|
||
}
|
||
break;
|
||
|
||
default:
|
||
throw new ApplicationException("UNKNOWN DB TYPE IN DBManager.Eraser->DeleteTable");
|
||
|
||
}
|
||
|
||
}
|
||
|
||
public void DeleteTableWithGuidException(string sTable, Guid gDoNotDelete)
|
||
{
|
||
DBCommandWrapper cm = DBUtil.GetCommandFromSQL("DELETE FROM " + sTable + " WHERE aID <> @ID");
|
||
cm.AddInParameter("@ID", DbType.Guid, gDoNotDelete);
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
}
|
||
|
||
|
||
}
|
||
#endregion eraser
|
||
|
||
#region Eval advance
|
||
/// <summary>
|
||
/// Advance evaluation data dates to current date
|
||
/// </summary>
|
||
[Serializable, System.ComponentModel.Browsable(false)]
|
||
public class EvalAdvance//DO_NOT_OBFUSCATE
|
||
{
|
||
|
||
System.TimeSpan _ts;
|
||
|
||
public EvalAdvance(System.DateTime ReferenceDate)
|
||
{
|
||
|
||
_ts = System.DateTime.Today - ReferenceDate;
|
||
}
|
||
|
||
public static void Advance(System.DateTime ReferenceDate)
|
||
{
|
||
DataPortal.Update(new EvalAdvance(ReferenceDate));
|
||
}
|
||
|
||
public void DataPortal_Update()
|
||
{
|
||
|
||
DBCommandWrapper cm = null;
|
||
SmartDate d1 = new SmartDate();
|
||
SmartDate d2 = new SmartDate();
|
||
SmartDate d3 = new SmartDate();
|
||
SmartDate d4 = new SmartDate();
|
||
|
||
Guid ID;
|
||
|
||
#region Workorder scheduled users
|
||
cm = DBUtil.GetCommandFromSQL(
|
||
"UPDATE aWorkorderItemScheduledUser SET " +
|
||
"aStartDate=@StartDate, " +
|
||
"aStopDate=@StopDate " +
|
||
"WHERE aID=@ID");
|
||
|
||
|
||
SafeDataReader dr = DBUtil.GetReaderFromSQLString(
|
||
"SELECT " +
|
||
" AWORKORDERITEMSCHEDULEDUSER.ASTARTDATE, " +
|
||
" AWORKORDERITEMSCHEDULEDUSER.ASTOPDATE, " +
|
||
" AWORKORDERITEMSCHEDULEDUSER.AID " +
|
||
"FROM " +
|
||
" AWORKORDERITEMSCHEDULEDUSER ");
|
||
|
||
while (dr.Read())
|
||
{
|
||
d1 = DBUtil.ToLocal(dr.GetSmartDate("aStartDate"));
|
||
d2 = DBUtil.ToLocal(dr.GetSmartDate("aStopDate"));
|
||
ID = dr.GetGuid("AID");
|
||
|
||
cm.Command.Parameters.Clear();
|
||
cm.AddInParameter("@ID", DbType.Guid, ID);
|
||
cm.AddInParameter("@StartDate", DbType.DateTime, process(d1));
|
||
cm.AddInParameter("@StopDate", DbType.DateTime, process(d2));
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region ScheduleMarkers
|
||
cm = DBUtil.GetCommandFromSQL(
|
||
"UPDATE ASCHEDULEMARKER SET " +
|
||
"aStartDate=@StartDate, " +
|
||
"aStopDate=@StopDate " +
|
||
"WHERE aID=@ID");
|
||
|
||
|
||
dr = DBUtil.GetReaderFromSQLString(
|
||
"SELECT " +
|
||
" ASCHEDULEMARKER.ASTARTDATE, " +
|
||
" ASCHEDULEMARKER.ASTOPDATE, " +
|
||
" ASCHEDULEMARKER.AID " +
|
||
"FROM " +
|
||
" ASCHEDULEMARKER ");
|
||
|
||
while (dr.Read())
|
||
{
|
||
d1 = DBUtil.ToLocal(dr.GetSmartDate("aStartDate"));
|
||
d2 = DBUtil.ToLocal(dr.GetSmartDate("aStopDate"));
|
||
ID = dr.GetGuid("AID");
|
||
|
||
cm.Command.Parameters.Clear();
|
||
cm.AddInParameter("@ID", DbType.Guid, ID);
|
||
cm.AddInParameter("@StartDate", DbType.DateTime, process(d1));
|
||
cm.AddInParameter("@StopDate", DbType.DateTime, process(d2));
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
|
||
}
|
||
#endregion schedmarkers
|
||
|
||
#region AWORKORDERITEMLABOR
|
||
cm = DBUtil.GetCommandFromSQL(
|
||
"UPDATE AWORKORDERITEMLABOR SET " +
|
||
"ASERVICESTARTDATE=@StartDate, " +
|
||
"ASERVICESTOPDATE=@StopDate " +
|
||
"WHERE aID=@ID");
|
||
|
||
|
||
dr = DBUtil.GetReaderFromSQLString(
|
||
"SELECT " +
|
||
" AWORKORDERITEMLABOR.ASERVICESTARTDATE, " +
|
||
" AWORKORDERITEMLABOR.ASERVICESTOPDATE, " +
|
||
" AWORKORDERITEMLABOR.AID " +
|
||
"FROM " +
|
||
" AWORKORDERITEMLABOR ");
|
||
|
||
while (dr.Read())
|
||
{
|
||
d1 = DBUtil.ToLocal(dr.GetSmartDate("ASERVICESTARTDATE"));
|
||
d2 = DBUtil.ToLocal(dr.GetSmartDate("ASERVICESTOPDATE"));
|
||
ID = dr.GetGuid("AID");
|
||
|
||
cm.Command.Parameters.Clear();
|
||
cm.AddInParameter("@ID", DbType.Guid, ID);
|
||
cm.AddInParameter("@StartDate", DbType.DateTime, process(d1));
|
||
cm.AddInParameter("@StopDate", DbType.DateTime, process(d2));
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
|
||
}
|
||
#endregion AWORKORDERITEMLABOR
|
||
|
||
#region AWORKORDERITEM
|
||
cm = DBUtil.GetCommandFromSQL(
|
||
"UPDATE AWORKORDERITEM SET " +
|
||
"AREQUESTDATE=@StartDate " +
|
||
"WHERE aID=@ID");
|
||
|
||
|
||
dr = DBUtil.GetReaderFromSQLString(
|
||
"SELECT " +
|
||
" AWORKORDERITEM.AREQUESTDATE, " +
|
||
" AWORKORDERITEM.AID " +
|
||
"FROM " +
|
||
" AWORKORDERITEM ");
|
||
|
||
while (dr.Read())
|
||
{
|
||
d1 = DBUtil.ToLocal(dr.GetSmartDate("AREQUESTDATE"));
|
||
ID = dr.GetGuid("AID");
|
||
|
||
cm.Command.Parameters.Clear();
|
||
cm.AddInParameter("@ID", DbType.Guid, ID);
|
||
cm.AddInParameter("@StartDate", DbType.DateTime, process(d1));
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
|
||
}
|
||
#endregion AWORKORDERITEM
|
||
|
||
#region AWORKORDERITEMLOAN
|
||
cm = DBUtil.GetCommandFromSQL(
|
||
"UPDATE AWORKORDERITEMLOAN SET " +
|
||
"AOUTDATE=@StartDate, " +
|
||
"ARETURNDATE=@StopDate, " +
|
||
"ADUEDATE=@OtherDate " +
|
||
"WHERE aID=@ID");
|
||
|
||
|
||
dr = DBUtil.GetReaderFromSQLString(
|
||
"SELECT " +
|
||
" AWORKORDERITEMLOAN.AOUTDATE, " +
|
||
" AWORKORDERITEMLOAN.ADUEDATE, " +
|
||
" AWORKORDERITEMLOAN.ARETURNDATE, " +
|
||
" AWORKORDERITEMLOAN.AID " +
|
||
"FROM " +
|
||
" AWORKORDERITEMLOAN ");
|
||
|
||
while (dr.Read())
|
||
{
|
||
d1 = DBUtil.ToLocal(dr.GetSmartDate("AOUTDATE"));
|
||
d2 = DBUtil.ToLocal(dr.GetSmartDate("ARETURNDATE"));
|
||
d3 = DBUtil.ToLocal(dr.GetSmartDate("ADUEDATE"));
|
||
ID = dr.GetGuid("AID");
|
||
|
||
cm.Command.Parameters.Clear();
|
||
cm.AddInParameter("@ID", DbType.Guid, ID);
|
||
cm.AddInParameter("@StartDate", DbType.DateTime, process(d1));
|
||
cm.AddInParameter("@StopDate", DbType.DateTime, process(d2));
|
||
cm.AddInParameter("@OtherDate", DbType.DateTime, process(d3));
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
|
||
}
|
||
#endregion AWORKORDERITEMLOAN
|
||
|
||
#region AWORKORDERITEMOUTSIDESERVICE
|
||
cm = DBUtil.GetCommandFromSQL(
|
||
"UPDATE AWORKORDERITEMOUTSIDESERVICE SET " +
|
||
"ADATESENT=@StartDate, " +
|
||
"ADATERETURNED=@StopDate, " +
|
||
"ADATEETA=@OtherDate " +
|
||
"WHERE aID=@ID");
|
||
|
||
|
||
dr = DBUtil.GetReaderFromSQLString(
|
||
"SELECT " +
|
||
" AWORKORDERITEMOUTSIDESERVICE.ADATESENT, " +
|
||
" AWORKORDERITEMOUTSIDESERVICE.ADATEETA, " +
|
||
" AWORKORDERITEMOUTSIDESERVICE.ADATERETURNED, " +
|
||
" AWORKORDERITEMOUTSIDESERVICE.AID " +
|
||
"FROM " +
|
||
" AWORKORDERITEMOUTSIDESERVICE ");
|
||
|
||
while (dr.Read())
|
||
{
|
||
d1 = DBUtil.ToLocal(dr.GetSmartDate("ADATESENT"));
|
||
d2 = DBUtil.ToLocal(dr.GetSmartDate("ADATERETURNED"));
|
||
d3 = DBUtil.ToLocal(dr.GetSmartDate("ADATEETA"));
|
||
ID = dr.GetGuid("AID");
|
||
|
||
cm.Command.Parameters.Clear();
|
||
cm.AddInParameter("@ID", DbType.Guid, ID);
|
||
cm.AddInParameter("@StartDate", DbType.DateTime, process(d1));
|
||
cm.AddInParameter("@StopDate", DbType.DateTime, process(d2));
|
||
cm.AddInParameter("@OtherDate", DbType.DateTime, process(d3));
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
|
||
}
|
||
#endregion AWORKORDERITEMOUTSIDESERVICE
|
||
|
||
#region AWORKORDERITEMTRAVEL
|
||
cm = DBUtil.GetCommandFromSQL(
|
||
"UPDATE AWORKORDERITEMTRAVEL SET " +
|
||
"ATRAVELSTARTDATE=@StartDate, " +
|
||
"ATRAVELSTOPDATE=@StopDate " +
|
||
"WHERE aID=@ID");
|
||
|
||
|
||
dr = DBUtil.GetReaderFromSQLString(
|
||
"SELECT " +
|
||
" AWORKORDERITEMTRAVEL.ATRAVELSTARTDATE, " +
|
||
" AWORKORDERITEMTRAVEL.ATRAVELSTOPDATE, " +
|
||
" AWORKORDERITEMTRAVEL.AID " +
|
||
"FROM " +
|
||
" AWORKORDERITEMTRAVEL ");
|
||
|
||
while (dr.Read())
|
||
{
|
||
d1 = DBUtil.ToLocal(dr.GetSmartDate("ATRAVELSTARTDATE"));
|
||
d2 = DBUtil.ToLocal(dr.GetSmartDate("ATRAVELSTOPDATE"));
|
||
ID = dr.GetGuid("AID");
|
||
|
||
cm.Command.Parameters.Clear();
|
||
cm.AddInParameter("@ID", DbType.Guid, ID);
|
||
cm.AddInParameter("@StartDate", DbType.DateTime, process(d1));
|
||
cm.AddInParameter("@StopDate", DbType.DateTime, process(d2));
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
|
||
}
|
||
#endregion AWORKORDERITEMTRAVEL
|
||
|
||
#region AWORKORDERPREVENTIVEMAINTENANCE
|
||
cm = DBUtil.GetCommandFromSQL(
|
||
"UPDATE AWORKORDERPREVENTIVEMAINTENANCE SET " +
|
||
"ANEXTSERVICEDATE=@StartDate, " +
|
||
"ASTOPGENERATINGDATE=@StopDate, " +
|
||
"AGENERATEDATE=@OtherDate " +
|
||
"WHERE aID=@ID");
|
||
|
||
|
||
dr = DBUtil.GetReaderFromSQLString(
|
||
"SELECT " +
|
||
" AWORKORDERPREVENTIVEMAINTENANCE.ANEXTSERVICEDATE, " +
|
||
" AWORKORDERPREVENTIVEMAINTENANCE.AGENERATEDATE, " +
|
||
" AWORKORDERPREVENTIVEMAINTENANCE.ASTOPGENERATINGDATE, " +
|
||
" AWORKORDERPREVENTIVEMAINTENANCE.AID " +
|
||
"FROM " +
|
||
" AWORKORDERPREVENTIVEMAINTENANCE ");
|
||
|
||
while (dr.Read())
|
||
{
|
||
d1 = DBUtil.ToLocal(dr.GetSmartDate("ANEXTSERVICEDATE"));
|
||
d2 = DBUtil.ToLocal(dr.GetSmartDate("ASTOPGENERATINGDATE"));
|
||
d3 = DBUtil.ToLocal(dr.GetSmartDate("AGENERATEDATE"));
|
||
ID = dr.GetGuid("AID");
|
||
|
||
cm.Command.Parameters.Clear();
|
||
cm.AddInParameter("@ID", DbType.Guid, ID);
|
||
cm.AddInParameter("@StartDate", DbType.DateTime, process(d1));
|
||
cm.AddInParameter("@StopDate", DbType.DateTime, process(d2));
|
||
cm.AddInParameter("@OtherDate", DbType.DateTime, process(d3));
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
|
||
}
|
||
#endregion AWORKORDERPREVENTIVEMAINTENANCE
|
||
|
||
#region AWORKORDERQUOTE
|
||
cm = DBUtil.GetCommandFromSQL(
|
||
"UPDATE AWORKORDERQUOTE SET " +
|
||
"AQUOTEREQUESTDATE=@StartDate, " +
|
||
"AVALIDUNTILDATE=@StopDate, " +
|
||
"ADATEAPPROVED=@dfour, " +
|
||
"ADATESUBMITTED=@OtherDate " +
|
||
"WHERE aID=@ID");
|
||
|
||
|
||
dr = DBUtil.GetReaderFromSQLString(
|
||
"SELECT " +
|
||
" AWORKORDERQUOTE.AQUOTEREQUESTDATE, " +
|
||
" AWORKORDERQUOTE.AVALIDUNTILDATE, " +
|
||
" AWORKORDERQUOTE.ADATESUBMITTED, " +
|
||
" AWORKORDERQUOTE.ADATEAPPROVED, " +
|
||
" AWORKORDERQUOTE.AID " +
|
||
"FROM " +
|
||
" AWORKORDERQUOTE ");
|
||
|
||
while (dr.Read())
|
||
{
|
||
d1 = DBUtil.ToLocal(dr.GetSmartDate("AQUOTEREQUESTDATE"));
|
||
d2 = DBUtil.ToLocal(dr.GetSmartDate("AVALIDUNTILDATE"));
|
||
d3 = DBUtil.ToLocal(dr.GetSmartDate("ADATESUBMITTED"));
|
||
d4 = DBUtil.ToLocal(dr.GetSmartDate("ADATEAPPROVED"));
|
||
ID = dr.GetGuid("AID");
|
||
|
||
cm.Command.Parameters.Clear();
|
||
cm.AddInParameter("@ID", DbType.Guid, ID);
|
||
cm.AddInParameter("@StartDate", DbType.DateTime, process(d1));
|
||
cm.AddInParameter("@StopDate", DbType.DateTime, process(d2));
|
||
cm.AddInParameter("@OtherDate", DbType.DateTime, process(d3));
|
||
cm.AddInParameter("@dfour", DbType.DateTime, process(d4));
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
|
||
}
|
||
#endregion AWORKORDERQUOTE
|
||
|
||
#region AWORKORDERSERVICE
|
||
cm = DBUtil.GetCommandFromSQL(
|
||
"UPDATE AWORKORDERSERVICE SET " +
|
||
"ASERVICEDATE=@StartDate, " +
|
||
"ACLOSEBYDATE=@StopDate " +
|
||
"WHERE aID=@ID");
|
||
|
||
|
||
dr = DBUtil.GetReaderFromSQLString(
|
||
"SELECT " +
|
||
" AWORKORDERSERVICE.ASERVICEDATE, " +
|
||
" AWORKORDERSERVICE.ACLOSEBYDATE, " +
|
||
" AWORKORDERSERVICE.AID " +
|
||
"FROM " +
|
||
" AWORKORDERSERVICE ");
|
||
|
||
while (dr.Read())
|
||
{
|
||
d1 = DBUtil.ToLocal(dr.GetSmartDate("ASERVICEDATE"));
|
||
d2 = DBUtil.ToLocal(dr.GetSmartDate("ACLOSEBYDATE"));
|
||
ID = dr.GetGuid("AID");
|
||
|
||
cm.Command.Parameters.Clear();
|
||
cm.AddInParameter("@ID", DbType.Guid, ID);
|
||
cm.AddInParameter("@StartDate", DbType.DateTime, process(d1));
|
||
cm.AddInParameter("@StopDate", DbType.DateTime, process(d2));
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
|
||
}
|
||
#endregion AWORKORDERSERVICE
|
||
|
||
|
||
#region Contract expiry dates Case 243
|
||
|
||
SmartDate ctx = new SmartDate(DBUtil.CurrentWorkingDateTime.AddYears(1));
|
||
//CLIENTS
|
||
cm = DBUtil.GetCommandFromSQL(
|
||
"UPDATE ACLIENT SET " +
|
||
"ACONTRACTEXPIRES=@StartDate " +
|
||
"WHERE ACONTRACTEXPIRES IS NOT NULL");
|
||
cm.Command.Parameters.Clear();
|
||
cm.AddInParameter("@StartDate", DbType.DateTime, ctx.DBValue);
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
|
||
|
||
|
||
//HEAD OFFICES
|
||
cm = DBUtil.GetCommandFromSQL(
|
||
"UPDATE AHEADOFFICE SET " +
|
||
"ACONTRACTEXPIRES=@StartDate " +
|
||
"WHERE ACONTRACTEXPIRES IS NOT NULL");
|
||
cm.Command.Parameters.Clear();
|
||
cm.AddInParameter("@StartDate", DbType.DateTime, ctx.DBValue);
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
#endregion ctrct expirs
|
||
|
||
#region schedule start date case 1338
|
||
|
||
//case 2102 added in schema 90
|
||
if (AyaBizUtils.GlobalX.DBSchemaVersion > 89)
|
||
{
|
||
DBUtil.DB.ExecuteNonQuery(CommandType.Text, "UPDATE AUSER SET ALASTSCHEDSTARTDATE=null");
|
||
DBUtil.DB.ExecuteNonQuery(CommandType.Text, "UPDATE AUSER SET ALASTSCHEDSTOPDATE=null");
|
||
}
|
||
#endregion
|
||
|
||
#region CLIENTSERVICEREQUEST
|
||
cm = DBUtil.GetCommandFromSQL(
|
||
"UPDATE ACLIENTSERVICEREQUEST SET " +
|
||
"ACREATED=@StartDate " +
|
||
"WHERE aID=@ID");
|
||
|
||
|
||
dr = DBUtil.GetReaderFromSQLString(
|
||
"SELECT " +
|
||
" ACLIENTSERVICEREQUEST.ACREATED, " +
|
||
" ACLIENTSERVICEREQUEST.AID " +
|
||
" FROM " +
|
||
" ACLIENTSERVICEREQUEST ");
|
||
|
||
while (dr.Read())
|
||
{
|
||
d1 = DBUtil.ToLocal(dr.GetSmartDate("ACREATED"));
|
||
ID = dr.GetGuid("AID");
|
||
|
||
cm.Command.Parameters.Clear();
|
||
cm.AddInParameter("@ID", DbType.Guid, ID);
|
||
cm.AddInParameter("@StartDate", DbType.DateTime, process(d1));
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
|
||
}
|
||
#endregion clientservicerequest
|
||
}
|
||
|
||
/// <summary>
|
||
/// process the date and return it as a db value UTC corrected for
|
||
/// re-insertion into db
|
||
/// </summary>
|
||
/// <param name="sd"></param>
|
||
/// <returns></returns>
|
||
private object process(SmartDate sd)
|
||
{
|
||
if (!sd.IsEmpty)
|
||
sd.Add(_ts);
|
||
return DBUtil.ToUTC(sd).DBValue;
|
||
}
|
||
|
||
|
||
}
|
||
#endregion eval advance
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// The required schema version to use this AyaNova
|
||
/// </summary>
|
||
internal static int RequiredSchema
|
||
{
|
||
get
|
||
{
|
||
//UPDATE CASE 1354 EVERY TIME A NEW SCHEMA VERSION IS DONE
|
||
return 136;
|
||
//UPDATE CASE 1354 EVERY TIME A NEW SCHEMA VERSION IS DONE
|
||
//https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1354
|
||
}
|
||
|
||
}
|
||
|
||
|
||
#region Upgrade schema
|
||
/// <summary>
|
||
/// Upgrade schema of database to required version
|
||
/// </summary>
|
||
[Serializable, System.ComponentModel.Browsable(false)]
|
||
public class Schemalizer//DO_NOT_OBFUSCATE
|
||
{
|
||
|
||
private IDbConnection _cn = null;
|
||
private IDbTransaction _tr = null;
|
||
public Schemalizer()
|
||
{
|
||
|
||
|
||
}
|
||
|
||
public static void UpdateSchema()
|
||
{
|
||
DataPortal.Update(new Schemalizer());
|
||
}
|
||
|
||
public void DataPortal_Update()
|
||
{
|
||
AyaBizUtils._SchemaUpdating = true;
|
||
DBUtil.DB.ClearPool();
|
||
int nSchemaLevelAtStart = int.MaxValue;
|
||
|
||
//There is nothing that can be done in here to handle errors other than to report them
|
||
//If this fails a restore from database is the only option
|
||
using (_cn = DBUtil.DB.GetConnection())
|
||
{
|
||
_cn.Open();
|
||
_tr = _cn.BeginTransaction(System.Data.IsolationLevel.Serializable);
|
||
|
||
|
||
try
|
||
{
|
||
object o = DBUtil.GetScalarFromSQLString("SELECT AGLOBALEX.ADBSCHEMA FROM AGLOBALEX", _tr);
|
||
if (o == null || o == System.DBNull.Value)
|
||
throw new System.ApplicationException("\r\nDBManager-SchemaUpdate: Unable to determine current DB schema version\r\n");
|
||
int nSchemaLevel = (int)o;
|
||
nSchemaLevelAtStart = nSchemaLevel;
|
||
|
||
|
||
switch (DBUtil.DB.DBType)
|
||
{
|
||
/*
|
||
|
||
______ _ ____ _ _
|
||
| ____(_) | _ \(_) | |
|
||
| |__ _ _ __ ___| |_) |_ _ __ __| |
|
||
| __| | | '__/ _ \ _ <| | '__/ _` |
|
||
| | | | | | __/ |_) | | | | (_| |
|
||
|_| |_|_| \___|____/|_|_| \__,_|
|
||
|
||
*/
|
||
case DataBaseType.FireBird:
|
||
{
|
||
#region OLD SCHEMA UPDATES
|
||
|
||
#region Version 4 (AyaNova 3.1 QBI related stuff) New tables
|
||
if (nSchemaLevel < 4)
|
||
{
|
||
|
||
#region Create Integration table
|
||
DDL(
|
||
"CREATE TABLE AINTEGRATION ( " +
|
||
" AID D_GUID NOT NULL, " +
|
||
" ACREATED TIMESTAMP, " +
|
||
" AMODIFIED TIMESTAMP, " +
|
||
" ACREATOR D_GUID, " +
|
||
" AMODIFIER D_GUID, " +
|
||
" AACTIVE D_BOOL NOT NULL, " +
|
||
" ANAME VARCHAR(255) CHARACTER SET UNICODE_FSS NOT NULL COLLATE UNICODE_FSS, " +
|
||
" ALASTCONNECT TIMESTAMP, " +
|
||
" AIOBJECT BLOB SEGMENT SIZE 1, " +
|
||
" AIOBJECTSIZE INTEGER, " +
|
||
" AAPPID D_GUID NOT NULL, " +
|
||
" AAPPVERSION VARCHAR(25) CHARACTER SET UNICODE_FSS NOT NULL COLLATE UNICODE_FSS, " +
|
||
" ASYNCCHECKPOINT VARCHAR(255) CHARACTER SET ASCII COLLATE ASCII); "
|
||
);
|
||
|
||
|
||
//add constraint
|
||
DDL(
|
||
"ALTER TABLE AINTEGRATION ADD CONSTRAINT PK_INTEGR PRIMARY KEY (AID); "
|
||
);
|
||
|
||
|
||
//Add index
|
||
DDL(
|
||
"CREATE UNIQUE INDEX IDX_AINTEGRATION1 ON AINTEGRATION(AAPPID); "
|
||
);
|
||
|
||
|
||
#endregion
|
||
|
||
#region Create IntegrationMap table
|
||
DDL(
|
||
"CREATE TABLE AINTEGRATIONMAP ( " +
|
||
" AID D_GUID NOT NULL, " +
|
||
" ACREATED TIMESTAMP NOT NULL, " +
|
||
" AMODIFIED TIMESTAMP NOT NULL, " +
|
||
" ACREATOR D_GUID NOT NULL, " +
|
||
" AMODIFIER D_GUID NOT NULL, " +
|
||
" AINTEGRATIONID D_GUID NOT NULL, " +
|
||
" AROOTOBJECTID D_GUID NOT NULL, " +
|
||
" AROOTOBJECTTYPE SMALLINT NOT NULL, " +
|
||
" AFOREIGNID VARCHAR(255) CHARACTER SET ASCII NOT NULL COLLATE ASCII, " +
|
||
" ANAME VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS, " +
|
||
" AFOREIGNCHECKSUM VARCHAR(255) CHARACTER SET ASCII COLLATE ASCII, " +
|
||
" AAYANOVACHECKSUM VARCHAR(255) CHARACTER SET ASCII COLLATE ASCII, " +
|
||
" AMAPOBJECT BLOB SEGMENT SIZE 1, " +
|
||
" AMAPOBJECTSIZE INTEGER, " +
|
||
" ALASTSYNC TIMESTAMP NOT NULL); "
|
||
);
|
||
|
||
|
||
|
||
//add constraint
|
||
DDL(
|
||
"ALTER TABLE AINTEGRATIONMAP ADD CONSTRAINT PK_INTMAP PRIMARY KEY (AID);"
|
||
);
|
||
|
||
//add constraint
|
||
DDL(
|
||
"ALTER TABLE AINTEGRATIONMAP ADD CONSTRAINT FK_AINTEGRATIONMAP1 FOREIGN KEY (AINTEGRATIONID) REFERENCES AINTEGRATION(AID);"
|
||
);
|
||
|
||
|
||
//Add index
|
||
DDL(
|
||
"CREATE INDEX IDX_AINTEGRATIONMAP1 ON AINTEGRATIONMAP(AINTEGRATIONID);"
|
||
);
|
||
|
||
//Add index
|
||
DDL(
|
||
"CREATE UNIQUE INDEX IDX_AINTEGRATIONMAP2 ON AINTEGRATIONMAP(AROOTOBJECTID,AROOTOBJECTTYPE);"
|
||
);
|
||
|
||
|
||
#endregion
|
||
|
||
#region Create IntegrationLog table
|
||
DDL(
|
||
"CREATE TABLE AINTEGRATIONLOG ( " +
|
||
" ACREATED TIMESTAMP NOT NULL, " +
|
||
" ACREATOR D_GUID NOT NULL, " +
|
||
" AINTEGRATIONID D_GUID NOT NULL, " +
|
||
" AMESSAGE VARCHAR(500) CHARACTER SET UNICODE_FSS NOT NULL COLLATE UNICODE_FSS); "
|
||
);
|
||
|
||
//add first index
|
||
DDL(
|
||
"CREATE INDEX IDX_AINTEGRATIONLOG1 ON AINTEGRATIONLOG(AINTEGRATIONID);"
|
||
);
|
||
|
||
|
||
//Add second index
|
||
DDL(
|
||
"CREATE INDEX IDX_AINTEGRATIONLOG2 ON AINTEGRATIONLOG(ACREATED);"
|
||
);
|
||
|
||
|
||
#endregion
|
||
|
||
nSchemaLevel = 4;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 5 (AyaNova 3.1 Ayanova related stuff)
|
||
if (nSchemaLevel < 5)
|
||
{
|
||
|
||
|
||
DDL(
|
||
"UPDATE aLocalizedText SET aDisplayText= " +
|
||
"'FALSE restricts access to part entry and selection of parts used within service workorders. TRUE allows access to all inventory functions.' " +
|
||
"WHERE aLocalizedText.aLocale='English' AND aLocalizedText.aKey='Global.Label.UseInventory.Description'"
|
||
);
|
||
|
||
DDL(
|
||
"UPDATE aLocalizedText SET aDisplayText= " +
|
||
"'AyaNova transportable Locale file (*.xml)' " +
|
||
"WHERE aLocalizedText.aLocale='English' AND aLocalizedText.aKey='Locale.Label.LocaleFile'"
|
||
);
|
||
nSchemaLevel = 5;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 6 New table
|
||
if (nSchemaLevel < 6)
|
||
{
|
||
|
||
DDL(
|
||
"CREATE TABLE aUIUserGridLastView ( " +
|
||
"AUSERID D_GUID NOT NULL, " +
|
||
"AGRIDKEY VARCHAR(255) CHARACTER SET ASCII NOT NULL COLLATE ASCII, " +
|
||
"AVIEWXML D_MEMO, " +
|
||
"AFILTERID D_GUID); "
|
||
);
|
||
|
||
|
||
//add constraint
|
||
DDL(
|
||
"ALTER TABLE aUIUserGridLastView ADD CONSTRAINT FK_aUIUserGridLastView1 FOREIGN KEY (AUSERID) REFERENCES AUSER(AID);"
|
||
);
|
||
|
||
|
||
//Add index
|
||
DDL(
|
||
"CREATE INDEX IDX_aUIUserGridLastView1 ON aUIUserGridLastView(AUSERID);"
|
||
);
|
||
|
||
//Add index
|
||
//DDL(
|
||
// "CREATE INDEX IDX_aUIUserGridLastView2 ON aUIUserGridLastView(AGRIDKEY);"
|
||
// );
|
||
|
||
|
||
nSchemaLevel = 6;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 7 new table
|
||
if (nSchemaLevel < 7)
|
||
{
|
||
|
||
DDL(
|
||
"CREATE TABLE aGridFilter ( " +
|
||
"aID D_GUID NOT NULL, " +
|
||
"ACREATED TIMESTAMP, " +
|
||
"AMODIFIED TIMESTAMP, " +
|
||
"ACREATOR D_GUID, " +
|
||
"AMODIFIER D_GUID, " +
|
||
"AGRIDKEY VARCHAR(255) CHARACTER SET ASCII NOT NULL COLLATE ASCII, " +
|
||
"ANAME VARCHAR(255) CHARACTER SET UNICODE_FSS NOT NULL COLLATE UNICODE_FSS, " +
|
||
"AFILTERXML D_MEMO, " +
|
||
"aOnlyUserID D_GUID, " +
|
||
"aOnlySecurityGroupID D_GUID " +
|
||
"); "
|
||
);
|
||
|
||
|
||
//add constraint
|
||
DDL(
|
||
"ALTER TABLE aGridFilter ADD CONSTRAINT FK_aGridFilter1 FOREIGN KEY (aOnlyUserID) REFERENCES AUSER(AID);"
|
||
);
|
||
|
||
DDL(
|
||
"ALTER TABLE aGridFilter ADD CONSTRAINT FK_aGridFilter2 FOREIGN KEY (aOnlySecurityGroupID) REFERENCES ASECURITYGROUP(AID);"
|
||
);
|
||
|
||
|
||
AddNewUserRightToAllSecurityGroups("Object.GridFilter", SecurityLevelTypes.ReadWriteDelete);
|
||
|
||
|
||
nSchemaLevel = 7;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 8 (localized text updates only
|
||
if (nSchemaLevel < 8)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in for 8
|
||
nSchemaLevel = 8;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 9 (localized text updates only
|
||
if (nSchemaLevel < 9)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in for 9
|
||
nSchemaLevel = 9;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 10 (localized text mods only)
|
||
if (nSchemaLevel < 10)
|
||
{
|
||
|
||
//this was missed in the july12 fix for mssql should have been here for firebird as well
|
||
//Added 2-Aug-2006 model is actually the name, not the model number
|
||
//Updates to change unit model to unit "name"
|
||
|
||
DDLNoUpper("UPDATE ALOCALIZEDTEXT SET aDisplayText='Model name, serial number' WHERE ALOCALE='English' AND AKEY='UnitNameDisplayFormats.Label.ModelSerial'");
|
||
|
||
DDLNoUpper("UPDATE ALOCALIZEDTEXT SET aDisplayText='Serial number, model name' WHERE ALOCALE='English' AND AKEY='UnitNameDisplayFormats.Label.SerialModel'");
|
||
|
||
DDLNoUpper("UPDATE ALOCALIZEDTEXT SET aDisplayText='Serial number, model name, vendor' WHERE ALOCALE='English' AND AKEY='UnitNameDisplayFormats.Label.SerialModelVendor'");
|
||
|
||
DDLNoUpper("UPDATE ALOCALIZEDTEXT SET aDisplayText='Vendor, model name, serial number' WHERE ALOCALE='English' AND AKEY='UnitNameDisplayFormats.Label.VendorModelSerial'");
|
||
|
||
|
||
|
||
nSchemaLevel = 10;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 11
|
||
if (nSchemaLevel < 11)
|
||
{
|
||
//Added 2-Aug-2006 cost was not being saved previously in workorderitempart
|
||
//so sets all prior workorderitempart's cost to apart's cost in one go
|
||
DDL("UPDATE aworkorderitempart set acost=(select acost from apart where apart.aid=aworkorderitempart.apartid)");
|
||
nSchemaLevel = 11;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 12
|
||
if (nSchemaLevel < 12)
|
||
{
|
||
//Added 31-Aug-2006 Fixes serial numbers that are still set to available
|
||
//when they should be set to unavailable due to negative inventory adjustment bug
|
||
//fixed in partinventoryadjustmentitem
|
||
//Get a list of security groups
|
||
SafeDataReader dr12 = null;
|
||
ArrayList al12 = new ArrayList();
|
||
try
|
||
{
|
||
dr12 = DBUtil.GetReaderFromSQLString(
|
||
"SELECT " +
|
||
"APARTSERIAL.AID " +
|
||
"FROM " +
|
||
"APARTSERIAL " +
|
||
"INNER JOIN APARTINVENTORYADJUSTMENTITEM ON (APARTINVENTORYADJUSTMENTITEM.AID = APARTSERIAL.AADJUSTMENTID) " +
|
||
"WHERE APARTINVENTORYADJUSTMENTITEM.AQUANTITYADJUSTMENT<0 " +
|
||
"AND " +
|
||
"APARTSERIAL.AAVAILABLE=1 ", _tr);
|
||
while (dr12.Read())
|
||
{
|
||
al12.Add(dr12.GetGuid("aID"));
|
||
|
||
}
|
||
dr12.Close();
|
||
foreach (object o12 in al12)
|
||
{
|
||
|
||
DBCommandWrapper cm12 = DBUtil.GetCommandFromSQL(
|
||
"UPDATE APARTSERIAL SET APARTSERIAL.AAVAILABLE=@FALSE WHERE APARTSERIAL.AID=@ID"
|
||
);
|
||
|
||
|
||
|
||
//Purchase order item fields
|
||
cm12.AddInParameter("@ID", DbType.Guid, (Guid)o12);
|
||
cm12.AddInParameter("@FALSE", DbType.Boolean, false);
|
||
|
||
DBUtil.DB.ExecuteNonQuery(cm12, _tr);
|
||
}
|
||
}
|
||
finally
|
||
{
|
||
if (dr12 != null) dr12.Close();
|
||
}
|
||
nSchemaLevel = 12;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 14
|
||
if (nSchemaLevel < 14)
|
||
{
|
||
|
||
AddNewUserRightToAllSecurityGroups("Object.Workorder.Close", SecurityLevelTypes.ReadWriteDelete);
|
||
|
||
|
||
nSchemaLevel = 14;
|
||
}
|
||
#endregion
|
||
|
||
//v15 got lost somewhere in the shuffle
|
||
|
||
#region Version 16
|
||
if (nSchemaLevel < 16)
|
||
{
|
||
|
||
//Added: 3-Oct-2006
|
||
//to fixup temporary user workaround where we suggested
|
||
//user enter a single space into a serial number field in po receipts where
|
||
//they couldn't enter a quantity of zero received
|
||
DDL("DELETE FROM APARTSERIAL WHERE ASERIALNUMBER=' ' ");
|
||
nSchemaLevel = 16;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 17
|
||
if (nSchemaLevel < 17)
|
||
{
|
||
|
||
//Added: 24-Oct-2006
|
||
//change to unitmeterreading entry form to allow reporting
|
||
//as a result needed to remove the old uiuserformlayout setting
|
||
//so that the new menu will not be overwritten by the saved version
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 " +
|
||
"WHERE AFORMNAME='UnitMeterReading' ");
|
||
nSchemaLevel = 17;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 18
|
||
if (nSchemaLevel < 18)
|
||
{
|
||
//Drop some unused fields from Workorder table
|
||
DDL("ALTER TABLE aworkorder DROP ACUSTOM1");
|
||
DDL("ALTER TABLE aworkorder DROP ACUSTOM2");
|
||
DDL("ALTER TABLE aworkorder DROP ACUSTOM3");
|
||
DDL("ALTER TABLE aworkorder DROP ACUSTOM4");
|
||
DDL("ALTER TABLE aworkorder DROP ACUSTOM5");
|
||
DDL("ALTER TABLE aworkorder DROP ACUSTOM6");
|
||
DDL("ALTER TABLE aworkorder DROP ACUSTOM7");
|
||
DDL("ALTER TABLE aworkorder DROP ACUSTOM8");
|
||
DDL("ALTER TABLE aworkorder DROP ACUSTOM9");
|
||
DDL("ALTER TABLE aworkorder DROP ACUSTOM0");
|
||
|
||
//Added: 7-Nov-2006, WBI client service
|
||
//request changes
|
||
//drop old tables
|
||
|
||
DDL("DROP TABLE ACLIENTREQUESTPART");
|
||
DDL("DROP TABLE ACLIENTREQUESTTECH");
|
||
DDL("DROP TABLE ACLIENTSERVICEREQUESTITEM");
|
||
DDL("ALTER TABLE AWORKORDERSERVICE DROP CONSTRAINT FK_AWORKORDERSERVICE_ACLIENTSER");
|
||
DDL("DROP TABLE ACLIENTSERVICEREQUEST");
|
||
|
||
|
||
|
||
nSchemaLevel = 18;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 19 new table
|
||
if (nSchemaLevel < 19)
|
||
{
|
||
|
||
DDL(
|
||
"CREATE TABLE ACLIENTSERVICEREQUEST ( " +
|
||
"aID D_GUID NOT NULL, " +
|
||
"ACREATED TIMESTAMP, " +
|
||
"AMODIFIED TIMESTAMP, " +
|
||
"ACREATOR D_GUID, " +
|
||
"AMODIFIER D_GUID, " +
|
||
"ATITLE VARCHAR(255) CHARACTER SET UNICODE_FSS NOT NULL COLLATE UNICODE_FSS, " +
|
||
"ADETAILS D_MEMO, " +
|
||
"ACLIENTID D_GUID, " +
|
||
"AUNITID D_GUID, " +
|
||
"AWORKORDERITEMID D_GUID, " +
|
||
"ASTATUS SMALLINT NOT NULL, " +
|
||
"APRIORITY SMALLINT NOT NULL, " +
|
||
"ACLIENTREF VARCHAR(255) CHARACTER SET UNICODE_FSS NOT NULL COLLATE UNICODE_FSS " +
|
||
"); "
|
||
);
|
||
|
||
|
||
|
||
//add PK constraint
|
||
DDL(
|
||
"ALTER TABLE ACLIENTSERVICEREQUEST ADD CONSTRAINT PK_CLNTSRVREQ PRIMARY KEY (AID);"
|
||
);
|
||
|
||
//add FK constraints
|
||
DDL(
|
||
"ALTER TABLE ACLIENTSERVICEREQUEST ADD CONSTRAINT FK_ACLIENTID FOREIGN KEY (ACLIENTID) REFERENCES ACLIENT(AID);"
|
||
);
|
||
|
||
DDL(
|
||
"ALTER TABLE ACLIENTSERVICEREQUEST ADD CONSTRAINT FK_AUNITID FOREIGN KEY (AUNITID) REFERENCES AUNIT(AID);"
|
||
);
|
||
DDL(
|
||
"ALTER TABLE ACLIENTSERVICEREQUEST ADD CONSTRAINT FK_AWOITEMID FOREIGN KEY (AWORKORDERITEMID) REFERENCES AWORKORDERITEM(AID);"
|
||
);
|
||
|
||
|
||
|
||
|
||
nSchemaLevel = 19;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 20 (localized text updates only
|
||
if (nSchemaLevel < 20)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in
|
||
nSchemaLevel = 20;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 21
|
||
if (nSchemaLevel < 21)
|
||
{
|
||
//RESET THE EXPLORER BAR LAYOUT SIZE TO 0
|
||
//THIS WILL CAUSE FORM1 TO NOT LOAD THE LAYOUT
|
||
//WHICH WILL THEN CAUSE THE NEW CLIENTSERVICEREQUESTS ITEM
|
||
//TO NOT GET WRITTEN OVER AND THE NEXT CLOSE IT WILL SAVE
|
||
//AND THE LAYOUT WILL BE LOADED NORMALLY ON NEXT OPEN
|
||
DDL("UPDATE AUIEXPLORERBARLAYOUT SET ALAYOUTSIZE=0");
|
||
nSchemaLevel = 21;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 22 (localized text updates only
|
||
if (nSchemaLevel < 22)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in
|
||
nSchemaLevel = 22;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 23
|
||
if (nSchemaLevel < 23)
|
||
{
|
||
//RESET THE MEMOREADER form layout so that the new
|
||
//print toolbar option won't throw an exception
|
||
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='MemoReader'");
|
||
nSchemaLevel = 23;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 24
|
||
if (nSchemaLevel < 24)
|
||
{
|
||
//RESET THE PART form layout so that the new
|
||
//print toolbar option won't throw an exception
|
||
//case 167
|
||
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='PartInfo'");
|
||
nSchemaLevel = 24;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 25 (localized text updates only
|
||
if (nSchemaLevel < 25)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in
|
||
nSchemaLevel = 25;
|
||
}
|
||
#endregion
|
||
|
||
//Released 3.3.0 at schema 25
|
||
|
||
#region Version 26
|
||
if (nSchemaLevel < 26)
|
||
{
|
||
//RESET THE service bank form layout so that the new
|
||
//print toolbar option won't throw an exception
|
||
//case 126
|
||
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='ServiceBank'");
|
||
|
||
|
||
//Prior schema updates were not using the NoUpper version so they wouldn't have worked for
|
||
//firebird possibly sql when it came to resetting the toolbar so to be safe I'm
|
||
//putting them back in here
|
||
//v17
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 " +
|
||
"WHERE AFORMNAME='UnitMeterReading' ");
|
||
//v23
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='MemoReader'");
|
||
|
||
//v24
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='PartInfo'");
|
||
|
||
nSchemaLevel = 26;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 27 (localized text updates only
|
||
if (nSchemaLevel < 27)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in
|
||
nSchemaLevel = 27;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 28 Case 242 NOW DOES NOTHING, KEPT FOR CONSISTENCY
|
||
if (nSchemaLevel < 28)
|
||
{
|
||
//DO NOTHING, THIS IS FIXED BY BACKING UP AND RESTORING THE FIREBIRD DATABASE,NOT BY
|
||
//THE CODE BELOW, BUT KEEPING THIS SCHEMA LEVEL BECAUSE WE'VE ALREADY UPDATED OUR TEST DB'S
|
||
//TO IT
|
||
|
||
//repair apparently damaged foreign key constraints from adding csr table in schema update 19
|
||
//Case 242
|
||
|
||
|
||
////Drop FK constraints
|
||
//DDL(
|
||
// "ALTER TABLE ACLIENTSERVICEREQUEST DROP CONSTRAINT FK_ACLIENTID;"
|
||
// );
|
||
|
||
//DDL(
|
||
// "ALTER TABLE ACLIENTSERVICEREQUEST DROP CONSTRAINT FK_AUNITID;"
|
||
// );
|
||
//DDL(
|
||
// "ALTER TABLE ACLIENTSERVICEREQUEST DROP CONSTRAINT FK_AWOITEMID;"
|
||
// );
|
||
|
||
|
||
////add FK constraints
|
||
//DDL(
|
||
// "ALTER TABLE ACLIENTSERVICEREQUEST ADD CONSTRAINT FK_ACLIENTID FOREIGN KEY (ACLIENTID) REFERENCES ACLIENT(AID);"
|
||
// );
|
||
|
||
//DDL(
|
||
// "ALTER TABLE ACLIENTSERVICEREQUEST ADD CONSTRAINT FK_AUNITID FOREIGN KEY (AUNITID) REFERENCES AUNIT(AID);"
|
||
// );
|
||
//DDL(
|
||
// "ALTER TABLE ACLIENTSERVICEREQUEST ADD CONSTRAINT FK_AWOITEMID FOREIGN KEY (AWORKORDERITEMID) REFERENCES AWORKORDERITEM(AID);"
|
||
// );
|
||
|
||
|
||
|
||
|
||
nSchemaLevel = 28;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 29 Case 329
|
||
if (nSchemaLevel < 29)
|
||
{
|
||
|
||
DDL("DROP INDEX IDX_AINTEGRATIONMAP2");
|
||
|
||
//Case 329 add aintegrationid to index
|
||
DDL(
|
||
"CREATE UNIQUE INDEX IDX_AINTEGRATIONMAP2 ON AINTEGRATIONMAP(AROOTOBJECTID,AROOTOBJECTTYPE,AINTEGRATIONID);"
|
||
);
|
||
|
||
nSchemaLevel = 29;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 30 (localized text updates only
|
||
if (nSchemaLevel < 30)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in for 30
|
||
nSchemaLevel = 30;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 31 (Case 420 new fields)
|
||
if (nSchemaLevel < 31)
|
||
{
|
||
//6 RATES FOR SET TIME PERIODS
|
||
DDL("ALTER TABLE ALOANITEM ADD ARATEHOUR DECIMAL(18,5) DEFAULT 0 NOT NULL");
|
||
DDL("ALTER TABLE ALOANITEM ADD ARATEHALFDAY DECIMAL(18,5) DEFAULT 0 NOT NULL");
|
||
DDL("ALTER TABLE ALOANITEM ADD ARATEDAY DECIMAL(18,5) DEFAULT 0 NOT NULL");
|
||
DDL("ALTER TABLE ALOANITEM ADD ARATEWEEK DECIMAL(18,5) DEFAULT 0 NOT NULL");
|
||
DDL("ALTER TABLE ALOANITEM ADD ARATEMONTH DECIMAL(18,5) DEFAULT 0 NOT NULL");
|
||
DDL("ALTER TABLE ALOANITEM ADD ARATEYEAR DECIMAL(18,5) DEFAULT 0 NOT NULL");
|
||
|
||
//WORKORDERITEMLOAN TABLE ADDITIONS
|
||
//quantity which defaults to 1, used in initial calcs only when first selecting rate / quant
|
||
//which fills in charges field that already exists; afterwards just for display and reporting purposes
|
||
DDL("ALTER TABLE AWORKORDERITEMLOAN ADD AQUANTITY DECIMAL(18,5) DEFAULT 1 NOT NULL");
|
||
//rate selected (0=no rate just manual to replicate previous behaviour, 1-6 corresponds to rates above from loanitem)
|
||
//used for initial entry and reporting / review purposes afterwards
|
||
DDL("ALTER TABLE AWORKORDERITEMLOAN ADD ARATE SMALLINT DEFAULT 0 NOT NULL");
|
||
nSchemaLevel = 31;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 32 (localized text updates only
|
||
if (nSchemaLevel < 32)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in for 32
|
||
nSchemaLevel = 32;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 33 (localized text updates only
|
||
if (nSchemaLevel < 33)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in for 33
|
||
nSchemaLevel = 33;
|
||
}
|
||
#endregion
|
||
#region Version 34 (localized text updates only
|
||
if (nSchemaLevel < 34)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in for 34
|
||
nSchemaLevel = 34;
|
||
}
|
||
#endregion
|
||
#region Version 35 (localized text updates only
|
||
if (nSchemaLevel < 35)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in for 35
|
||
nSchemaLevel = 35;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 36 Case 524 mssql update only
|
||
if (nSchemaLevel < 36)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version s
|
||
//This update is for indexes in MSSQL only that did not get
|
||
//imported by tomssql; they already exist here
|
||
nSchemaLevel = 36;
|
||
}
|
||
#endregion
|
||
|
||
#region AyaNova 4.x
|
||
|
||
#region Version 37 (localized text updates only
|
||
if (nSchemaLevel < 37)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in for 37
|
||
nSchemaLevel = 37;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 38 (localized text updates only
|
||
if (nSchemaLevel < 38)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in for 38
|
||
nSchemaLevel = 38;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 39 (localized text updates only
|
||
if (nSchemaLevel < 39) { nSchemaLevel = 39; }
|
||
#endregion
|
||
|
||
|
||
#region Version 40
|
||
if (nSchemaLevel < 40)
|
||
{
|
||
//Case 476
|
||
DDL("DELETE FROM APARTBYWAREHOUSEINVENTORY WHERE " +
|
||
"AQUANTITYONHAND=0 AND AQUANTITYONORDER=0 AND AMINSTOCKLEVEL=0 AND AQTYONORDERCOMMITTED=0 ");
|
||
//Case 563
|
||
DDL("ALTER TABLE APARTBYWAREHOUSEINVENTORY DROP AACTIVE");
|
||
nSchemaLevel = 40;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 41 (localized text updates only
|
||
if (nSchemaLevel < 41) { nSchemaLevel = 41; }
|
||
#endregion
|
||
|
||
#region Version 42 new table
|
||
if (nSchemaLevel < 42)
|
||
{
|
||
|
||
DDL(
|
||
"CREATE TABLE AUSERMRU ( " +
|
||
"AID D_GUID NOT NULL, " +
|
||
"ACREATED TIMESTAMP, " +
|
||
"AUSERID D_GUID, " +
|
||
"AOBJECTID D_GUID, " +
|
||
"AOBJECTTYPE SMALLINT NOT NULL " +
|
||
"); "
|
||
);
|
||
|
||
nSchemaLevel = 42;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 43 (localized text updates only
|
||
if (nSchemaLevel < 43) { nSchemaLevel = 43; }
|
||
#endregion
|
||
|
||
#region Version 44 (add column to user table)
|
||
if (nSchemaLevel < 44)
|
||
{
|
||
DDL("ALTER TABLE AUSER ADD ALASTSCHEDGROUPID D_GUID DEFAULT '{A51ECBE7-792F-45bc-A88D-B16E7E6B1CDD}' NOT NULL");
|
||
nSchemaLevel = 44;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 45 (add column to workorder table)
|
||
if (nSchemaLevel < 45)
|
||
{
|
||
DDL("ALTER TABLE AWORKORDER DROP ATEMPLATE");
|
||
DDL("ALTER TABLE AWORKORDER DROP ATEMPLATEID");
|
||
DDL("ALTER TABLE AWORKORDER ADD ATEMPLATEDESCRIPTION VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
nSchemaLevel = 45;
|
||
}
|
||
#endregion
|
||
|
||
|
||
|
||
#region Version 46 (add template columns, drop deprecated ones)
|
||
if (nSchemaLevel < 46)
|
||
{
|
||
//USER
|
||
DDL("ALTER TABLE AUSER DROP AWORKORDERTEMPLATE");
|
||
DDL("ALTER TABLE AUSER DROP AQUOTETEMPLATE");
|
||
DDL("ALTER TABLE AUSER DROP APURCHASEORDERTEMPLATE");
|
||
DDL("ALTER TABLE AUSER ADD ADEFAULTSERVICETEMPLATEID D_GUID COLLATE ASCII");
|
||
DDL("ALTER TABLE AUSER ADD CONSTRAINT FK_USERTEMPLATE FOREIGN KEY (ADEFAULTSERVICETEMPLATEID) REFERENCES AWORKORDER(AID);");
|
||
|
||
//CLIENT
|
||
DDL("ALTER TABLE ACLIENT DROP ASERVICETEMPLATEID");
|
||
DDL("ALTER TABLE ACLIENT ADD ADEFAULTSERVICETEMPLATEID D_GUID COLLATE ASCII");
|
||
DDL("ALTER TABLE ACLIENT ADD CONSTRAINT FK_CLIENTTEMPLATE FOREIGN KEY (ADEFAULTSERVICETEMPLATEID) REFERENCES AWORKORDER(AID);");
|
||
|
||
//GLOBAL
|
||
DDL("ALTER TABLE AGLOBAL DROP AWORKORDERTEMPLATE");
|
||
DDL("ALTER TABLE AGLOBAL DROP AQUOTETEMPLATE");
|
||
DDL("ALTER TABLE AGLOBAL DROP APURCHASEORDERTEMPLATE");
|
||
DDL("ALTER TABLE AGLOBAL ADD ADEFAULTSERVICETEMPLATEID D_GUID COLLATE ASCII");
|
||
DDL("ALTER TABLE AGLOBAL ADD CONSTRAINT FK_GLOBALTEMPLATE FOREIGN KEY (ADEFAULTSERVICETEMPLATEID) REFERENCES AWORKORDER(AID);");
|
||
|
||
//REGION - UNUSED
|
||
DDL("ALTER TABLE AREGION DROP AWORKORDERTEMPLATE");
|
||
DDL("ALTER TABLE AREGION DROP AQUOTETEMPLATE");
|
||
DDL("ALTER TABLE AREGION DROP APURCHASEORDERTEMPLATE");
|
||
nSchemaLevel = 46;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 47 (localized text updates only
|
||
if (nSchemaLevel < 47) { nSchemaLevel = 47; }
|
||
#endregion
|
||
|
||
#region Version 48 (Case 432 contactnotes)
|
||
if (nSchemaLevel < 48)
|
||
{
|
||
DDL("ALTER TABLE ACLIENT ADD ACONTACTNOTES D_MEMO");
|
||
DDL("ALTER TABLE ACLIENT ADD ACONTACT VARCHAR(500) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE ACLIENT ADD APHONE1 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE ACLIENT ADD APHONE2 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE ACLIENT ADD APHONE3 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE ACLIENT ADD APHONE4 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE ACLIENT ADD APHONE5 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE ACLIENT ADD AEMAIL VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
|
||
DDL("ALTER TABLE AVENDOR ADD ACONTACTNOTES D_MEMO");
|
||
DDL("ALTER TABLE AVENDOR ADD ACONTACT VARCHAR(500) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE AVENDOR ADD APHONE1 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE AVENDOR ADD APHONE2 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE AVENDOR ADD APHONE3 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE AVENDOR ADD APHONE4 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE AVENDOR ADD APHONE5 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE AVENDOR ADD AEMAIL VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
|
||
DDL("ALTER TABLE AHEADOFFICE ADD ACONTACTNOTES D_MEMO");
|
||
DDL("ALTER TABLE AHEADOFFICE ADD ACONTACT VARCHAR(500) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE AHEADOFFICE ADD APHONE1 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE AHEADOFFICE ADD APHONE2 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE AHEADOFFICE ADD APHONE3 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE AHEADOFFICE ADD APHONE4 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE AHEADOFFICE ADD APHONE5 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE AHEADOFFICE ADD AEMAIL VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
|
||
nSchemaLevel = 48;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 49 (Migrate contact data)
|
||
if (nSchemaLevel < 49) { nSchemaLevel = 49; }
|
||
#endregion
|
||
|
||
#region Version 50 (Case 71 follow ups)
|
||
if (nSchemaLevel < 50)
|
||
{
|
||
DDL("ALTER TABLE ASCHEDULEMARKER ADD AFOLLOWID D_GUID COLLATE ASCII");
|
||
DDL("ALTER TABLE ASCHEDULEMARKER ADD AFOLLOWTYPE SMALLINT");
|
||
//Add index
|
||
DDL(
|
||
"CREATE INDEX IDX_FOLLOWID ON ASCHEDULEMARKER(AFOLLOWID);"
|
||
);
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='ClientInfo'");
|
||
nSchemaLevel = 50;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 51 (Case 71 follow ups)
|
||
if (nSchemaLevel < 51)
|
||
{
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='WorkorderInfo'");
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='HeadOfficeInfo'");
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='UnitInfo'");
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='VendorInfo'");
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='ContractInfo'");
|
||
nSchemaLevel = 51;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 52 (localized text updates only
|
||
if (nSchemaLevel < 52) { nSchemaLevel = 52; }
|
||
#endregion
|
||
|
||
#region Version 53 (localized text updates only
|
||
if (nSchemaLevel < 53) { nSchemaLevel = 53; }
|
||
#endregion
|
||
|
||
|
||
#region Version 54 (Case 619)
|
||
if (nSchemaLevel < 54)
|
||
{
|
||
DDLNoUpper("DELETE FROM AUSERRIGHT WHERE ARIGHT='Object.ClientRequestPart'");
|
||
DDLNoUpper("DELETE FROM AUSERRIGHT WHERE ARIGHT='Object.ClientRequestTech'");
|
||
//Object.ClientServiceRequestItem
|
||
DDLNoUpper("DELETE FROM AUSERRIGHT WHERE ARIGHT='Object.ClientServiceRequestItem'");
|
||
DDLNoUpper("DELETE FROM AUSERRIGHT WHERE ARIGHT='Object.ContractPart'");
|
||
|
||
nSchemaLevel = 54;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 55 (Case 618)
|
||
if (nSchemaLevel < 55)
|
||
{
|
||
DDLNoUpper("DELETE FROM AUSERRIGHT WHERE ARIGHT='Object.UserRight'");
|
||
|
||
nSchemaLevel = 55;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 56 (localized text updates only
|
||
if (nSchemaLevel < 56) { nSchemaLevel = 56; }
|
||
#endregion
|
||
|
||
#region Version 57 (add column to user table)
|
||
if (nSchemaLevel < 57)
|
||
{
|
||
DDL("ALTER TABLE AUSER DROP ALASTSCHEDGROUPID");
|
||
DDL("ALTER TABLE AUSER ADD ALASTSCHEDGROUPID D_GUID DEFAULT '{A51ECBE7-792F-45bc-A88D-B16E7E6B1CDD}'");
|
||
nSchemaLevel = 57;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 58 (localized text updates only
|
||
if (nSchemaLevel < 58) { nSchemaLevel = 58; }
|
||
#endregion
|
||
|
||
#region Version 59 (localized text updates only
|
||
if (nSchemaLevel < 59) { nSchemaLevel = 59; }
|
||
#endregion
|
||
|
||
#region Version 60 (Update contract expiry dates if null)
|
||
if (nSchemaLevel < 60) { nSchemaLevel = 60; }
|
||
#endregion
|
||
|
||
#endregion AyaNova 4.x
|
||
|
||
|
||
|
||
#region Firebird AyaNova 5.0
|
||
|
||
#region Version 61 (add region column to various tables)
|
||
if (nSchemaLevel < 61)
|
||
{
|
||
DDL("ALTER TABLE ACONTRACT ADD AREGIONID D_GUID DEFAULT '{8236E8D1-CAB1-4797-9C34-93861954AE6A}'");
|
||
DDL("ALTER TABLE ACONTRACT ADD CONSTRAINT FK_CONTRACTREGION FOREIGN KEY (AREGIONID) REFERENCES AREGION(AID);");
|
||
|
||
DDL("ALTER TABLE ALOANITEM ADD AREGIONID D_GUID DEFAULT '{8236E8D1-CAB1-4797-9C34-93861954AE6A}'");
|
||
DDL("ALTER TABLE ALOANITEM ADD CONSTRAINT FK_LOANREGION FOREIGN KEY (AREGIONID) REFERENCES AREGION(AID);");
|
||
|
||
DDL("ALTER TABLE ADISPATCHZONE ADD AREGIONID D_GUID DEFAULT '{8236E8D1-CAB1-4797-9C34-93861954AE6A}'");
|
||
DDL("ALTER TABLE ADISPATCHZONE ADD CONSTRAINT FK_ZONEREGION FOREIGN KEY (AREGIONID) REFERENCES AREGION(AID);");
|
||
|
||
DDL("ALTER TABLE APROJECT ADD AREGIONID D_GUID DEFAULT '{8236E8D1-CAB1-4797-9C34-93861954AE6A}'");
|
||
DDL("ALTER TABLE APROJECT ADD CONSTRAINT FK_PROJECTREGION FOREIGN KEY (AREGIONID) REFERENCES AREGION(AID);");
|
||
|
||
DDL("ALTER TABLE ARATE ADD AREGIONID D_GUID DEFAULT '{8236E8D1-CAB1-4797-9C34-93861954AE6A}'");
|
||
DDL("ALTER TABLE ARATE ADD CONSTRAINT FK_RATEREGION FOREIGN KEY (AREGIONID) REFERENCES AREGION(AID);");
|
||
|
||
DDL("ALTER TABLE AREPORT ADD AREGIONID D_GUID DEFAULT '{8236E8D1-CAB1-4797-9C34-93861954AE6A}'");
|
||
DDL("ALTER TABLE AREPORT ADD CONSTRAINT FK_REPORTREGION FOREIGN KEY (AREGIONID) REFERENCES AREGION(AID);");
|
||
|
||
DDL("ALTER TABLE APARTWAREHOUSE ADD AREGIONID D_GUID DEFAULT '{8236E8D1-CAB1-4797-9C34-93861954AE6A}'");
|
||
DDL("ALTER TABLE APARTWAREHOUSE ADD CONSTRAINT FK_WHSREGION FOREIGN KEY (AREGIONID) REFERENCES AREGION(AID);");
|
||
|
||
nSchemaLevel = 61;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 62 WIKI stuff case 73
|
||
if (nSchemaLevel < 62)
|
||
{
|
||
DDL(
|
||
"CREATE TABLE AWIKIPAGE ( " +
|
||
" AID D_GUID NOT NULL, " +
|
||
" ACREATED TIMESTAMP, " +
|
||
" AMODIFIED TIMESTAMP, " +
|
||
" ACREATOR D_GUID, " +
|
||
" AMODIFIER D_GUID, " +
|
||
" AROOTOBJECTID D_GUID NOT NULL, " +
|
||
" AROOTOBJECTTYPE SMALLINT NOT NULL, " +
|
||
" ATITLE VARCHAR(255) CHARACTER SET UNICODE_FSS NOT NULL COLLATE UNICODE_FSS, " +
|
||
" AWOBJECT BLOB SEGMENT SIZE 1, " +
|
||
" AWOBJECTSIZE INTEGER, " +
|
||
" AINTERNALONLY D_BOOL NOT NULL); "
|
||
);
|
||
|
||
|
||
//add constraint
|
||
DDL(
|
||
"ALTER TABLE AWIKIPAGE ADD CONSTRAINT PK_WIK PRIMARY KEY (AID); "
|
||
);
|
||
|
||
|
||
//Add index
|
||
DDL(
|
||
"CREATE INDEX IDX_AWIKI1 ON AWIKIPAGE(AROOTOBJECTID); "
|
||
);
|
||
|
||
|
||
DDL(
|
||
"CREATE TABLE AFILE ( " +
|
||
" AID D_GUID NOT NULL, " +
|
||
" ACREATED TIMESTAMP, " +
|
||
" AMODIFIED TIMESTAMP, " +
|
||
" ACREATOR D_GUID, " +
|
||
" AMODIFIER D_GUID, " +
|
||
" AROOTOBJECTID D_GUID NOT NULL, " +
|
||
" AROOTOBJECTTYPE SMALLINT NOT NULL, " +
|
||
" AFILETYPE SMALLINT NOT NULL, " +
|
||
" ANAME VARCHAR(255) CHARACTER SET UNICODE_FSS NOT NULL COLLATE UNICODE_FSS, " +
|
||
" AFILESIZE INTEGER, " +
|
||
" AFOBJECT BLOB SEGMENT SIZE 1, " +
|
||
" AFOBJECTSIZE INTEGER); "
|
||
);
|
||
|
||
//add constraint
|
||
DDL(
|
||
"ALTER TABLE AFILE ADD CONSTRAINT PK_AFILE PRIMARY KEY (AID); "
|
||
);
|
||
|
||
|
||
//Add index
|
||
DDL(
|
||
"CREATE INDEX IDX_AFILE1 ON AFILE(AROOTOBJECTID); "
|
||
);
|
||
|
||
nSchemaLevel = 62;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 63 WIKI rights case 73
|
||
if (nSchemaLevel < 63)
|
||
{
|
||
AddNewUserRightToAllSecurityGroups("Object.WikiPage", SecurityLevelTypes.ReadWriteDelete);
|
||
AddNewUserRightToAllSecurityGroups("Object.AyaFile", SecurityLevelTypes.ReadWriteDelete);
|
||
nSchemaLevel = 63;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 64 WIKI global.maxfileuploadsize case 73
|
||
if (nSchemaLevel < 64)
|
||
{
|
||
|
||
DDL("ALTER TABLE AGLOBAL ADD AMAXFILESIZEMB INTEGER");
|
||
nSchemaLevel = 64;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 65 (localized text updates only case 73
|
||
if (nSchemaLevel < 65) { nSchemaLevel = 65; }
|
||
#endregion
|
||
|
||
#region Version 66 Global WIKI rights case 73
|
||
if (nSchemaLevel < 66)
|
||
{
|
||
AddNewUserRightToAllSecurityGroups("Object.GlobalWikiPage", SecurityLevelTypes.ReadWriteDelete);
|
||
nSchemaLevel = 66;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 67 (localized text updates only case 73
|
||
if (nSchemaLevel < 67) { nSchemaLevel = 67; }
|
||
#endregion
|
||
|
||
#region Version 68 blow away all toolbar and explorer bar saved settings rights case 73
|
||
if (nSchemaLevel < 68)
|
||
{
|
||
//version xx blow away all toolbar settings
|
||
//so new wiki item shows up
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0");
|
||
DDL("UPDATE AUIEXPLORERBARLAYOUT SET ALAYOUTSIZE=0");
|
||
nSchemaLevel = 68;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 69 (localized text updates only case 73
|
||
if (nSchemaLevel < 69) { nSchemaLevel = 69; }
|
||
#endregion
|
||
|
||
#region Version 70 blow away all toolbar and explorer bar saved settings for new icons case 918
|
||
if (nSchemaLevel < 70)
|
||
{
|
||
//version xx blow away all toolbar settings
|
||
//so new wiki item shows up
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0");
|
||
DDL("UPDATE AUIEXPLORERBARLAYOUT SET ALAYOUTSIZE=0");
|
||
nSchemaLevel = 70;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 71 CLIENT NOTIFICATION case 53
|
||
if (nSchemaLevel < 71)
|
||
{
|
||
|
||
//CREATE CLIENT NOTIFICATION EVEN TABLE
|
||
DDL(
|
||
"CREATE TABLE ACLIENTNOTIFYEVENT ( " +
|
||
" AID D_GUID NOT NULL, " +
|
||
" ACREATED TIMESTAMP, " +
|
||
" AMODIFIED TIMESTAMP, " +
|
||
" ACREATOR D_GUID, " +
|
||
" AMODIFIER D_GUID, " +
|
||
" ACLIENTID D_GUID NOT NULL, " +
|
||
" ADELIVERAFTER TIMESTAMP, " +
|
||
" AOBJECT BLOB SEGMENT SIZE 1, " +
|
||
" AOBJECTSIZE INTEGER); "
|
||
);
|
||
|
||
//ADD FIELD TO DELIVERY LOG FOR THIS TYPE OF DELIVERY
|
||
DDL("ALTER TABLE ANOTIFYDELIVERYLOG ADD ATOCLIENTID D_GUID");
|
||
|
||
//ADD NOTIFICATION FIELDS TO REGION OBJECT
|
||
DDL("ALTER TABLE AREGION ADD ACLIENTNOTIFICATION D_BOOL DEFAULT 0 NOT NULL");
|
||
DDL("ALTER TABLE AREGION ADD AREPLYTOEMAIL VARCHAR(512) CHARACTER SET UNICODE_FSS NOT NULL COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE AREGION ADD AWBIURL VARCHAR(512) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYCSRACCEPTED D_BOOL DEFAULT 0 NOT NULL");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYCSRMSG D_MEMO");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYCSRREJECTED D_BOOL DEFAULT 0 NOT NULL");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYCSRREJECTMSG D_MEMO");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYNEWWO D_BOOL DEFAULT 0 NOT NULL");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYNEWWOMSG D_MEMO");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOSTATUS D_BOOL DEFAULT 0 NOT NULL");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOSTATMSG D_MEMO");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOSTATUSID D_GUID");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOCLOSED D_BOOL DEFAULT 0 NOT NULL");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOCLOSEDMSG D_MEMO");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOCLOSEDATTACHWO D_BOOL DEFAULT 0 NOT NULL");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOCLOSEDRPT D_GUID");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOFOLLOWUP D_BOOL DEFAULT 0 NOT NULL");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOFOLLOWUPMSG D_MEMO");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOFOLLOWUPDAYS INTEGER DEFAULT 10");
|
||
|
||
//ADD FIELD FOR NOTIFICATION TO CLIENT OBJECT
|
||
DDL("ALTER TABLE ACLIENT ADD ASENDNOTIFICATIONS D_BOOL DEFAULT 1 NOT NULL");
|
||
|
||
nSchemaLevel = 71;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 72 (localized text updates only case 53
|
||
if (nSchemaLevel < 72) { nSchemaLevel = 72; }
|
||
#endregion
|
||
|
||
#region Version 73 (localized text updates only case 29
|
||
if (nSchemaLevel < 73) { nSchemaLevel = 73; }
|
||
#endregion
|
||
|
||
#region Version 74 PROJECT ON PO CASE 49
|
||
if (nSchemaLevel < 74)
|
||
{
|
||
DDL("ALTER TABLE APURCHASEORDER ADD APROJECTID D_GUID");
|
||
DDL("ALTER TABLE APURCHASEORDER ADD CONSTRAINT FK_POPROJECT FOREIGN KEY (APROJECTID) REFERENCES APROJECT(AID);");
|
||
|
||
nSchemaLevel = 74;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 75 CASE 78 - NEW TEXT FIELDS FOR UNIT AND PORECEIPT
|
||
if (nSchemaLevel < 75)
|
||
{
|
||
DDL("ALTER TABLE AUNIT ADD ATEXT1 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE AUNIT ADD ATEXT2 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE AUNIT ADD ATEXT3 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE AUNIT ADD ATEXT4 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
|
||
DDL("ALTER TABLE APURCHASEORDERRECEIPT ADD ATEXT1 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
DDL("ALTER TABLE APURCHASEORDERRECEIPT ADD ATEXT2 VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
|
||
nSchemaLevel = 75;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 76 CASE 251 banked travel
|
||
if (nSchemaLevel < 76)
|
||
{
|
||
DDL("ALTER TABLE AWORKORDERITEMTRAVEL ADD ASERVICEBANKID D_GUID");
|
||
DDL("ALTER TABLE AWORKORDERITEMTRAVEL ADD CONSTRAINT FK_WOIT_SBANK FOREIGN KEY (ASERVICEBANKID) REFERENCES ASERVICEBANK(AID);");
|
||
|
||
nSchemaLevel = 76;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 77 (localized text updates only case 866 generate unit from workorder part
|
||
if (nSchemaLevel < 77) { nSchemaLevel = 77; }
|
||
#endregion
|
||
|
||
#region Version 78 case 816
|
||
if (nSchemaLevel < 78)
|
||
{
|
||
//THERE WAS AN ERROR HERE, NOT NULL NEEDS TO BE THE *LAST* ITEM ON THE ADD COLUMN STATEMENT
|
||
//OR A BUNCH OF WIERD ERRORS OCCUR, I.E.:
|
||
/*
|
||
* No message for error code 335544569 found.
|
||
No message for error code 335544436 found.
|
||
No message for error code 335544578 found.
|
||
No message for error code 335544382 found.
|
||
No message for error code 336397208 found.
|
||
* */
|
||
DDL("ALTER TABLE AGLOBAL ADD aLaborSchedUserDfltTimeSpan INTEGER DEFAULT 60 NOT NULL");
|
||
DDL("ALTER TABLE AGLOBAL ADD aTravelDfltTimeSpan INTEGER DEFAULT 60 NOT NULL");
|
||
nSchemaLevel = 78;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 79 (localized text updates only case 984
|
||
if (nSchemaLevel < 79) { nSchemaLevel = 79; }
|
||
#endregion
|
||
|
||
#region Version 80 (localized text updates only case 764, case 765
|
||
if (nSchemaLevel < 80) { nSchemaLevel = 80; }
|
||
#endregion
|
||
|
||
#region Version 81 CASE 36 report security group restriction
|
||
if (nSchemaLevel < 81)
|
||
{
|
||
DDL("ALTER TABLE AREPORT ADD ASECURITYGROUPID D_GUID");
|
||
|
||
nSchemaLevel = 81;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 82 (localized text updates only case 1011
|
||
if (nSchemaLevel < 82) { nSchemaLevel = 82; }
|
||
#endregion
|
||
|
||
#region Version 83 case 1038 new toolbar layout saving
|
||
if (nSchemaLevel < 83)
|
||
{
|
||
DDL("ALTER TABLE AUIUSERFORMSETTING DROP AFORMWIDTH");
|
||
DDL("ALTER TABLE AUIUSERFORMSETTING DROP AFORMHEIGHT");
|
||
DDL("ALTER TABLE AUIUSERFORMSETTING DROP ASPLITPOSITION1");
|
||
DDL("ALTER TABLE AUIUSERFORMSETTING DROP ASPLITPOSITION2");
|
||
DDL("ALTER TABLE AUIUSERFORMSETTING DROP ALOCATIONX");
|
||
DDL("ALTER TABLE AUIUSERFORMSETTING DROP ALOCATIONY");
|
||
DDL("ALTER TABLE AUIUSERFORMSETTING DROP ATOOLBARMANAGERLAYOUTSIZE");
|
||
DDL("ALTER TABLE AUIUSERFORMSETTING DROP ATOOLBARMANAGERLAYOUTCONTENT");
|
||
DDL("ALTER TABLE AUIUSERFORMSETTING ADD ALAYOUT D_MEMO");
|
||
|
||
nSchemaLevel = 83;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 84 (localized text updates only case 829)
|
||
if (nSchemaLevel < 84) { nSchemaLevel = 84; }
|
||
#endregion
|
||
|
||
#region Version 85 (localized text updates only case 864)
|
||
if (nSchemaLevel < 85) { nSchemaLevel = 85; }
|
||
#endregion
|
||
|
||
#region Version 86 //CASE 848
|
||
if (nSchemaLevel < 86)
|
||
{
|
||
DDL("ALTER TABLE ACLIENTSERVICEREQUEST ADD AREQUESTEDBY VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
|
||
nSchemaLevel = 86;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 87 (localized text updates only case 857)
|
||
if (nSchemaLevel < 87) { nSchemaLevel = 87; }
|
||
#endregion
|
||
|
||
#endregion firebird ayanova 5.0
|
||
|
||
#region FireBird AyaNova 6.0
|
||
|
||
#region Version 88 (localized text updates only case 1204)
|
||
|
||
if (nSchemaLevel < 88) { nSchemaLevel = 88; }
|
||
#endregion
|
||
|
||
#region Version 89 case 1136
|
||
|
||
if (nSchemaLevel < 89)
|
||
{
|
||
DDL("ALTER TABLE AGLOBAL ADD aNotifyEncryption VARCHAR(255) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS");
|
||
nSchemaLevel = 89;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 90 case 1219
|
||
|
||
if (nSchemaLevel < 90)
|
||
{
|
||
DDL("ALTER TABLE AUSER ADD ALASTSCHEDSTARTDATE TIMESTAMP");
|
||
DDL("ALTER TABLE AUSER ADD ALASTSCHEDSTOPDATE TIMESTAMP");
|
||
DDL("ALTER TABLE AUSER ADD ALASTSCHEDVIEW SMALLINT");
|
||
nSchemaLevel = 90;
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region Version 91 (Case 1163)
|
||
if (nSchemaLevel < 91)
|
||
{
|
||
//9999 = empty
|
||
DDL("ALTER TABLE AUSER ADD ATIMEZONEOFFSET DECIMAL(18,5) DEFAULT 9999 NOT NULL");
|
||
nSchemaLevel = 91;
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region Version 92 (Case 1290 Firebird indexes)
|
||
if (nSchemaLevel < 92)
|
||
{
|
||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
//
|
||
DDL("CREATE INDEX IDX6_AVENDOR_CVR ON AVENDOR (AID, ANAME) ");
|
||
DDL("CREATE INDEX IDX6_AUSRREGION ON AUSER (AID, AREGIONID) ");
|
||
DDL("CREATE INDEX IDX6_APROJECTIDNAME ON APROJECT (AID, ANAME) ");
|
||
DDL("CREATE INDEX IDX6_ACLIENT_CLIENTSELECTOR ON ACLIENT (ANAME, AID, AACTIVE, AREGIONID) ");
|
||
DDL("CREATE INDEX IDX6_ACLIENTDISPZN ON ACLIENT (AID, ADISPATCHZONEID, ANAME) ");
|
||
DDL("CREATE INDEX IDX6_AWORKORDER_CVR ON AWORKORDER " +
|
||
"( " +
|
||
" AWORKORDERTYPE, " +
|
||
" AID, " +
|
||
" APROJECTID, " +
|
||
" AFROMPMID, " +
|
||
" AFROMQUOTEID, " +
|
||
" AWORKORDERCATEGORYID, " +
|
||
" ACLIENTID " +
|
||
") ");
|
||
DDL("CREATE INDEX IDX6_AUNITMODEL_CVR2 ON AUNITMODEL (AUNITMODELCATEGORYID, AID, AVENDORID)");
|
||
DDL("CREATE INDEX IDX6_AUNITMODELIDVEND ON AUNITMODEL (AID,AVENDORID) ");
|
||
DDL("CREATE INDEX IDX6_AUNIT_CVR ON AUNIT (AID,AUNITMODELID) ");
|
||
DDL("CREATE INDEX IDX6_ACLIENTNOTIFYEVENT_CREAT ON ACLIENTNOTIFYEVENT (ACREATED) ");
|
||
DDL("CREATE INDEX IDX6_AADDRESS_CVR ON AADDRESS (AROOTOBJECTID,AADDRESSTYPE) ");
|
||
DDL("CREATE INDEX IDX6_AGRIDFILTER_NAME ON AGRIDFILTER (ANAME) ");
|
||
DDL("CREATE INDEX IDX6_ASEARCHKEY ON ASEARCHKEY (AWORDID,ASOURCEOBJECTTYPE,ASOURCEOBJECTID) ");
|
||
DDL("CREATE INDEX IDX6_ASEARCHDICTIONARY ON ASEARCHDICTIONARY (AWORD) ");
|
||
DDL("CREATE INDEX IDX6_ASCHEDULEMARKER_CVR ON ASCHEDULEMARKER (ASTARTDATE,ASTOPDATE) ");
|
||
DDL("CREATE INDEX IDX6_AWORKORDERSERVICE_CVR ON AWORKORDERSERVICE (AWORKORDERID, ASERVICENUMBER, ASERVICEDATE, AWORKORDERSTATUSID,AINVOICENUMBER,ACLOSEBYDATE) ");
|
||
DDL("CREATE INDEX IDX6_AWOIOUTSIDESERVICECVR ON AWORKORDERITEMOUTSIDESERVICE (AWORKORDERITEMID,AVENDORSENTTOID,AVENDORSENTVIAID)");
|
||
DDL("CREATE INDEX IDX6_ANOTIFYEVENT_APPLIESTO ON ANOTIFYEVENT (AAPPLIESTOUSERID) ");
|
||
DDL("CREATE INDEX IDX6_APART_4INVENT ON APART (AID,APARTASSEMBLYID,APARTCATEGORYID,AALTERNATIVEWHOLESALERID,AWHOLESALERID,AMANUFACTURERID,APARTNUMBER,AACTIVE,ARETAIL,ACOST) ");
|
||
DDL("CREATE INDEX IDX6_APART_CVR ON APART (AID,APARTASSEMBLYID,APARTCATEGORYID,AMANUFACTURERID) ");
|
||
DDL("CREATE INDEX IDX6_AWORKORDERITEMPARTCVR ON AWORKORDERITEMPART (AWORKORDERITEMID,APARTSERIALID,APARTWAREHOUSEID,APARTID) ");
|
||
DDL("CREATE INDEX IDX6_AWOISCHEDULEDUSER_CVR2 ON AWORKORDERITEMSCHEDULEDUSER (ASTOPDATE,ASTARTDATE,AWORKORDERITEMID) ");
|
||
|
||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
nSchemaLevel = 92;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 93 (localized text updates only case 812)
|
||
|
||
if (nSchemaLevel < 93) { nSchemaLevel = 93; }
|
||
#endregion
|
||
|
||
#region Version 94 case 812
|
||
if (nSchemaLevel < 94)
|
||
{
|
||
DDL("ALTER TABLE ANOTIFYEVENT ADD ASAVEDMESSAGE VARCHAR(1024) CHARACTER SET UNICODE_FSS NOT NULL COLLATE UNICODE_FSS");
|
||
|
||
nSchemaLevel = 94;
|
||
}
|
||
#endregion
|
||
|
||
|
||
|
||
#region AyaNova six.one.zero.zero Version 95 case 1353
|
||
|
||
if (nSchemaLevel < 95)
|
||
{
|
||
DDL(
|
||
"update rdb$relation_fields set " +
|
||
"rdb$null_flag = NULL " +
|
||
"where (rdb$field_name = 'ASAVEDMESSAGE') " +
|
||
"and (rdb$relation_name = 'ANOTIFYEVENT'); "
|
||
);
|
||
|
||
nSchemaLevel = 95;
|
||
}
|
||
#endregion
|
||
#endregion firebird ayanova 6.0
|
||
|
||
#region FireBird AyaNova 6.2
|
||
#region Version 96 case 1348
|
||
if (nSchemaLevel < 96)
|
||
{
|
||
DDL("UPDATE AWORKORDERITEMPARTREQUEST J " +
|
||
"SET J.ACREATOR='{2ECC77FC-69E2-4A7E-B88D-BD0ECAF36AED}' " +
|
||
"WHERE " +
|
||
"J.ACREATOR NOT IN (SELECT AID FROM AUSER) ");
|
||
|
||
DDL(
|
||
"ALTER TABLE AWORKORDERITEMPARTREQUEST ADD CONSTRAINT FK_WOIPTRQST_CREATOR FOREIGN KEY (ACREATOR) REFERENCES AUSER(AID);"
|
||
);
|
||
nSchemaLevel = 96;
|
||
}
|
||
#endregion
|
||
|
||
// goto Finish;
|
||
|
||
|
||
#region Version 97 case 1357
|
||
if (nSchemaLevel < 97)
|
||
{
|
||
|
||
DDL(
|
||
"ALTER TABLE AWORKORDERITEMLOAN DROP AACTIVE;"
|
||
);
|
||
nSchemaLevel = 97;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 98 case 1382
|
||
if (nSchemaLevel < 98)
|
||
{
|
||
DDL("ALTER TABLE ANOTIFYEVENT ADD ACREATED TIMESTAMP");//NULL is default
|
||
nSchemaLevel = 98;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 99 case 1382
|
||
if (nSchemaLevel < 99)
|
||
{
|
||
DDL("ALTER TABLE AGLOBAL ADD ASMTPRETRY D_BOOL DEFAULT 0");
|
||
nSchemaLevel = 99;
|
||
}
|
||
#endregion
|
||
|
||
|
||
#endregion FireBird ayanova 6.2
|
||
|
||
#endregion old schema updates
|
||
|
||
#region Firebird AyaNova 7.0
|
||
#region Version 100 case 1194
|
||
|
||
if (nSchemaLevel < 100)
|
||
{
|
||
DDL("ALTER TABLE AGLOBAL ADD AFORMCUSTOM D_MEMO");
|
||
nSchemaLevel = 100;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 101 Object.WorkorderItemUnit right case 1317
|
||
if (nSchemaLevel < 101)
|
||
{
|
||
AddNewUserRightToAllSecurityGroups("Object.WorkorderItemUnit", SecurityLevelTypes.ReadWriteDelete);
|
||
nSchemaLevel = 101;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 102 remove object.Workorder right per case 1387
|
||
if (nSchemaLevel < 102)
|
||
{
|
||
DDLNoUpper("DELETE FROM AUSERRIGHT WHERE ARIGHT='Object.Workorder'");
|
||
nSchemaLevel = 102;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 103 case 1346
|
||
|
||
if (nSchemaLevel < 103)
|
||
{
|
||
DDL("ALTER TABLE AWORKORDERSERVICE ADD ASIGNATURE D_MEMO");
|
||
DDL("ALTER TABLE AWORKORDERSERVICE ADD ASIGNED TIMESTAMP");
|
||
nSchemaLevel = 103;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 104 case 1346
|
||
|
||
if (nSchemaLevel < 104)
|
||
{
|
||
DDL("ALTER TABLE AGLOBAL ADD ASIGNATURETITLE D_MEMO");
|
||
DDL("ALTER TABLE AGLOBAL ADD ASIGNATUREHEADER D_MEMO");
|
||
DDL("ALTER TABLE AGLOBAL ADD ASIGNATUREFOOTER D_MEMO");
|
||
|
||
nSchemaLevel = 104;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 105 (localized text updates only case 1394
|
||
if (nSchemaLevel < 105) { nSchemaLevel = 105; }
|
||
#endregion
|
||
|
||
#region Version 106 case 1394
|
||
if (nSchemaLevel < 106)
|
||
{
|
||
DDL("UPDATE AUIEXPLORERBARLAYOUT SET ALAYOUTSIZE=0");
|
||
nSchemaLevel = 106;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 107 (localized text updates only case 1446, case 1519
|
||
if (nSchemaLevel < 107) { nSchemaLevel = 107; }
|
||
#endregion
|
||
|
||
#region Version 108 case 1553
|
||
if (nSchemaLevel < 108)
|
||
{
|
||
|
||
DDL("ALTER TABLE AUSER ADD AMAINGRIDLASTROWCOUNT INTEGER");
|
||
DDL("ALTER TABLE AUSER ADD ASCHEDULELASTVIEWOPENONLY D_BOOL");
|
||
DDL("ALTER TABLE AUSER ADD ASCHEDULELASTPRINTSETTINGS D_MEMO");
|
||
|
||
nSchemaLevel = 108;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 109 case 1392
|
||
if (nSchemaLevel < 109)
|
||
{
|
||
DDL("ALTER TABLE AGLOBAL ADD ASCHEDUSERNONTODAYSTARTTIME TIMESTAMP");
|
||
nSchemaLevel = 109;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 110 case 1487
|
||
if (nSchemaLevel < 110)
|
||
{
|
||
DDL("ALTER TABLE AGLOBAL ADD AMAINGRIDAUTOREFRESH D_BOOL DEFAULT 1");
|
||
nSchemaLevel = 110;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 111 (localized text updates only case 1346)
|
||
if (nSchemaLevel < 111) { nSchemaLevel = 111; }
|
||
#endregion
|
||
|
||
#region Version 112 (localized text updates only case 1556)
|
||
if (nSchemaLevel < 112) { nSchemaLevel = 112; }
|
||
#endregion
|
||
|
||
#region Version 113 (localized text updates only case 1140)
|
||
if (nSchemaLevel < 113) { nSchemaLevel = 113; }
|
||
#endregion
|
||
|
||
#region Version 114 (case 1151)
|
||
if (nSchemaLevel < 114)
|
||
{
|
||
DDL(
|
||
" CREATE TABLE AREGIONNOTIFYSTAT ( " +
|
||
" AID D_GUID NOT NULL, " +
|
||
" AREGIONID D_GUID NOT NULL, " +
|
||
" ACREATED TIMESTAMP, " +
|
||
" AMODIFIED TIMESTAMP, " +
|
||
" ACREATOR D_GUID, " +
|
||
" AMODIFIER D_GUID, " +
|
||
" AACTIVE D_BOOL DEFAULT 0 NOT NULL, " +
|
||
" ANOTIFYWOSTATMSG D_MEMO, " +
|
||
" ANOTIFYWOSTATUSID D_GUID, " +
|
||
" AWOREPORTID D_GUID " +
|
||
" ); "
|
||
);
|
||
|
||
|
||
DDL("ALTER TABLE AREGIONNOTIFYSTAT ADD CONSTRAINT FK_RGN_NTFY_STAT FOREIGN KEY (AREGIONID) REFERENCES AREGION(AID);");
|
||
nSchemaLevel = 114;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 115 (case 1151)
|
||
if (nSchemaLevel < 115) { nSchemaLevel = 115; }
|
||
#endregion
|
||
|
||
#region Version 116 (case 1499)
|
||
if (nSchemaLevel < 116)
|
||
{
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYQUOTESTATUS D_BOOL DEFAULT 0 NOT NULL");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYQUOTESTATMSG D_MEMO");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYQUOTESTATUSTYPE SMALLINT");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYQUOTESTATUSRPT D_GUID");
|
||
|
||
nSchemaLevel = 116;
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region Version 117 (localized text updates only case 1555)
|
||
if (nSchemaLevel < 117) { nSchemaLevel = 117; }
|
||
#endregion
|
||
|
||
#region Version 118 (Unit object updates only case 1687)
|
||
if (nSchemaLevel < 118) { nSchemaLevel = 118; }
|
||
#endregion
|
||
|
||
#endregion fb aya 7
|
||
|
||
#region FireBird AyaNova 7.2
|
||
|
||
#region Version 119 (Localized text updates only case 1805)
|
||
if (nSchemaLevel < 119) { nSchemaLevel = 119; }
|
||
#endregion
|
||
|
||
#region Version 120 case 1805
|
||
if (nSchemaLevel < 120)
|
||
{
|
||
DDL("UPDATE AUIEXPLORERBARLAYOUT SET ALAYOUTSIZE=0");
|
||
nSchemaLevel = 120;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 121 (Localized text updates only case 1805)
|
||
if (nSchemaLevel < 121) { nSchemaLevel = 121; }
|
||
#endregion
|
||
|
||
#region Version 122 (Localized text updates only case 1805)
|
||
if (nSchemaLevel < 122) { nSchemaLevel = 122; }
|
||
#endregion
|
||
|
||
#region Version 123 (Localized text updates only case 1805)
|
||
if (nSchemaLevel < 123) { nSchemaLevel = 123; }
|
||
#endregion
|
||
|
||
#region Version 124 (Localized text updates only case 1122)
|
||
if (nSchemaLevel < 124) { nSchemaLevel = 124; }
|
||
#endregion
|
||
|
||
#region Version 125 (Localized text updates only case 1810)
|
||
if (nSchemaLevel < 125) { nSchemaLevel = 125; }
|
||
#endregion
|
||
|
||
#region Version 126 (Localized text updates only case 1909)
|
||
if (nSchemaLevel < 126) { nSchemaLevel = 126; }
|
||
#endregion
|
||
#endregion fb aya 7.2
|
||
|
||
#region FireBird AyaNova 7.3
|
||
|
||
#region Version 127 (Localized text updates only case 1995)
|
||
if (nSchemaLevel < 127) { nSchemaLevel = 127; }
|
||
#endregion
|
||
|
||
#region Version 128 (Localized text updates only case 2067)
|
||
if (nSchemaLevel < 128) { nSchemaLevel = 128; }
|
||
#endregion
|
||
#endregion fb v 7.3
|
||
|
||
#region FireBird AyaNova 7.4
|
||
|
||
#region Version 129 (case 2094 Subscription licensing)
|
||
//reset all forms if the schema at the start was less than 119
|
||
//which is when Dashboard feature was added and is the last main
|
||
//item which could be missing from display due to old form settings
|
||
if (nSchemaLevelAtStart < 119)
|
||
{
|
||
//RESET explorer bar layout to catch any items not caught before
|
||
//DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0");
|
||
DDL("UPDATE AUIEXPLORERBARLAYOUT SET ALAYOUTSIZE=0");
|
||
}
|
||
//case 2094
|
||
if (nSchemaLevel < 129) { nSchemaLevel = 129; }
|
||
#endregion
|
||
|
||
#endregion fb v 7.4
|
||
|
||
|
||
#region FireBird AyaNova 7.5
|
||
|
||
#region Version 130 (case 3150 new unit name display formats)
|
||
|
||
//case 3150
|
||
if (nSchemaLevel < 130) { nSchemaLevel = 130; }
|
||
#endregion
|
||
|
||
#region Version 131 (case 1968)
|
||
if (nSchemaLevel < 131)
|
||
{
|
||
DDL("ALTER TABLE ASCHEDULEMARKER ADD ACOMPLETED D_BOOL DEFAULT 0 NOT NULL");
|
||
nSchemaLevel = 131;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 132 (case 1968 schedmarker "completed")
|
||
//case 1968
|
||
if (nSchemaLevel < 132) { nSchemaLevel = 132; }
|
||
#endregion
|
||
|
||
#region Version 133 blow explorer bar saved settings case 1967
|
||
//case 1967
|
||
if (nSchemaLevel < 133)
|
||
{
|
||
|
||
//DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0");
|
||
DDL("UPDATE AUIEXPLORERBARLAYOUT SET ALAYOUTSIZE=0");
|
||
nSchemaLevel = 133;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 134 (case 3132)
|
||
if (nSchemaLevel < 134)
|
||
{
|
||
DDL("ALTER TABLE AWORKORDER ADD ATEMPLATEFRESHPRICE D_BOOL DEFAULT 0 NOT NULL");
|
||
nSchemaLevel = 134;
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region Firebird Version 135 Case 329 redux
|
||
if (nSchemaLevel < 135)
|
||
{
|
||
|
||
DDL("DROP INDEX IDX_AINTEGRATIONMAP2");
|
||
|
||
//Case 329 add aintegrationid to index
|
||
DDL(
|
||
"CREATE UNIQUE INDEX IDX_AINTEGRATIONMAP2 ON AINTEGRATIONMAP(AROOTOBJECTID,AROOTOBJECTTYPE,AINTEGRATIONID);"
|
||
);
|
||
|
||
nSchemaLevel = 135;
|
||
}
|
||
#endregion
|
||
|
||
#region Firebird Version 136 Case 3740
|
||
if (nSchemaLevel < 136)
|
||
{
|
||
//-- Delete 'closed none received' orphan poitems
|
||
DDL(@"DELETE FROM APURCHASEORDERITEM POI WHERE EXISTS (SELECT AID FROM APURCHASEORDER PO WHERE PO.AID=POI.APURCHASEORDERID AND PO.ASTATUS=6);");
|
||
|
||
//-- Fix 'Closed - partially received' po items with mismatching quantities
|
||
DDL(
|
||
@"MERGE INTO APURCHASEORDERITEM AS POI
|
||
USING APURCHASEORDER AS PO
|
||
ON PO.AID=POI.APURCHASEORDERID AND PO.ASTATUS=4
|
||
WHEN MATCHED THEN
|
||
UPDATE SET POI.AQUANTITYORDERED=POI.AQUANTITYRECEIVED, POI.ACLOSED=1;
|
||
");
|
||
|
||
//-- Reset all ON ORDER to zero
|
||
DDL(@"update APARTBYWAREHOUSEINVENTORY set AQUANTITYONORDER=0;");
|
||
|
||
//-- Update on order to actual values in PO Items
|
||
DDL(
|
||
@"MERGE INTO APARTBYWAREHOUSEINVENTORY AS B
|
||
USING APURCHASEORDERITEM AS A
|
||
ON A.APARTWAREHOUSEID=B.APARTWAREHOUSEID AND A.APARTID = B.APARTID
|
||
WHEN MATCHED THEN
|
||
UPDATE SET B.AQUANTITYONORDER=A.AQUANTITYORDERED-A.AQUANTITYRECEIVED
|
||
");
|
||
|
||
//-- Reset all on order committed to zero
|
||
DDL("update APARTBYWAREHOUSEINVENTORY set AQTYONORDERCOMMITTED = 0;");
|
||
|
||
//-- Update on order committed to actual values in PO Items
|
||
DDL(
|
||
@"MERGE INTO APARTBYWAREHOUSEINVENTORY AS B
|
||
USING APURCHASEORDERITEM AS A
|
||
ON A.APARTWAREHOUSEID=B.APARTWAREHOUSEID AND A.APARTID = B.APARTID AND A.ACLOSED=0 AND A.AWORKORDERITEMPARTREQUESTID IS NOT NULL
|
||
WHEN MATCHED THEN
|
||
UPDATE SET B.AQTYONORDERCOMMITTED=A.AQUANTITYORDERED-A.AQUANTITYRECEIVED
|
||
");
|
||
|
||
|
||
nSchemaLevel = 136;
|
||
}
|
||
#endregion
|
||
|
||
#endregion fb v 7.5
|
||
|
||
|
||
|
||
|
||
//UPDATE CASE 1354 EVERY TIME A NEW SCHEMA VERSION IS DONE
|
||
//NEW FIREBIRD SCHEMA LEVELS ABOVE HERE
|
||
//
|
||
}
|
||
break;
|
||
/*
|
||
__ __ _____ _____ ____ _
|
||
| \/ |/ ____| / ____|/ __ \| |
|
||
| \ / | (___ | (___ | | | | |
|
||
| |\/| |\___ \ \___ \| | | | |
|
||
| | | |____) | ____) | |__| | |____
|
||
|_| |_|_____/ |_____/ \___\_\______|
|
||
|
||
*/
|
||
case DataBaseType.MSSQL:
|
||
{
|
||
#region OLD SCHEMA UPDATES
|
||
|
||
#region Version 4 (AyaNova 3.1 QBI related stuff)
|
||
if (nSchemaLevel < 4)
|
||
{
|
||
|
||
#region Create Integration table
|
||
DDL(
|
||
"CREATE TABLE [dbo].[AINTEGRATION] ( " +
|
||
" [AID] [uniqueidentifier] NOT NULL , " +
|
||
" [ACREATED] [datetime] NULL , " +
|
||
" [AMODIFIED] [datetime] NULL , " +
|
||
" [ACREATOR] [uniqueidentifier] NULL , " +
|
||
" [AMODIFIER] [uniqueidentifier] NULL , " +
|
||
" [AACTIVE] [bit] NOT NULL , " +
|
||
" [ANAME] [nvarchar] (255) NOT NULL , " +
|
||
" [ALASTCONNECT] [datetime] NULL , " +
|
||
" [AIOBJECT] [image] NULL , " +
|
||
" [AIOBJECTSIZE] [int] NULL , " +
|
||
" [AAPPID] [uniqueidentifier] NOT NULL , " +
|
||
" [AAPPVERSION] [nvarchar] (25) NOT NULL , " +
|
||
" [ASYNCCHECKPOINT] [nvarchar] (255) NULL " +
|
||
") ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] "
|
||
);
|
||
|
||
|
||
//add pk
|
||
DDL(
|
||
"ALTER TABLE [dbo].[AINTEGRATION] ADD " +
|
||
" PRIMARY KEY NONCLUSTERED " +
|
||
" ( " +
|
||
" [AID] " +
|
||
" ) ON [PRIMARY] "
|
||
);
|
||
|
||
|
||
//Add index
|
||
DDL(
|
||
"CREATE INDEX [IDX_AINTEGRATION1] ON [dbo].[AINTEGRATION]([AAPPID]) ON [PRIMARY]"
|
||
);
|
||
|
||
|
||
#endregion
|
||
|
||
#region Create IntegrationMap table
|
||
DDL(
|
||
"CREATE TABLE [dbo].[AINTEGRATIONMAP] ( " +
|
||
" [AID] [uniqueidentifier] NOT NULL , " +
|
||
" [ACREATED] [datetime] NOT NULL , " +
|
||
" [AMODIFIED] [datetime] NOT NULL , " +
|
||
" [ACREATOR] [uniqueidentifier] NOT NULL , " +
|
||
" [AMODIFIER] [uniqueidentifier] NOT NULL , " +
|
||
" [AINTEGRATIONID] [uniqueidentifier] NOT NULL , " +
|
||
" [AROOTOBJECTID] [uniqueidentifier] NOT NULL , " +
|
||
" [AROOTOBJECTTYPE] [smallint] NOT NULL , " +
|
||
" [AFOREIGNID] [nvarchar] (255) NOT NULL , " +
|
||
" [ANAME] [nvarchar] (255) NULL , " +
|
||
" [AFOREIGNCHECKSUM] [nvarchar] (255) NULL , " +
|
||
" [AAYANOVACHECKSUM] [nvarchar] (255) NULL , " +
|
||
" [AMAPOBJECT] [image] NULL , " +
|
||
" [AMAPOBJECTSIZE] [int] NULL , " +
|
||
" [ALASTSYNC] [datetime] NOT NULL " +
|
||
") ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] "
|
||
);
|
||
|
||
|
||
|
||
//add pk
|
||
DDL(
|
||
"ALTER TABLE [dbo].[AINTEGRATIONMAP] ADD " +
|
||
" PRIMARY KEY NONCLUSTERED " +
|
||
" ( " +
|
||
" [AID] " +
|
||
" ) ON [PRIMARY] "
|
||
);
|
||
|
||
//add index
|
||
DDL(
|
||
"CREATE INDEX [IDX_AINTEGRATIONMAP1] ON [dbo].[AINTEGRATIONMAP]([AINTEGRATIONID]) ON [PRIMARY]"
|
||
);
|
||
|
||
|
||
//Add index
|
||
DDL(
|
||
"CREATE UNIQUE INDEX [IDX_AINTEGRATIONMAP2] ON [dbo].[AINTEGRATIONMAP]([AROOTOBJECTID], [AROOTOBJECTTYPE]) ON [PRIMARY]"
|
||
);
|
||
|
||
//Add fk
|
||
DDL(
|
||
"ALTER TABLE [dbo].[AINTEGRATIONMAP] ADD " +
|
||
" CONSTRAINT [FK_AINTEGRATIONMAP1] FOREIGN KEY " +
|
||
" ( " +
|
||
" [AINTEGRATIONID] " +
|
||
" ) REFERENCES [dbo].[AINTEGRATION] ( " +
|
||
" [AID] " +
|
||
" ) "
|
||
);
|
||
|
||
|
||
#endregion
|
||
|
||
#region Create IntegrationLog table
|
||
DDL(
|
||
"CREATE TABLE [dbo].[AINTEGRATIONLOG] ( " +
|
||
" [ACREATED] [datetime] NOT NULL , " +
|
||
" [ACREATOR] [uniqueidentifier] NOT NULL , " +
|
||
" [AINTEGRATIONID] [uniqueidentifier] NOT NULL , " +
|
||
" [AMESSAGE] [nvarchar] (500) NOT NULL " +
|
||
") ON [PRIMARY] "
|
||
);
|
||
|
||
//add first index
|
||
DDL(
|
||
" CREATE INDEX [IDX_AINTEGRATIONLOG1] ON [dbo].[AINTEGRATIONLOG]([AINTEGRATIONID]) ON [PRIMARY]"
|
||
);
|
||
|
||
|
||
//Add second index
|
||
DDL(
|
||
"CREATE INDEX [IDX_AINTEGRATIONLOG2] ON [dbo].[AINTEGRATIONLOG]([ACREATED]) ON [PRIMARY]"
|
||
);
|
||
|
||
|
||
#endregion
|
||
|
||
nSchemaLevel = 4;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 5 (AyaNova 3.1 Ayanova related stuff)
|
||
if (nSchemaLevel < 5)
|
||
{
|
||
|
||
|
||
DDL(
|
||
"UPDATE aLocalizedText SET aDisplayText= " +
|
||
"'FALSE restricts access to part entry and selection of parts used within service workorders. TRUE allows access to all inventory functions.' " +
|
||
"WHERE aLocalizedText.aLocale='English' AND aLocalizedText.aKey='Global.Label.UseInventory.Description'"
|
||
);
|
||
|
||
DDL(
|
||
"UPDATE aLocalizedText SET aDisplayText= " +
|
||
"'AyaNova transportable Locale file (*.xml)' " +
|
||
"WHERE aLocalizedText.aLocale='English' AND aLocalizedText.aKey='Locale.Label.LocaleFile'"
|
||
);
|
||
nSchemaLevel = 5;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 6
|
||
if (nSchemaLevel < 6)
|
||
{
|
||
|
||
|
||
DDL(
|
||
"CREATE TABLE [dbo].[aUIUserGridLastView] ( " +
|
||
"[AUSERID] [uniqueidentifier] NOT NULL , " +
|
||
"[AGRIDKEY] [nvarchar] (255) NULL , " +
|
||
"[AVIEWXML] [ntext] NOT NULL , " +
|
||
"[AFILTERID] [uniqueidentifier] NULL " +
|
||
") ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] "
|
||
);
|
||
|
||
|
||
|
||
|
||
|
||
//add index
|
||
DDL(
|
||
"CREATE INDEX [IDX_aUIUserGridLastView1] ON [dbo].[aUIUserGridLastView]([AUSERID]) ON [PRIMARY]"
|
||
);
|
||
|
||
|
||
//Add index
|
||
DDL(
|
||
"CREATE INDEX [IDX_aUIUserGridLastView2] ON [dbo].[aUIUserGridLastView]([AGRIDKEY]) ON [PRIMARY]"
|
||
);
|
||
|
||
//Add fk
|
||
DDL(
|
||
"ALTER TABLE [dbo].[aUIUserGridLastView] ADD " +
|
||
" CONSTRAINT [FK_aUIUserGridLastView1] FOREIGN KEY " +
|
||
" ( " +
|
||
" [AUSERID] " +
|
||
" ) REFERENCES [dbo].[AUSER] ( " +
|
||
" [AID] " +
|
||
" ) "
|
||
);
|
||
nSchemaLevel = 6;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 7
|
||
if (nSchemaLevel < 7)
|
||
{
|
||
|
||
|
||
DDL(
|
||
"CREATE TABLE [dbo].[aGridFilter] ( " +
|
||
"[AID] [uniqueidentifier] NOT NULL , " +
|
||
"[ACREATED] [datetime] NULL , " +
|
||
"[AMODIFIED] [datetime] NULL , " +
|
||
"[ACREATOR] [uniqueidentifier] NULL , " +
|
||
"[AMODIFIER] [uniqueidentifier] NULL , " +
|
||
"[AGRIDKEY] [nvarchar] (255) NULL , " +
|
||
"[ANAME] [nvarchar] (255) NULL , " +
|
||
"[AFILTERXML] [ntext] NOT NULL , " +
|
||
"[AONLYUSERID] [uniqueidentifier] NULL, " +
|
||
"[AONLYSECURITYGROUPID] [uniqueidentifier] NULL, " +
|
||
") ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] "
|
||
);
|
||
|
||
|
||
|
||
//Add fk
|
||
DDL(
|
||
"ALTER TABLE [dbo].[aGridFilter] ADD " +
|
||
" CONSTRAINT [FK_aGridFilter1] FOREIGN KEY " +
|
||
" ( " +
|
||
" [AONLYUSERID] " +
|
||
" ) REFERENCES [dbo].[AUSER] ( " +
|
||
" [AID] " +
|
||
" ) "
|
||
);
|
||
|
||
DDL(
|
||
"ALTER TABLE [dbo].[aGridFilter] ADD " +
|
||
" CONSTRAINT [FK_aGridFilter2] FOREIGN KEY " +
|
||
" ( " +
|
||
" [AONLYSECURITYGROUPID] " +
|
||
" ) REFERENCES [dbo].[ASECURITYGROUP] ( " +
|
||
" [AID] " +
|
||
" ) "
|
||
);
|
||
|
||
AddNewUserRightToAllSecurityGroups("Object.GridFilter", SecurityLevelTypes.ReadWriteDelete);
|
||
nSchemaLevel = 7;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 8 (localized text updates only
|
||
if (nSchemaLevel < 8)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in for 8
|
||
nSchemaLevel = 8;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 9 (localized text updates only
|
||
if (nSchemaLevel < 9)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in for 9
|
||
nSchemaLevel = 9;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 10 (localized text mods only)
|
||
if (nSchemaLevel < 10)
|
||
{
|
||
|
||
//Added 12-July-2006 model is actually the name, not the model number
|
||
//Updates to change unit model to unit "name"
|
||
|
||
DDLNoUpper("UPDATE ALOCALIZEDTEXT SET aDisplayText='Model name, serial number' WHERE ALOCALE='English' AND AKEY='UnitNameDisplayFormats.Label.ModelSerial'");
|
||
|
||
DDLNoUpper("UPDATE ALOCALIZEDTEXT SET aDisplayText='Serial number, model name' WHERE ALOCALE='English' AND AKEY='UnitNameDisplayFormats.Label.SerialModel'");
|
||
|
||
DDLNoUpper("UPDATE ALOCALIZEDTEXT SET aDisplayText='Serial number, model name, vendor' WHERE ALOCALE='English' AND AKEY='UnitNameDisplayFormats.Label.SerialModelVendor'");
|
||
|
||
DDLNoUpper("UPDATE ALOCALIZEDTEXT SET aDisplayText='Vendor, model name, serial number' WHERE ALOCALE='English' AND AKEY='UnitNameDisplayFormats.Label.VendorModelSerial'");
|
||
|
||
|
||
|
||
nSchemaLevel = 10;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 11
|
||
if (nSchemaLevel < 11)
|
||
{
|
||
//Added 2-Aug-2006 cost was not being saved previously in workorderitempart
|
||
//so sets all prior workorderitempart's cost to apart's cost in one go
|
||
DDL("UPDATE aworkorderitempart set acost=(select acost from apart where apart.aid=aworkorderitempart.apartid)");
|
||
nSchemaLevel = 11;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 12
|
||
if (nSchemaLevel < 12)
|
||
{
|
||
//Added 31-Aug-2006 Fixes serial numbers that are still set to available
|
||
//when they should be set to unavailable due to negative inventory adjustment bug
|
||
//fixed in partinventoryadjustmentitem
|
||
DDL("UPDATE APARTSERIAL " +
|
||
"SET AAVAILABLE=0 " +
|
||
"FROM " +
|
||
"APARTINVENTORYADJUSTMENTITEM " +
|
||
"INNER JOIN APARTSERIAL ON (APARTINVENTORYADJUSTMENTITEM.AID = APARTSERIAL.AADJUSTMENTID) " +
|
||
"WHERE APARTINVENTORYADJUSTMENTITEM.AQUANTITYADJUSTMENT<0 " +
|
||
"AND " +
|
||
"APARTSERIAL.AAVAILABLE=1 ");
|
||
nSchemaLevel = 12;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 14
|
||
if (nSchemaLevel < 14)
|
||
{
|
||
|
||
AddNewUserRightToAllSecurityGroups("Object.Workorder.Close", SecurityLevelTypes.ReadWriteDelete);
|
||
|
||
|
||
nSchemaLevel = 14;
|
||
}
|
||
#endregion
|
||
|
||
|
||
//v15 got lost somewhere in the shuffle
|
||
|
||
#region Version 16
|
||
if (nSchemaLevel < 16)
|
||
{
|
||
|
||
//Added: 3-Oct-2006
|
||
//to fixup temporary user workaround where we suggested
|
||
//user enter a single space into a serial number field in po receipts where
|
||
//they couldn't enter a quantity of zero received
|
||
DDL("DELETE FROM APARTSERIAL WHERE ASERIALNUMBER=' ' ");
|
||
nSchemaLevel = 16;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 17
|
||
if (nSchemaLevel < 17)
|
||
{
|
||
|
||
//Added: 24-Oct-2006
|
||
//change to unitmeterreading entry form to allow reporting
|
||
//as a result needed to remove the old uiuserformlayout setting
|
||
//so that the new menu will not be overwritten by the saved version
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 " +
|
||
"WHERE AFORMNAME='UnitMeterReading' ");
|
||
nSchemaLevel = 17;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 18
|
||
if (nSchemaLevel < 18)
|
||
{
|
||
//Drop some unused fields from Workorder table
|
||
DDL("ALTER TABLE aworkorder DROP COLUMN ACUSTOM1");
|
||
DDL("ALTER TABLE aworkorder DROP COLUMN ACUSTOM2");
|
||
DDL("ALTER TABLE aworkorder DROP COLUMN ACUSTOM3");
|
||
DDL("ALTER TABLE aworkorder DROP COLUMN ACUSTOM4");
|
||
DDL("ALTER TABLE aworkorder DROP COLUMN ACUSTOM5");
|
||
DDL("ALTER TABLE aworkorder DROP COLUMN ACUSTOM6");
|
||
DDL("ALTER TABLE aworkorder DROP COLUMN ACUSTOM7");
|
||
DDL("ALTER TABLE aworkorder DROP COLUMN ACUSTOM8");
|
||
DDL("ALTER TABLE aworkorder DROP COLUMN ACUSTOM9");
|
||
DDL("ALTER TABLE aworkorder DROP COLUMN ACUSTOM0");
|
||
|
||
//Added: 7-Nov-2006, WBI client service
|
||
//request changes
|
||
//drop old tables
|
||
|
||
DDL("DROP TABLE ACLIENTREQUESTPART");
|
||
DDL("DROP TABLE ACLIENTREQUESTTECH");
|
||
DDL("DROP TABLE ACLIENTSERVICEREQUESTITEM");
|
||
DDL("ALTER TABLE AWORKORDERSERVICE DROP CONSTRAINT FK_AWORKORDERSERVICE_ACLIENTSER");
|
||
DDL("DROP TABLE ACLIENTSERVICEREQUEST");
|
||
|
||
nSchemaLevel = 18;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 19
|
||
if (nSchemaLevel < 19)
|
||
{
|
||
|
||
|
||
DDL(
|
||
"CREATE TABLE [dbo].[ACLIENTSERVICEREQUEST] ( " +
|
||
"[AID] [uniqueidentifier] NOT NULL , " +
|
||
"[ACREATED] [datetime] NULL , " +
|
||
"[AMODIFIED] [datetime] NULL , " +
|
||
"[ACREATOR] [uniqueidentifier] NULL , " +
|
||
"[AMODIFIER] [uniqueidentifier] NULL , " +
|
||
"[ACLIENTID] [uniqueidentifier] NOT NULL, " +
|
||
"[ATITLE] [nvarchar] (255) NOT NULL , " +
|
||
"[ADETAILS] [ntext] NULL , " +
|
||
"[AUNITID] [uniqueidentifier] NULL, " +
|
||
"[AWORKORDERITEMID] [uniqueidentifier] NULL, " +
|
||
"[ASTATUS] [smallint] NOT NULL , " +
|
||
"[APRIORITY] [smallint] NOT NULL , " +
|
||
"[ACLIENTREF] [nvarchar] (255) NULL " +
|
||
") ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] "
|
||
);
|
||
|
||
|
||
//add pk
|
||
DDL(
|
||
"ALTER TABLE [dbo].[ACLIENTSERVICEREQUEST] ADD " +
|
||
" PRIMARY KEY NONCLUSTERED " +
|
||
" ( " +
|
||
" [AID] " +
|
||
" ) ON [PRIMARY] "
|
||
);
|
||
|
||
|
||
//Add fk
|
||
DDL(
|
||
"ALTER TABLE [dbo].[ACLIENTSERVICEREQUEST] ADD " +
|
||
" CONSTRAINT [FK_ACLIENTID] FOREIGN KEY " +
|
||
" ( " +
|
||
" [ACLIENTID] " +
|
||
" ) REFERENCES [dbo].[ACLIENT] ( " +
|
||
" [AID] " +
|
||
" ) "
|
||
);
|
||
|
||
DDL(
|
||
"ALTER TABLE [dbo].[ACLIENTSERVICEREQUEST] ADD " +
|
||
" CONSTRAINT [FK_AUNITID] FOREIGN KEY " +
|
||
" ( " +
|
||
" [AUNITID] " +
|
||
" ) REFERENCES [dbo].[AUNIT] ( " +
|
||
" [AID] " +
|
||
" ) "
|
||
);
|
||
|
||
DDL(
|
||
"ALTER TABLE [dbo].[ACLIENTSERVICEREQUEST] ADD " +
|
||
" CONSTRAINT [FK_AWOITEMID] FOREIGN KEY " +
|
||
" ( " +
|
||
" [AWORKORDERITEMID] " +
|
||
" ) REFERENCES [dbo].[AWORKORDERITEM] ( " +
|
||
" [AID] " +
|
||
" ) "
|
||
);
|
||
|
||
//Add workorderitem connection
|
||
|
||
nSchemaLevel = 19;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 20 (localized text updates only
|
||
if (nSchemaLevel < 20)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in
|
||
nSchemaLevel = 20;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 21
|
||
if (nSchemaLevel < 21)
|
||
{
|
||
//RESET THE EXPLORER BAR LAYOUT SIZE TO 0
|
||
//THIS WILL CAUSE FORM1 TO NOT LOAD THE LAYOUT
|
||
//WHICH WILL THEN CAUSE THE NEW CLIENTSERVICEREQUESTS ITEM
|
||
//TO NOT GET WRITTEN OVER AND THE NEXT CLOSE IT WILL SAVE
|
||
//AND THE LAYOUT WILL BE LOADED NORMALLY ON NEXT OPEN
|
||
DDL("UPDATE AUIEXPLORERBARLAYOUT SET ALAYOUTSIZE=0");
|
||
nSchemaLevel = 21;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 22 (localized text updates only
|
||
if (nSchemaLevel < 22)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in
|
||
nSchemaLevel = 22;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 23
|
||
if (nSchemaLevel < 23)
|
||
{
|
||
//RESET THE MEMOREADER form layout so that the new
|
||
//print toolbar option won't throw an exception
|
||
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='MemoReader'");
|
||
nSchemaLevel = 23;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 24
|
||
if (nSchemaLevel < 24)
|
||
{
|
||
//RESET THE PART form layout so that the new
|
||
//print toolbar option won't throw an exception
|
||
//case 167
|
||
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='PartInfo'");
|
||
nSchemaLevel = 24;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 25 (localized text updates only
|
||
if (nSchemaLevel < 25)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in
|
||
nSchemaLevel = 25;
|
||
}
|
||
#endregion
|
||
|
||
//Released 3.3.0 at schema 25
|
||
|
||
#region Version 26
|
||
if (nSchemaLevel < 26)
|
||
{
|
||
//RESET THE service bank form layout so that the new
|
||
//print toolbar option won't throw an exception
|
||
//case 126
|
||
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='ServiceBank'");
|
||
|
||
|
||
//Prior schema updates were not using the NoUpper version so they wouldn't have worked for
|
||
//firebird possibly sql when it came to resetting the toolbar so to be safe I'm
|
||
//putting them back in here
|
||
//v17
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 " +
|
||
"WHERE AFORMNAME='UnitMeterReading' ");
|
||
//v23
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='MemoReader'");
|
||
|
||
//v24
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='PartInfo'");
|
||
|
||
nSchemaLevel = 26;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 27 (localized text updates only
|
||
if (nSchemaLevel < 27)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in
|
||
nSchemaLevel = 27;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 28 (Case 242 Firebird update only)
|
||
if (nSchemaLevel < 28)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version
|
||
nSchemaLevel = 28;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 29 Case 329
|
||
if (nSchemaLevel < 29)
|
||
{
|
||
|
||
DDL("DROP INDEX [dbo].[AINTEGRATIONMAP].[IDX_AINTEGRATIONMAP2]");
|
||
|
||
//Case 329 add aintegrationid to index
|
||
//Add index
|
||
DDL(
|
||
"CREATE UNIQUE INDEX [IDX_AINTEGRATIONMAP2] ON [dbo].[AINTEGRATIONMAP]([AROOTOBJECTID], [AROOTOBJECTTYPE] ,[AINTEGRATIONID]) ON [PRIMARY]"
|
||
);
|
||
|
||
|
||
nSchemaLevel = 29;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 30 (localized text updates only
|
||
if (nSchemaLevel < 30)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in for 30
|
||
nSchemaLevel = 30;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 31 (Case 420 new fields)
|
||
if (nSchemaLevel < 31)
|
||
{
|
||
//6 RATES FOR SET TIME PERIODS
|
||
DDL("ALTER TABLE ALOANITEM ADD ARATEHOUR DECIMAL(19,5) DEFAULT 0 NOT NULL");
|
||
DDL("ALTER TABLE ALOANITEM ADD ARATEHALFDAY DECIMAL(19,5) DEFAULT 0 NOT NULL");
|
||
DDL("ALTER TABLE ALOANITEM ADD ARATEDAY DECIMAL(19,5) DEFAULT 0 NOT NULL");
|
||
DDL("ALTER TABLE ALOANITEM ADD ARATEWEEK DECIMAL(19,5) DEFAULT 0 NOT NULL");
|
||
DDL("ALTER TABLE ALOANITEM ADD ARATEMONTH DECIMAL(19,5) DEFAULT 0 NOT NULL");
|
||
DDL("ALTER TABLE ALOANITEM ADD ARATEYEAR DECIMAL(19,5) DEFAULT 0 NOT NULL");
|
||
|
||
//WORKORDERITEMLOAN TABLE ADDITIONS
|
||
//quantity which defaults to 1, used in initial calcs only when first selecting rate / quant
|
||
//which fills in charges field that already exists; afterwards just for display and reporting purposes
|
||
DDL("ALTER TABLE AWORKORDERITEMLOAN ADD AQUANTITY DECIMAL(19,5) DEFAULT 1 NOT NULL");
|
||
//rate selected (0=no rate just manual to replicate previous behaviour, 1-6 corresponds to rates above from loanitem)
|
||
//used for initial entry and reporting / review purposes afterwards
|
||
DDL("ALTER TABLE AWORKORDERITEMLOAN ADD ARATE SMALLINT DEFAULT 0 NOT NULL");
|
||
nSchemaLevel = 31;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 32 (localized text updates only
|
||
if (nSchemaLevel < 32)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in for 32
|
||
nSchemaLevel = 32;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 33 (localized text updates only
|
||
if (nSchemaLevel < 33)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in for 33
|
||
nSchemaLevel = 33;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 34 (localized text updates only
|
||
if (nSchemaLevel < 34)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in for 34
|
||
nSchemaLevel = 34;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 35 (localized text updates only
|
||
if (nSchemaLevel < 35)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in for 35
|
||
nSchemaLevel = 35;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 36 Case 524 missing indexes
|
||
if (nSchemaLevel < 36)
|
||
{
|
||
//Case 524
|
||
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AADDRESS]') AND name = N'AADDRESS_IDX1') " +
|
||
"CREATE INDEX AADDRESS_IDX1 ON AADDRESS ( AROOTOBJECTID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AASSIGNEDDOC]') AND name = N'AASSIGNEDDOC_IDX1') " +
|
||
"CREATE INDEX AASSIGNEDDOC_IDX1 ON AASSIGNEDDOC ( AROOTOBJECTID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[ACLIENTNOTE]') AND name = N'ACLIENTNOTE_IDX1') " +
|
||
"CREATE INDEX ACLIENTNOTE_IDX1 ON ACLIENTNOTE ( ACLIENTID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[ACONTACT]') AND name = N'ACONTACT_IDX1') " +
|
||
"CREATE INDEX ACONTACT_IDX1 ON ACONTACT ( AROOTOBJECTID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[ACONTACTPHONE]') AND name = N'ACONTACTPHONE_IDX1') " +
|
||
"CREATE INDEX ACONTACTPHONE_IDX1 ON ACONTACTPHONE ( ACONTACTID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[ACONTRACTRATE]') AND name = N'ACONTRACTRATE_IDX1') " +
|
||
"CREATE INDEX ACONTRACTRATE_IDX1 ON ACONTRACTRATE ( ACONTRACTID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AINTEGRATION]') AND name = N'IDX_AINTEGRATION1') " +
|
||
"CREATE INDEX IDX_AINTEGRATION1 ON AINTEGRATION ( AAPPID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AINTEGRATIONLOG]') AND name = N'IDX_AINTEGRATIONLOG1') " +
|
||
"CREATE INDEX IDX_AINTEGRATIONLOG1 ON AINTEGRATIONLOG ( AINTEGRATIONID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AINTEGRATIONLOG]') AND name = N'IDX_AINTEGRATIONLOG2') " +
|
||
"CREATE INDEX IDX_AINTEGRATIONLOG2 ON AINTEGRATIONLOG ( ACREATED ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AINTEGRATIONMAP]') AND name = N'IDX_AINTEGRATIONMAP1') " +
|
||
"CREATE INDEX IDX_AINTEGRATIONMAP1 ON AINTEGRATIONMAP ( AINTEGRATIONID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AMEMO]') AND name = N'AMAIL_IDX1') " +
|
||
"CREATE INDEX AMAIL_IDX1 ON AMEMO ( ATOID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AOBJECTCUSTOMFIELD]') AND name = N'AOBJECTCUSTOMFIELD_IDX1') " +
|
||
"CREATE INDEX AOBJECTCUSTOMFIELD_IDX1 ON AOBJECTCUSTOMFIELD ( AOBJECTNAME ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[APART]') AND name = N'APART_IDX1') " +
|
||
"CREATE INDEX APART_IDX1 ON APART ( APARTASSEMBLYID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[APARTINVENTORYADJUSTMENTITEM]') AND name = N'APARTINVENTORYADJUSTMENTIT_IDX1') " +
|
||
"CREATE INDEX APARTINVENTORYADJUSTMENTIT_IDX1 ON APARTINVENTORYADJUSTMENTITEM ( APARTINVENTORYADJUSTMENTID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[APARTSERIAL]') AND name = N'APARTSERIAL_IDX1') " +
|
||
"CREATE INDEX APARTSERIAL_IDX1 ON APARTSERIAL ( APARTID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[APARTSERIAL]') AND name = N'APARTSERIAL_IDX2') " +
|
||
"CREATE INDEX APARTSERIAL_IDX2 ON APARTSERIAL ( APARTWAREHOUSEID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[APARTSERIAL]') AND name = N'APARTSERIAL_IDX3') " +
|
||
"CREATE INDEX APARTSERIAL_IDX3 ON APARTSERIAL ( APURCHASEORDERRECEIPTITEMID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[APURCHASEORDER]') AND name = N'APURCHASEORDER_IDX1') " +
|
||
"CREATE INDEX APURCHASEORDER_IDX1 ON APURCHASEORDER ( AVENDORID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[APURCHASEORDERITEM]') AND name = N'APURCHASEORDERITEM_IDX1') " +
|
||
"CREATE INDEX APURCHASEORDERITEM_IDX1 ON APURCHASEORDERITEM ( APURCHASEORDERID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[APURCHASEORDERRECEIPT]') AND name = N'APURCHASEORDERRECEIPT_IDX1') " +
|
||
"CREATE INDEX APURCHASEORDERRECEIPT_IDX1 ON APURCHASEORDERRECEIPT ( AVENDORID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[APURCHASEORDERRECEIPTITEM]') AND name = N'APURCHASEORDERRECEIPTITEM_IDX1') " +
|
||
"CREATE INDEX APURCHASEORDERRECEIPTITEM_IDX1 ON APURCHASEORDERRECEIPTITEM ( APURCHASEORDERITEMID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[ARATE]') AND name = N'ARATE_IDX1') " +
|
||
"CREATE INDEX ARATE_IDX1 ON ARATE ( ACONTRACTRATE ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[ASCHEDULEMARKER]') AND name = N'IDX_ASCHEDULEMARKER') " +
|
||
"CREATE INDEX IDX_ASCHEDULEMARKER ON ASCHEDULEMARKER ( ASTARTDATE ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[ASEARCHKEY]') AND name = N'IDX_ASEARCHKEY') " +
|
||
"CREATE INDEX IDX_ASEARCHKEY ON ASEARCHKEY ( AWORDID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[ASEARCHKEY]') AND name = N'IDX_ASEARCHKEY1') " +
|
||
"CREATE INDEX IDX_ASEARCHKEY1 ON ASEARCHKEY ( ASOURCEOBJECTID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[ASEARCHKEY]') AND name = N'IDX_ASEARCHKEY2') " +
|
||
"CREATE INDEX IDX_ASEARCHKEY2 ON ASEARCHKEY ( ASOURCEOBJECTTYPE ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[ASERVICEBANK]') AND name = N'IDX_ASERVICEBANK') " +
|
||
"CREATE INDEX IDX_ASERVICEBANK ON ASERVICEBANK ( ACREATED ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[ASERVICEBANK]') AND name = N'IDX_ASERVICEBANK1') " +
|
||
"CREATE INDEX IDX_ASERVICEBANK1 ON ASERVICEBANK ( AAPPLIESTOROOTOBJECTID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[ATASKGROUPTASK]') AND name = N'ATASKGROUPTASK_IDX1') " +
|
||
"CREATE INDEX ATASKGROUPTASK_IDX1 ON ATASKGROUPTASK ( ATASKGROUPID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AUIEXPLORERBARLAYOUT]') AND name = N'IDX_AUIEXPLORERBARLAYOUT') " +
|
||
"CREATE INDEX IDX_AUIEXPLORERBARLAYOUT ON AUIEXPLORERBARLAYOUT ( AUSERID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AUIGRIDLAYOUT]') AND name = N'AUIGRIDLAYOUT_IDX1') " +
|
||
"CREATE INDEX AUIGRIDLAYOUT_IDX1 ON AUIGRIDLAYOUT ( AUSERID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AUIUSERFORMSETTING]') AND name = N'IDX_AUIUSERFORMSETTING') " +
|
||
"CREATE INDEX IDX_AUIUSERFORMSETTING ON AUIUSERFORMSETTING ( AFORMNAME ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AUIUSERGRIDLASTVIEW]') AND name = N'IDX_AUIUSERGRIDLASTVIEW1') " +
|
||
"CREATE INDEX IDX_AUIUSERGRIDLASTVIEW1 ON AUIUSERGRIDLASTVIEW ( AUSERID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AUSERRIGHT]') AND name = N'AUSERRIGHT_IDX1') " +
|
||
"CREATE INDEX AUSERRIGHT_IDX1 ON AUSERRIGHT ( ASECURITYGROUPID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AVENDOR]') AND name = N'IDX_AVENDOR') " +
|
||
"CREATE INDEX IDX_AVENDOR ON AVENDOR ( AVENDORTYPE ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AWORKORDER]') AND name = N'IDX_AWORKORDER') " +
|
||
"CREATE INDEX IDX_AWORKORDER ON AWORKORDER ( AWORKORDERTYPE ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AWORKORDERITEM]') AND name = N'AWORKORDERITEM_IDX1') " +
|
||
"CREATE INDEX AWORKORDERITEM_IDX1 ON AWORKORDERITEM ( AWORKORDERID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AWORKORDERITEMLABOR]') AND name = N'AWORKORDERITEMLABOR_IDX1') " +
|
||
"CREATE INDEX AWORKORDERITEMLABOR_IDX1 ON AWORKORDERITEMLABOR ( AWORKORDERITEMID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AWORKORDERITEMMISCEXPENSE]') AND name = N'AWORKORDERITEMMISCEXPENSE_IDX1') " +
|
||
"CREATE INDEX AWORKORDERITEMMISCEXPENSE_IDX1 ON AWORKORDERITEMMISCEXPENSE ( AWORKORDERITEMID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AWORKORDERITEMOUTSIDESERVICE]') AND name = N'AWORKORDERITEMOUTSIDESERVI_IDX1') " +
|
||
"CREATE INDEX AWORKORDERITEMOUTSIDESERVI_IDX1 ON AWORKORDERITEMOUTSIDESERVICE ( AWORKORDERITEMID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AWORKORDERITEMPART]') AND name = N'AWORKORDERITEMPART_IDX1') " +
|
||
"CREATE INDEX AWORKORDERITEMPART_IDX1 ON AWORKORDERITEMPART ( AWORKORDERITEMID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AWORKORDERITEMPARTREQUEST]') AND name = N'AWORKORDERITEMPARTREQUEST_IDX1') " +
|
||
"CREATE INDEX AWORKORDERITEMPARTREQUEST_IDX1 ON AWORKORDERITEMPARTREQUEST ( AWORKORDERITEMID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AWORKORDERITEMSCHEDULEDUSER]') AND name = N'AWORKORDERITEMSCHEDULEDUSE_IDX1') " +
|
||
"CREATE INDEX AWORKORDERITEMSCHEDULEDUSE_IDX1 ON AWORKORDERITEMSCHEDULEDUSER ( AWORKORDERITEMID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AWORKORDERITEMSCHEDULEDUSER]') AND name = N'IDX_AWORKORDERITEMSCHEDULEDUSER') " +
|
||
"CREATE INDEX IDX_AWORKORDERITEMSCHEDULEDUSER ON AWORKORDERITEMSCHEDULEDUSER ( ASTARTDATE ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AWORKORDERITEMTASK]') AND name = N'AWORKORDERITEMTASK_IDX1') " +
|
||
"CREATE INDEX AWORKORDERITEMTASK_IDX1 ON AWORKORDERITEMTASK ( AWORKORDERITEMID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AWORKORDERITEMTRAVEL]') AND name = N'AWORKORDERITEMTRAVEL_IDX1') " +
|
||
"CREATE INDEX AWORKORDERITEMTRAVEL_IDX1 ON AWORKORDERITEMTRAVEL ( AWORKORDERITEMID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AWORKORDERPREVENTIVEMAINTENANCE]') AND name = N'AWORKORDERPREVENTIVEMAINTE_IDX1') " +
|
||
"CREATE INDEX AWORKORDERPREVENTIVEMAINTE_IDX1 ON AWORKORDERPREVENTIVEMAINTENANCE ( AWORKORDERID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AWORKORDERQUOTE]') AND name = N'AWORKORDERQUOTE_IDX1') " +
|
||
"CREATE INDEX AWORKORDERQUOTE_IDX1 ON AWORKORDERQUOTE ( AWORKORDERID ) ");
|
||
DDL("IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[AWORKORDERSERVICE]') AND name = N'AWORKORDERSERVICE_IDX1') " +
|
||
"CREATE INDEX AWORKORDERSERVICE_IDX1 ON AWORKORDERSERVICE ( AWORKORDERID ) ");
|
||
|
||
|
||
|
||
nSchemaLevel = 36;
|
||
|
||
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region Version 37 (localized text updates only
|
||
if (nSchemaLevel < 37)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in for 37
|
||
nSchemaLevel = 37;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 38 (localized text updates only
|
||
if (nSchemaLevel < 38)
|
||
{
|
||
|
||
//Do nothing else here except advance schema version so localized text
|
||
//below can kick in for 38
|
||
nSchemaLevel = 38;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 39 (localized text updates only
|
||
if (nSchemaLevel < 39) { nSchemaLevel = 39; }
|
||
#endregion
|
||
|
||
#region Version 40
|
||
if (nSchemaLevel < 40)
|
||
{
|
||
//Case 476
|
||
DDL("DELETE FROM APARTBYWAREHOUSEINVENTORY WHERE " +
|
||
"AQUANTITYONHAND=0 AND AQUANTITYONORDER=0 AND AMINSTOCKLEVEL=0 AND AQTYONORDERCOMMITTED=0 ");
|
||
//Case 563
|
||
DDL("ALTER TABLE APARTBYWAREHOUSEINVENTORY DROP COLUMN AACTIVE");
|
||
nSchemaLevel = 40;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 41 (localized text updates only
|
||
if (nSchemaLevel < 41) { nSchemaLevel = 41; }
|
||
#endregion
|
||
|
||
#region Version 42 new table
|
||
if (nSchemaLevel < 42)
|
||
{
|
||
|
||
DDL(
|
||
"CREATE TABLE [dbo].[AUSERMRU] ( " +
|
||
" [AID] [uniqueidentifier] NOT NULL , " +
|
||
" [ACREATED] [datetime] NOT NULL , " +
|
||
" [AUSERID] [uniqueidentifier] NOT NULL , " +
|
||
" [AOBJECTID] [uniqueidentifier] NOT NULL , " +
|
||
" [AOBJECTTYPE] [smallint] NOT NULL " +
|
||
") ON [PRIMARY] "
|
||
);
|
||
nSchemaLevel = 42;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 43 (localized text updates only
|
||
if (nSchemaLevel < 43) { nSchemaLevel = 43; }
|
||
#endregion
|
||
|
||
#region Version 44 (add column to user table)
|
||
if (nSchemaLevel < 44)
|
||
{
|
||
DDL("ALTER TABLE dbo.AUSER ADD ALASTSCHEDGROUPID uniqueidentifier NOT NULL CONSTRAINT DF_AUSER_ALASTSCHEDGROUPID DEFAULT '{A51ECBE7-792F-45bc-A88D-B16E7E6B1CDD}'");
|
||
nSchemaLevel = 44;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 45 (add column to workorder table)
|
||
if (nSchemaLevel < 45)
|
||
{
|
||
DDL("ALTER TABLE dbo.AWORKORDER DROP COLUMN ATEMPLATE");
|
||
DDL("ALTER TABLE dbo.AWORKORDER DROP COLUMN ATEMPLATEID");
|
||
DDL("ALTER TABLE dbo.AWORKORDER ADD [ATEMPLATEDESCRIPTION] [nvarchar] (255) NULL");
|
||
|
||
nSchemaLevel = 45;
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region Version 46 (add template columns, drop deprecated ones)
|
||
if (nSchemaLevel < 46)
|
||
{
|
||
//USER
|
||
DDL("ALTER TABLE dbo.AUSER DROP COLUMN AWORKORDERTEMPLATE");
|
||
DDL("ALTER TABLE dbo.AUSER DROP COLUMN AQUOTETEMPLATE");
|
||
DDL("ALTER TABLE dbo.AUSER DROP COLUMN APURCHASEORDERTEMPLATE");
|
||
DDL("ALTER TABLE dbo.AUSER ADD ADEFAULTSERVICETEMPLATEID uniqueidentifier NULL");
|
||
DDL("ALTER TABLE AUSER ADD CONSTRAINT FK_USERTEMPLATE " +
|
||
"FOREIGN KEY ( ADEFAULTSERVICETEMPLATEID ) REFERENCES " +
|
||
"AWORKORDER ( AID )");
|
||
|
||
//CLIENT
|
||
DDL("ALTER TABLE dbo.ACLIENT DROP COLUMN ASERVICETEMPLATEID");
|
||
DDL("ALTER TABLE dbo.ACLIENT ADD ADEFAULTSERVICETEMPLATEID uniqueidentifier NULL");
|
||
DDL("ALTER TABLE ACLIENT ADD CONSTRAINT FK_CLIENTTEMPLATE " +
|
||
"FOREIGN KEY ( ADEFAULTSERVICETEMPLATEID ) REFERENCES " +
|
||
"AWORKORDER ( AID )");
|
||
|
||
//GLOBAL
|
||
DDL("ALTER TABLE dbo.AGLOBAL DROP COLUMN AWORKORDERTEMPLATE");
|
||
DDL("ALTER TABLE dbo.AGLOBAL DROP COLUMN AQUOTETEMPLATE");
|
||
DDL("ALTER TABLE dbo.AGLOBAL DROP COLUMN APURCHASEORDERTEMPLATE");
|
||
DDL("ALTER TABLE dbo.AGLOBAL ADD ADEFAULTSERVICETEMPLATEID uniqueidentifier NULL");
|
||
DDL("ALTER TABLE AGLOBAL ADD CONSTRAINT FK_GLOBALTEMPLATE " +
|
||
"FOREIGN KEY ( ADEFAULTSERVICETEMPLATEID ) REFERENCES " +
|
||
"AWORKORDER ( AID )");
|
||
|
||
//REGION - UNUSED
|
||
DDL("ALTER TABLE dbo.AREGION DROP COLUMN AWORKORDERTEMPLATE");
|
||
DDL("ALTER TABLE dbo.AREGION DROP COLUMN AQUOTETEMPLATE");
|
||
DDL("ALTER TABLE dbo.AREGION DROP COLUMN APURCHASEORDERTEMPLATE");
|
||
nSchemaLevel = 46;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 47 (localized text updates only
|
||
if (nSchemaLevel < 47) { nSchemaLevel = 47; }
|
||
#endregion
|
||
|
||
#region Version 48 (Case 432 contactnotes)
|
||
if (nSchemaLevel < 48)
|
||
{
|
||
DDL("ALTER TABLE ACLIENT ADD ACONTACTNOTES ntext");
|
||
DDL("ALTER TABLE ACLIENT ADD ACONTACT nvarchar(500) NULL");
|
||
DDL("ALTER TABLE ACLIENT ADD APHONE1 nvarchar(255) NULL");
|
||
DDL("ALTER TABLE ACLIENT ADD APHONE2 nvarchar(255) NULL");
|
||
DDL("ALTER TABLE ACLIENT ADD APHONE3 nvarchar(255) NULL");
|
||
DDL("ALTER TABLE ACLIENT ADD APHONE4 nvarchar(255) NULL");
|
||
DDL("ALTER TABLE ACLIENT ADD APHONE5 nvarchar(255) NULL");
|
||
DDL("ALTER TABLE ACLIENT ADD AEMAIL nvarchar(255) NULL");
|
||
|
||
DDL("ALTER TABLE AVENDOR ADD ACONTACTNOTES ntext");
|
||
DDL("ALTER TABLE AVENDOR ADD ACONTACT nvarchar(500) NULL");
|
||
DDL("ALTER TABLE AVENDOR ADD APHONE1 nvarchar(255) NULL");
|
||
DDL("ALTER TABLE AVENDOR ADD APHONE2 nvarchar(255) NULL");
|
||
DDL("ALTER TABLE AVENDOR ADD APHONE3 nvarchar(255) NULL");
|
||
DDL("ALTER TABLE AVENDOR ADD APHONE4 nvarchar(255) NULL");
|
||
DDL("ALTER TABLE AVENDOR ADD APHONE5 nvarchar(255) NULL");
|
||
DDL("ALTER TABLE AVENDOR ADD AEMAIL nvarchar(255) NULL");
|
||
|
||
DDL("ALTER TABLE AHEADOFFICE ADD ACONTACTNOTES ntext");
|
||
DDL("ALTER TABLE AHEADOFFICE ADD ACONTACT nvarchar(500) NULL");
|
||
DDL("ALTER TABLE AHEADOFFICE ADD APHONE1 nvarchar(255) NULL");
|
||
DDL("ALTER TABLE AHEADOFFICE ADD APHONE2 nvarchar(255) NULL");
|
||
DDL("ALTER TABLE AHEADOFFICE ADD APHONE3 nvarchar(255) NULL");
|
||
DDL("ALTER TABLE AHEADOFFICE ADD APHONE4 nvarchar(255) NULL");
|
||
DDL("ALTER TABLE AHEADOFFICE ADD APHONE5 nvarchar(255) NULL");
|
||
DDL("ALTER TABLE AHEADOFFICE ADD AEMAIL nvarchar(255) NULL");
|
||
nSchemaLevel = 48;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 49 (Migrate contact data)
|
||
if (nSchemaLevel < 49) { nSchemaLevel = 49; }
|
||
#endregion
|
||
|
||
#region Version 50 (Case 71 follow ups)
|
||
if (nSchemaLevel < 50)
|
||
{
|
||
DDL("ALTER TABLE ASCHEDULEMARKER ADD AFOLLOWID uniqueidentifier");
|
||
DDL("ALTER TABLE ASCHEDULEMARKER ADD AFOLLOWTYPE smallint");
|
||
|
||
//add index
|
||
DDL(
|
||
"CREATE INDEX [IDX_FOLLOWID] ON [dbo].[ASCHEDULEMARKER]([AFOLLOWID]) ON [PRIMARY]"
|
||
);
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='ClientInfo'");
|
||
nSchemaLevel = 50;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 51 (Case 71 follow ups)
|
||
if (nSchemaLevel < 51)
|
||
{
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='WorkorderInfo'");
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='HeadOfficeInfo'");
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='UnitInfo'");
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='VendorInfo'");
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0 WHERE AFORMNAME='ContractInfo'");
|
||
nSchemaLevel = 51;
|
||
}
|
||
#endregion
|
||
#region Version 52 (localized text updates only
|
||
if (nSchemaLevel < 52) { nSchemaLevel = 52; }
|
||
#endregion
|
||
|
||
#region Version 53 (localized text updates only
|
||
if (nSchemaLevel < 53) { nSchemaLevel = 53; }
|
||
#endregion
|
||
|
||
#region Version 54 (Case 619)
|
||
if (nSchemaLevel < 54)
|
||
{
|
||
DDLNoUpper("DELETE FROM AUSERRIGHT WHERE ARIGHT='Object.ClientRequestPart'");
|
||
DDLNoUpper("DELETE FROM AUSERRIGHT WHERE ARIGHT='Object.ClientRequestTech'");
|
||
DDLNoUpper("DELETE FROM AUSERRIGHT WHERE ARIGHT='Object.ClientServiceRequestItem'");
|
||
DDLNoUpper("DELETE FROM AUSERRIGHT WHERE ARIGHT='Object.ContractPart'");
|
||
|
||
nSchemaLevel = 54;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 55 (Case 618)
|
||
if (nSchemaLevel < 55)
|
||
{
|
||
DDLNoUpper("DELETE FROM AUSERRIGHT WHERE ARIGHT='Object.UserRight'");
|
||
|
||
nSchemaLevel = 55;
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region Version 56 (localized text updates only
|
||
if (nSchemaLevel < 56) { nSchemaLevel = 56; }
|
||
#endregion
|
||
|
||
#region Version 57 (add column to user table)
|
||
if (nSchemaLevel < 57)
|
||
{
|
||
DDL("ALTER TABLE dbo.AUSER DROP CONSTRAINT DF_AUSER_ALASTSCHEDGROUPID");
|
||
DDL("ALTER TABLE dbo.AUSER DROP COLUMN ALASTSCHEDGROUPID");
|
||
DDL("ALTER TABLE dbo.AUSER ADD ALASTSCHEDGROUPID uniqueidentifier NULL CONSTRAINT DF_AUSER_ALASTSCHEDGROUPID DEFAULT '{A51ECBE7-792F-45bc-A88D-B16E7E6B1CDD}'");
|
||
nSchemaLevel = 57;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 58 (localized text updates only
|
||
if (nSchemaLevel < 58) { nSchemaLevel = 58; }
|
||
#endregion
|
||
|
||
#region Version 59 (localized text updates only
|
||
if (nSchemaLevel < 59) { nSchemaLevel = 59; }
|
||
#endregion
|
||
|
||
#region Version 60 (Update contract expiry dates if null)
|
||
if (nSchemaLevel < 60) { nSchemaLevel = 60; }
|
||
#endregion
|
||
|
||
#region MSSQL AyaNova 5.0
|
||
|
||
#region Version 61 (add region column to various tables)
|
||
if (nSchemaLevel < 61)
|
||
{
|
||
DDL("ALTER TABLE ACONTRACT ADD AREGIONID uniqueidentifier DEFAULT '{8236E8D1-CAB1-4797-9C34-93861954AE6A}' NOT NULL");
|
||
DDL("ALTER TABLE ACONTRACT ADD CONSTRAINT FK_CONTRACTREGION FOREIGN KEY (AREGIONID) REFERENCES AREGION(AID);");
|
||
|
||
DDL("ALTER TABLE ALOANITEM ADD AREGIONID uniqueidentifier DEFAULT '{8236E8D1-CAB1-4797-9C34-93861954AE6A}' NOT NULL");
|
||
DDL("ALTER TABLE ALOANITEM ADD CONSTRAINT FK_LOANREGION FOREIGN KEY (AREGIONID) REFERENCES AREGION(AID);");
|
||
|
||
DDL("ALTER TABLE ADISPATCHZONE ADD AREGIONID uniqueidentifier DEFAULT '{8236E8D1-CAB1-4797-9C34-93861954AE6A}' NOT NULL");
|
||
DDL("ALTER TABLE ADISPATCHZONE ADD CONSTRAINT FK_ZONEREGION FOREIGN KEY (AREGIONID) REFERENCES AREGION(AID);");
|
||
|
||
DDL("ALTER TABLE APROJECT ADD AREGIONID uniqueidentifier DEFAULT '{8236E8D1-CAB1-4797-9C34-93861954AE6A}' NOT NULL");
|
||
DDL("ALTER TABLE APROJECT ADD CONSTRAINT FK_PROJECTREGION FOREIGN KEY (AREGIONID) REFERENCES AREGION(AID);");
|
||
|
||
DDL("ALTER TABLE ARATE ADD AREGIONID uniqueidentifier DEFAULT '{8236E8D1-CAB1-4797-9C34-93861954AE6A}' NOT NULL");
|
||
DDL("ALTER TABLE ARATE ADD CONSTRAINT FK_RATEREGION FOREIGN KEY (AREGIONID) REFERENCES AREGION(AID);");
|
||
|
||
DDL("ALTER TABLE AREPORT ADD AREGIONID uniqueidentifier DEFAULT '{8236E8D1-CAB1-4797-9C34-93861954AE6A}' NOT NULL");
|
||
DDL("ALTER TABLE AREPORT ADD CONSTRAINT FK_REPORTREGION FOREIGN KEY (AREGIONID) REFERENCES AREGION(AID);");
|
||
|
||
DDL("ALTER TABLE APARTWAREHOUSE ADD AREGIONID uniqueidentifier DEFAULT '{8236E8D1-CAB1-4797-9C34-93861954AE6A}' NOT NULL");
|
||
DDL("ALTER TABLE APARTWAREHOUSE ADD CONSTRAINT FK_WHSREGION FOREIGN KEY (AREGIONID) REFERENCES AREGION(AID);");
|
||
|
||
nSchemaLevel = 61;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 62 WIKI stuff case 73
|
||
if (nSchemaLevel < 62)
|
||
{
|
||
|
||
DDL(
|
||
"CREATE TABLE [dbo].[AWIKIPAGE] ( " +
|
||
" [AID] [uniqueidentifier] NOT NULL , " +
|
||
" [ACREATED] [datetime] NULL , " +
|
||
" [AMODIFIED] [datetime] NULL , " +
|
||
" [ACREATOR] [uniqueidentifier] NULL , " +
|
||
" [AMODIFIER] [uniqueidentifier] NULL , " +
|
||
" [AROOTOBJECTID] [uniqueidentifier] NOT NULL , " +
|
||
" [AROOTOBJECTTYPE] [smallint] NOT NULL , " +
|
||
" [ATITLE] [nvarchar] (255) NOT NULL , " +
|
||
" [AWOBJECT] [image] NULL , " +
|
||
" [AWOBJECTSIZE] [int] NULL , " +
|
||
" [AINTERNALONLY] [bit] NOT NULL , " +
|
||
") ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] "
|
||
);
|
||
|
||
|
||
//add pk
|
||
DDL(
|
||
"ALTER TABLE [dbo].[AWIKIPAGE] ADD " +
|
||
" PRIMARY KEY NONCLUSTERED " +
|
||
" ( " +
|
||
" [AID] " +
|
||
" ) ON [PRIMARY] "
|
||
);
|
||
|
||
|
||
//Add index
|
||
DDL(
|
||
"CREATE INDEX [IDX_AWIKI1] ON [dbo].[AWIKIPAGE]([AROOTOBJECTID]) ON [PRIMARY]"
|
||
);
|
||
|
||
|
||
|
||
DDL(
|
||
"CREATE TABLE [dbo].[AFILE] ( " +
|
||
" [AID] [uniqueidentifier] NOT NULL , " +
|
||
" [ACREATED] [datetime] NOT NULL , " +
|
||
" [AMODIFIED] [datetime] NOT NULL , " +
|
||
" [ACREATOR] [uniqueidentifier] NOT NULL , " +
|
||
" [AMODIFIER] [uniqueidentifier] NOT NULL , " +
|
||
" [AROOTOBJECTID] [uniqueidentifier] NOT NULL , " +
|
||
" [AROOTOBJECTTYPE] [smallint] NOT NULL , " +
|
||
" [AFILETYPE] [smallint] NOT NULL , " +
|
||
" [ANAME] [nvarchar] (255) NULL , " +
|
||
" [AFILESIZE] [int] NULL, " +
|
||
" [AFOBJECT] [image] NULL , " +
|
||
" [AFOBJECTSIZE] [int] NULL , " +
|
||
") ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] "
|
||
);
|
||
|
||
nSchemaLevel = 62;
|
||
}
|
||
#endregion schema 62
|
||
|
||
#region Version 63 WIKI rights case 73
|
||
if (nSchemaLevel < 63)
|
||
{
|
||
AddNewUserRightToAllSecurityGroups("Object.WikiPage", SecurityLevelTypes.ReadWriteDelete);
|
||
AddNewUserRightToAllSecurityGroups("Object.AyaFile", SecurityLevelTypes.ReadWriteDelete);
|
||
nSchemaLevel = 63;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 64 WIKI global.maxfileuploadsize case 73
|
||
if (nSchemaLevel < 64)
|
||
{
|
||
|
||
DDL("ALTER TABLE dbo.AGLOBAL ADD AMAXFILESIZEMB int NULL");
|
||
nSchemaLevel = 64;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 65 (localized text updates only case 73
|
||
if (nSchemaLevel < 65) { nSchemaLevel = 65; }
|
||
#endregion
|
||
|
||
#region Version 66 Global WIKI rights case 73
|
||
if (nSchemaLevel < 66)
|
||
{
|
||
AddNewUserRightToAllSecurityGroups("Object.GlobalWikiPage", SecurityLevelTypes.ReadWriteDelete);
|
||
nSchemaLevel = 66;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 67 (localized text updates only case 73
|
||
if (nSchemaLevel < 67) { nSchemaLevel = 67; }
|
||
#endregion
|
||
|
||
#region Version 68 blow away all toolbar and explorer bar saved settings rights case 73
|
||
if (nSchemaLevel < 68)
|
||
{
|
||
//blow away all toolbar settings
|
||
//so new wiki item shows up
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0");
|
||
DDL("UPDATE AUIEXPLORERBARLAYOUT SET ALAYOUTSIZE=0");
|
||
nSchemaLevel = 68;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 69 (localized text updates only case 73
|
||
if (nSchemaLevel < 69) { nSchemaLevel = 69; }
|
||
#endregion
|
||
|
||
#region Version 70 blow away all toolbar and explorer bar saved settings for new icons case 918
|
||
if (nSchemaLevel < 70)
|
||
{
|
||
//blow away all toolbar settings
|
||
//so new wiki item shows up
|
||
DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0");
|
||
DDL("UPDATE AUIEXPLORERBARLAYOUT SET ALAYOUTSIZE=0");
|
||
nSchemaLevel = 70;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 71 CLIENT NOTIFICATION case 53
|
||
if (nSchemaLevel < 71)
|
||
{//[test] [bit] NOT NULL CONSTRAINT [DF_ACLIENT_test] DEFAULT ((1)),
|
||
|
||
//CREATE CLIENT NOTIFICATION EVEN TABLE
|
||
DDL(
|
||
"CREATE TABLE ACLIENTNOTIFYEVENT ( " +
|
||
" AID uniqueidentifier NOT NULL, " +
|
||
" ACREATED datetime, " +
|
||
" AMODIFIED datetime, " +
|
||
" ACREATOR uniqueidentifier, " +
|
||
" AMODIFIER uniqueidentifier, " +
|
||
" ACLIENTID uniqueidentifier NOT NULL, " +
|
||
" ADELIVERAFTER datetime, " +
|
||
" AOBJECT image, " +
|
||
" AOBJECTSIZE int) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] "
|
||
);
|
||
|
||
//ADD FIELD TO DELIVERY LOG FOR THIS TYPE OF DELIVERY
|
||
DDL("ALTER TABLE ANOTIFYDELIVERYLOG ADD ATOCLIENTID uniqueidentifier");
|
||
|
||
//ADD NOTIFICATION FIELDS TO REGION OBJECT
|
||
DDL("ALTER TABLE AREGION ADD ACLIENTNOTIFICATION bit NOT NULL CONSTRAINT [DF_AREGION_ACLIENTNOTIFICATION] DEFAULT ((0))");
|
||
DDL("ALTER TABLE AREGION ADD AREPLYTOEMAIL nvarchar(512)");
|
||
DDL("ALTER TABLE AREGION ADD AWBIURL nvarchar(512)");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYCSRACCEPTED bit");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYCSRMSG ntext");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYCSRREJECTED bit");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYCSRREJECTMSG ntext");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYNEWWO bit");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYNEWWOMSG ntext");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOSTATUS bit");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOSTATMSG ntext");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOSTATUSID uniqueidentifier");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOCLOSED bit");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOCLOSEDMSG ntext");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOCLOSEDATTACHWO bit");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOCLOSEDRPT uniqueidentifier");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOFOLLOWUP bit");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOFOLLOWUPMSG ntext");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYWOFOLLOWUPDAYS INTEGER");
|
||
|
||
//ADD FIELD FOR NOTIFICATION TO CLIENT OBJECT
|
||
DDL("ALTER TABLE ACLIENT ADD ASENDNOTIFICATIONS bit NOT NULL CONSTRAINT [DF_AREGION_ASENDNOTIFICATIONS] DEFAULT ((1))");
|
||
|
||
nSchemaLevel = 71;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 72 (localized text updates only case 53
|
||
if (nSchemaLevel < 72) { nSchemaLevel = 72; }
|
||
#endregion
|
||
|
||
#region Version 73 (localized text updates only case 29
|
||
if (nSchemaLevel < 73) { nSchemaLevel = 73; }
|
||
#endregion
|
||
|
||
#region Version 74 PROJECT ON PO CASE 49
|
||
if (nSchemaLevel < 74)
|
||
{
|
||
DDL("ALTER TABLE APURCHASEORDER ADD APROJECTID uniqueidentifier");
|
||
DDL("ALTER TABLE APURCHASEORDER ADD CONSTRAINT FK_POPROJECT FOREIGN KEY (APROJECTID) REFERENCES APROJECT(AID);");
|
||
|
||
nSchemaLevel = 74;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 75 CASE 78 NEW TEXT FIELDS FOR UNIT AND PORECEIPT
|
||
if (nSchemaLevel < 75)
|
||
{
|
||
DDL("ALTER TABLE AUNIT ADD ATEXT1 NVARCHAR(255)");
|
||
DDL("ALTER TABLE AUNIT ADD ATEXT2 NVARCHAR(255)");
|
||
DDL("ALTER TABLE AUNIT ADD ATEXT3 NVARCHAR(255)");
|
||
DDL("ALTER TABLE AUNIT ADD ATEXT4 NVARCHAR(255)");
|
||
|
||
DDL("ALTER TABLE APURCHASEORDERRECEIPT ADD ATEXT1 NVARCHAR(255)");
|
||
DDL("ALTER TABLE APURCHASEORDERRECEIPT ADD ATEXT2 NVARCHAR(255)");
|
||
|
||
nSchemaLevel = 75;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 76 CASE 251 banked travel
|
||
if (nSchemaLevel < 76)
|
||
{
|
||
DDL("ALTER TABLE AWORKORDERITEMTRAVEL ADD ASERVICEBANKID uniqueidentifier");
|
||
DDL("ALTER TABLE AWORKORDERITEMTRAVEL ADD CONSTRAINT FK_WOIT_SBANK FOREIGN KEY (ASERVICEBANKID) REFERENCES ASERVICEBANK(AID);");
|
||
|
||
nSchemaLevel = 76;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 77 (localized text updates only case 866 generate unit from workorder part
|
||
if (nSchemaLevel < 77) { nSchemaLevel = 77; }
|
||
#endregion
|
||
|
||
#region Version 78 case 816
|
||
if (nSchemaLevel < 78)
|
||
{
|
||
|
||
DDL("ALTER TABLE dbo.AGLOBAL ADD aLaborSchedUserDfltTimeSpan INTEGER NOT NULL DEFAULT ((60))");
|
||
DDL("ALTER TABLE dbo.AGLOBAL ADD aTravelDfltTimeSpan INTEGER NOT NULL DEFAULT ((60))");
|
||
nSchemaLevel = 78;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 79 (localized text updates only case 984
|
||
if (nSchemaLevel < 79) { nSchemaLevel = 79; }
|
||
#endregion
|
||
|
||
#region Version 80 (localized text updates only case 764, case 765
|
||
if (nSchemaLevel < 80) { nSchemaLevel = 80; }
|
||
#endregion
|
||
|
||
#region Version 81 CASE 36 report security group restriction
|
||
if (nSchemaLevel < 81)
|
||
{
|
||
DDL("ALTER TABLE AREPORT ADD ASECURITYGROUPID uniqueidentifier");
|
||
|
||
nSchemaLevel = 81;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 82 (localized text updates only case 1011
|
||
if (nSchemaLevel < 82) { nSchemaLevel = 82; }
|
||
#endregion
|
||
|
||
#region Version 83 case 1038 new toolbar layout saving
|
||
if (nSchemaLevel < 83)
|
||
{
|
||
|
||
DDL("ALTER TABLE AUIUSERFORMSETTING DROP COLUMN AFORMWIDTH");
|
||
DDL("ALTER TABLE AUIUSERFORMSETTING DROP COLUMN AFORMHEIGHT");
|
||
DDL("ALTER TABLE AUIUSERFORMSETTING DROP COLUMN ASPLITPOSITION1");
|
||
DDL("ALTER TABLE AUIUSERFORMSETTING DROP COLUMN ASPLITPOSITION2");
|
||
DDL("ALTER TABLE AUIUSERFORMSETTING DROP COLUMN ALOCATIONX");
|
||
DDL("ALTER TABLE AUIUSERFORMSETTING DROP COLUMN ALOCATIONY");
|
||
DDL("ALTER TABLE AUIUSERFORMSETTING DROP COLUMN ATOOLBARMANAGERLAYOUTSIZE");
|
||
DDL("ALTER TABLE AUIUSERFORMSETTING DROP COLUMN ATOOLBARMANAGERLAYOUTCONTENT");
|
||
DDL("ALTER TABLE AUIUSERFORMSETTING ADD ALAYOUT NTEXT");
|
||
|
||
nSchemaLevel = 83;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 84 (localized text updates only case 829)
|
||
if (nSchemaLevel < 84) { nSchemaLevel = 84; }
|
||
#endregion
|
||
|
||
#region Version 85 (localized text updates only case 864)
|
||
if (nSchemaLevel < 85) { nSchemaLevel = 85; }
|
||
#endregion
|
||
|
||
#region Version 86 //CASE 848
|
||
if (nSchemaLevel < 86)
|
||
{
|
||
DDL("ALTER TABLE ACLIENTSERVICEREQUEST ADD AREQUESTEDBY NVARCHAR(255)");
|
||
nSchemaLevel = 86;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 87 (localized text updates only case 857)
|
||
if (nSchemaLevel < 87) { nSchemaLevel = 87; }
|
||
#endregion
|
||
|
||
|
||
#endregion MSSQL ayanova 5.0
|
||
|
||
#region MSSQL AyaNova 6.0
|
||
|
||
#region Version 88 (localized text updates only case 1204)
|
||
|
||
if (nSchemaLevel < 88) { nSchemaLevel = 88; }
|
||
#endregion
|
||
|
||
#region Version 89 case 1136
|
||
|
||
if (nSchemaLevel < 89)
|
||
{
|
||
DDL("ALTER TABLE AGLOBAL ADD aNotifyEncryption NVARCHAR(255)");
|
||
nSchemaLevel = 89;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 90 case 1219
|
||
if (nSchemaLevel < 90)
|
||
{
|
||
DDL("ALTER TABLE AUSER ADD ALASTSCHEDSTARTDATE datetime");
|
||
DDL("ALTER TABLE AUSER ADD ALASTSCHEDSTOPDATE datetime");
|
||
DDL("ALTER TABLE AUSER ADD ALASTSCHEDVIEW SMALLINT");
|
||
nSchemaLevel = 90;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 91 (Case 1163)
|
||
if (nSchemaLevel < 91)
|
||
{
|
||
//9999=empty
|
||
DDL("ALTER TABLE AUSER ADD ATIMEZONEOFFSET DECIMAL(19,5) DEFAULT 9999 NOT NULL");
|
||
|
||
nSchemaLevel = 91;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 92 (Case 1290)
|
||
if (nSchemaLevel < 92)
|
||
{
|
||
|
||
|
||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
DDL("CREATE CLUSTERED INDEX IDX6_ASERVICEBANK_CREAT ON dbo.ASERVICEBANK (ACREATED) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_AVENDOR_CVR ON dbo.AVENDOR (AID)INCLUDE (ANAME) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_AUSRREGION ON dbo.AUSER (AID) INCLUDE ( AREGIONID) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_APROJECTIDNAME ON dbo.APROJECT (AID) INCLUDE (ANAME) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_ACLIENT_CLIENTSELECTOR ON dbo.ACLIENT (ANAME) INCLUDE ( AID, AACTIVE, AREGIONID) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_ACLIENTDISPZN ON dbo.ACLIENT (AID,ADISPATCHZONEID) INCLUDE (ANAME) ");
|
||
DDL("CREATE CLUSTERED INDEX IDX6_AWO ON dbo.AWORKORDER (ACREATED) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_AWORKORDER_CVR ON dbo.AWORKORDER " +
|
||
"( " +
|
||
" AWORKORDERTYPE, " +
|
||
" AID, " +
|
||
" APROJECTID, " +
|
||
" AFROMPMID, " +
|
||
" AFROMQUOTEID, " +
|
||
" AWORKORDERCATEGORYID, " +
|
||
" ACLIENTID " +
|
||
") " +
|
||
"INCLUDE ( ACREATED, " +
|
||
"AMODIFIED, " +
|
||
"AINTERNALREFERENCENUMBER, " +
|
||
"ACUSTOMERREFERENCENUMBER, " +
|
||
"AONSITE, " +
|
||
"ACUSTOMERCONTACTNAME, " +
|
||
"ASUMMARY, " +
|
||
"ACLOSED, " +
|
||
"ASERVICECOMPLETED) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_AUNITMODEL_CVR2 ON dbo.AUNITMODEL (AUNITMODELCATEGORYID, AID, AVENDORID) INCLUDE ( ANAME) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_AUNITMODELIDVEND ON dbo.AUNITMODEL (AID,AVENDORID) INCLUDE (ANAME,AMODELNUMBER) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_AUNIT_CVR ON dbo.AUNIT (AID,AUNITMODELID) INCLUDE (ASERIAL,APURCHASEDDATE,ATEXT1,ATEXT2,ATEXT3,ATEXT4) ");
|
||
DDL("CREATE CLUSTERED INDEX IDX6_AWOITEM ON dbo.AWORKORDERITEM (ACREATED) ");
|
||
DDL("CREATE CLUSTERED INDEX IDX6_ALOCALIZEDTEXT_CL ON dbo.ALOCALIZEDTEXT (ALOCALE,AKEY) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_ACLIENTNOTIFYEVENT_CREAT ON dbo.ACLIENTNOTIFYEVENT (ACREATED) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_AADDRESS_CVR ON dbo.AADDRESS (AROOTOBJECTID,AADDRESSTYPE) " +
|
||
"INCLUDE ( ADELIVERYADDRESS,ACITY,ASTATEPROV,ACOUNTRYCODE,ACOUNTRY,APOSTAL,ALONGITUDE,ALATITUDE) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_AGRIDFILTER_NAME ON dbo.AGRIDFILTER (ANAME) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_ASEARCHKEY ON dbo.ASEARCHKEY (AWORDID,ASOURCEOBJECTTYPE,ASOURCEOBJECTID) ");
|
||
DDL("CREATE CLUSTERED INDEX IDX6_ASEARCHDICTIONARY ON dbo.ASEARCHDICTIONARY (AWORD) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_ASEARCHDICTIONARY_NONCLUST ON dbo.ASEARCHDICTIONARY (AWORD) ");
|
||
DDL("CREATE CLUSTERED INDEX IDX6_ASCHEDULEMARKER_CVR ON dbo.ASCHEDULEMARKER (ASTARTDATE,ASTOPDATE) ");
|
||
DDL("CREATE CLUSTERED INDEX IDX6_AWOIMISCEXP ON dbo.AWORKORDERITEMMISCEXPENSE (ACREATED) ");
|
||
DDL("CREATE CLUSTERED INDEX IDX6_AWOILOA ON dbo.AWORKORDERITEMLOAN (ACREATED) ");
|
||
DDL("CREATE CLUSTERED INDEX IDX6_AWOSVC ON dbo.AWORKORDERSERVICE (ACREATED) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_AWORKORDERSERVICE_CVR ON dbo.AWORKORDERSERVICE (AWORKORDERID) " +
|
||
"INCLUDE ( AWORKORDERSTATUSID,ASERVICEDATE,AINVOICENUMBER,ASERVICENUMBER,ACLOSEBYDATE) ");
|
||
DDL("CREATE CLUSTERED INDEX IDX6_AWOIOUT ON dbo.AWORKORDERITEMOUTSIDESERVICE (ACREATED) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_AWOIOUTSIDESERVICECVR ON dbo.AWORKORDERITEMOUTSIDESERVICE (AWORKORDERITEMID,AVENDORSENTTOID,AVENDORSENTVIAID) " +
|
||
"INCLUDE ( ARMANUMBER,ATRACKINGNUMBER,AREPAIRCOST,AREPAIRPRICE,ASHIPPINGCOST,ASHIPPINGPRICE,ADATESENT,ASENDERUSERID,ADATEETA,ADATERETURNED) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_ANOTIFYEVENT_APPLIESTO ON dbo.ANOTIFYEVENT (AAPPLIESTOUSERID) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_APART_4INVENT ON dbo.APART " +
|
||
"(AID,APARTASSEMBLYID,APARTCATEGORYID,AALTERNATIVEWHOLESALERID,AWHOLESALERID,AMANUFACTURERID,APARTNUMBER,AACTIVE,ARETAIL,ACOST) " +
|
||
"INCLUDE (ANAME,AUPC) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_APART_CVR ON dbo.APART (AID,APARTASSEMBLYID,APARTCATEGORYID,AMANUFACTURERID) " +
|
||
"INCLUDE (ANAME,APARTNUMBER,AUPC) ");
|
||
DDL("CREATE CLUSTERED INDEX IDX6_AWOIPRTRQST ON dbo.AWORKORDERITEMPARTREQUEST (ACREATED) ");
|
||
DDL("CREATE CLUSTERED INDEX IDX6_AWOIPRT ON dbo.AWORKORDERITEMPART (ACREATED) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_AWORKORDERITEMPARTCVR ON dbo.AWORKORDERITEMPART (AWORKORDERITEMID,APARTSERIALID,APARTWAREHOUSEID,APARTID) " +
|
||
"INCLUDE (AID,AQUANTITY,ACOST,APRICE,ADISCOUNT,ADESCRIPTION,AUSED,ATAXPARTSALEID,AQUANTITYRESERVED) ");
|
||
DDL("CREATE CLUSTERED INDEX IDX6_AWOITRVL ON dbo.AWORKORDERITEMTRAVEL (ACREATED) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_AWORKORDERITEMTRAVEL_CVR ON dbo.AWORKORDERITEMTRAVEL (AWORKORDERITEMID) " +
|
||
"INCLUDE (AID,AUSERID,ATRAVELSTARTDATE,ATRAVELSTOPDATE,ATRAVELRATEID,ATRAVELDETAILS,ATRAVELRATEQUANTITY,ANOCHARGEQUANTITY,ADISTANCE,ATAXRATESALEID) ");
|
||
DDL("CREATE CLUSTERED INDEX IDX6_AWOISCHEDUSR ON dbo.AWORKORDERITEMSCHEDULEDUSER (ACREATED) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_AWORKORDERITEMSCHEDULEDUSER_CVR ON dbo.AWORKORDERITEMSCHEDULEDUSER (AWORKORDERITEMID) " +
|
||
"INCLUDE ( AID,AUSERID,AESTIMATEDQUANTITY,ASTARTDATE,ASTOPDATE,ASERVICERATEID) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_AWOISCHEDULEDUSER_CVR2 ON dbo.AWORKORDERITEMSCHEDULEDUSER (ASTOPDATE,ASTARTDATE,AWORKORDERITEMID) " +
|
||
"INCLUDE ( AID,AUSERID) ");
|
||
DDL("CREATE CLUSTERED INDEX IDX6_AWOILAB ON dbo.AWORKORDERITEMLABOR (ACREATED) ");
|
||
DDL("CREATE NONCLUSTERED INDEX IDX6_APARTBYWAREHOUSEINVENTORY_APARTID ON dbo.APARTBYWAREHOUSEINVENTORY (APARTID) ");
|
||
|
||
|
||
|
||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
||
nSchemaLevel = 92;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 93 (localized text updates only case 812)
|
||
|
||
if (nSchemaLevel < 93) { nSchemaLevel = 93; }
|
||
#endregion
|
||
|
||
|
||
#region Version 94 case 812
|
||
if (nSchemaLevel < 94)
|
||
{
|
||
DDL("ALTER TABLE ANOTIFYEVENT ADD ASAVEDMESSAGE nvarchar(1024)");
|
||
|
||
nSchemaLevel = 94;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 95 (localized text updates only case 812)
|
||
|
||
if (nSchemaLevel < 95) { nSchemaLevel = 95; }
|
||
#endregion
|
||
|
||
|
||
#endregion MSSQL ayanova 6.0
|
||
|
||
#region MSSQL AyaNova 6.2
|
||
#region Version 96 case 1348
|
||
if (nSchemaLevel < 96)
|
||
{
|
||
DDL("UPDATE J " +
|
||
"SET J.ACREATOR='2ECC77FC-69E2-4A7E-B88D-BD0ECAF36AED' " +
|
||
"FROM " +
|
||
"AWORKORDERITEMPARTREQUEST J " +
|
||
"LEFT JOIN AUSER N ON N.AID = J.ACREATOR " +
|
||
"WHERE N.AID IS NULL ");
|
||
|
||
DDL(
|
||
"ALTER TABLE [dbo].[AWORKORDERITEMPARTREQUEST] ADD " +
|
||
" CONSTRAINT [FK_WOIPTRQST_CREATOR] FOREIGN KEY " +
|
||
" ( " +
|
||
" [ACREATOR] " +
|
||
" ) REFERENCES [dbo].[AUSER] ( " +
|
||
" [AID] " +
|
||
" ) "
|
||
);
|
||
nSchemaLevel = 96;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 97 case 1357 and case 1380
|
||
if (nSchemaLevel < 97)
|
||
{
|
||
|
||
DDL(
|
||
"ALTER TABLE AWORKORDERITEMLOAN DROP COLUMN AACTIVE;"
|
||
);//case 1357
|
||
|
||
DDL("ALTER TABLE ANOTIFYEVENT ALTER COLUMN ASAVEDMESSAGE NVARCHAR(1024) NULL");//case 1380
|
||
|
||
nSchemaLevel = 97;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 98 case 1382
|
||
if (nSchemaLevel < 98)
|
||
{
|
||
DDL("ALTER TABLE ANOTIFYEVENT ADD ACREATED datetime NULL");
|
||
nSchemaLevel = 98;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 99 case 1382
|
||
if (nSchemaLevel < 99)
|
||
{
|
||
DDL("ALTER TABLE AGLOBAL ADD ASMTPRETRY BIT");
|
||
nSchemaLevel = 99;
|
||
}
|
||
#endregion
|
||
|
||
|
||
|
||
#endregion mssql ayanova 6.2
|
||
|
||
#endregion old schema updates
|
||
|
||
#region MSSQL AyaNova 7.0
|
||
|
||
#region Version 100 case 1194
|
||
|
||
if (nSchemaLevel < 100)
|
||
{
|
||
DDL("ALTER TABLE AGLOBAL ADD AFORMCUSTOM NTEXT");
|
||
nSchemaLevel = 100;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 101 Object.WorkorderItemUnit right case 1317
|
||
if (nSchemaLevel < 101)
|
||
{
|
||
AddNewUserRightToAllSecurityGroups("Object.WorkorderItemUnit", SecurityLevelTypes.ReadWriteDelete);
|
||
nSchemaLevel = 101;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 102 remove object.Workorder right per case 1387
|
||
if (nSchemaLevel < 102)
|
||
{
|
||
DDLNoUpper("DELETE FROM AUSERRIGHT WHERE ARIGHT='Object.Workorder'");
|
||
nSchemaLevel = 102;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 103 case 1346
|
||
|
||
if (nSchemaLevel < 103)
|
||
{
|
||
DDL("ALTER TABLE AWORKORDERSERVICE ADD ASIGNATURE NTEXT");
|
||
DDL("ALTER TABLE AWORKORDERSERVICE ADD ASIGNED DATETIME NULL");
|
||
nSchemaLevel = 103;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 104 case 1346
|
||
|
||
if (nSchemaLevel < 104)
|
||
{
|
||
DDL("ALTER TABLE AGLOBAL ADD ASIGNATURETITLE NTEXT");
|
||
DDL("ALTER TABLE AGLOBAL ADD ASIGNATUREHEADER NTEXT");
|
||
DDL("ALTER TABLE AGLOBAL ADD ASIGNATUREFOOTER NTEXT");
|
||
|
||
nSchemaLevel = 104;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 105 zap explorer bar layout and localized text updates case 1394
|
||
if (nSchemaLevel < 105) { nSchemaLevel = 105; }
|
||
#endregion
|
||
|
||
#region Version 106 case 1394
|
||
if (nSchemaLevel < 106)
|
||
{
|
||
DDL("UPDATE AUIEXPLORERBARLAYOUT SET ALAYOUTSIZE=0");
|
||
nSchemaLevel = 106;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 107 (localized text updates only case 1446, case 1519
|
||
if (nSchemaLevel < 107) { nSchemaLevel = 107; }
|
||
#endregion
|
||
|
||
#region Version 108 case 1553
|
||
if (nSchemaLevel < 108)
|
||
{
|
||
|
||
DDL("ALTER TABLE AUSER ADD AMAINGRIDLASTROWCOUNT INT");
|
||
DDL("ALTER TABLE AUSER ADD ASCHEDULELASTVIEWOPENONLY BIT");
|
||
DDL("ALTER TABLE AUSER ADD ASCHEDULELASTPRINTSETTINGS NTEXT");
|
||
|
||
nSchemaLevel = 108;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 109 case 1392
|
||
if (nSchemaLevel < 109)
|
||
{
|
||
DDL("ALTER TABLE AGLOBAL ADD ASCHEDUSERNONTODAYSTARTTIME DATETIME NULL");
|
||
nSchemaLevel = 109;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 110 case 1487
|
||
if (nSchemaLevel < 110)
|
||
{
|
||
DDL("ALTER TABLE AGLOBAL ADD AMAINGRIDAUTOREFRESH BIT");
|
||
nSchemaLevel = 110;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 111 (localized text updates only case 1346)
|
||
if (nSchemaLevel < 111) { nSchemaLevel = 111; }
|
||
#endregion
|
||
|
||
#region Version 112 (localized text updates only case 1556)
|
||
if (nSchemaLevel < 112) { nSchemaLevel = 112; }
|
||
#endregion
|
||
|
||
#region Version 113 (localized text updates only case 1140)
|
||
if (nSchemaLevel < 113) { nSchemaLevel = 113; }
|
||
#endregion
|
||
|
||
#region Version 114 (case 1151)
|
||
if (nSchemaLevel < 114)
|
||
{
|
||
DDL(
|
||
" CREATE TABLE AREGIONNOTIFYSTAT ( " +
|
||
" AID UNIQUEIDENTIFIER NOT NULL, " +
|
||
" AREGIONID UNIQUEIDENTIFIER NOT NULL, " +
|
||
" ACREATED DATETIME, " +
|
||
" AMODIFIED DATETIME, " +
|
||
" ACREATOR UNIQUEIDENTIFIER, " +
|
||
" AMODIFIER UNIQUEIDENTIFIER, " +
|
||
" AACTIVE BIT DEFAULT 0 NOT NULL, " +
|
||
" ANOTIFYWOSTATMSG NTEXT, " +
|
||
" ANOTIFYWOSTATUSID UNIQUEIDENTIFIER, " +
|
||
" AWOREPORTID UNIQUEIDENTIFIER " +
|
||
" ); "
|
||
);
|
||
|
||
DDL("ALTER TABLE AREGIONNOTIFYSTAT ADD CONSTRAINT FK_RGN_NTFY_STAT FOREIGN KEY (AREGIONID) REFERENCES AREGION(AID);");
|
||
|
||
|
||
nSchemaLevel = 114;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 115 (case 1151)
|
||
if (nSchemaLevel < 115) { nSchemaLevel = 115; }
|
||
#endregion
|
||
|
||
#region Version 116 (case 1499)
|
||
if (nSchemaLevel < 116)
|
||
{
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYQUOTESTATUS BIT");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYQUOTESTATMSG NTEXT");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYQUOTESTATUSTYPE SMALLINT");
|
||
DDL("ALTER TABLE AREGION ADD ANOTIFYQUOTESTATUSRPT UNIQUEIDENTIFIER");
|
||
|
||
nSchemaLevel = 116;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 117 (localized text updates only case 1555)
|
||
if (nSchemaLevel < 117) { nSchemaLevel = 117; }
|
||
#endregion
|
||
|
||
#region Version 118 (Unit object updates only case 1687)
|
||
if (nSchemaLevel < 118) { nSchemaLevel = 118; }
|
||
#endregion
|
||
#endregion mssql aya 7
|
||
|
||
#region MSSQL AyaNova 7.2
|
||
|
||
#region Version 119 (Localized text updates only case 1805)
|
||
if (nSchemaLevel < 119) { nSchemaLevel = 119; }
|
||
#endregion
|
||
|
||
#region Version 120 case 1805
|
||
if (nSchemaLevel < 120)
|
||
{
|
||
DDL("UPDATE AUIEXPLORERBARLAYOUT SET ALAYOUTSIZE=0");
|
||
nSchemaLevel = 120;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 121 (Localized text updates only case 1805)
|
||
if (nSchemaLevel < 121) { nSchemaLevel = 121; }
|
||
#endregion
|
||
|
||
#region Version 122 (Localized text updates only case 1805)
|
||
if (nSchemaLevel < 122) { nSchemaLevel = 122; }
|
||
#endregion
|
||
|
||
#region Version 123 (Localized text updates only case 1805)
|
||
if (nSchemaLevel < 123) { nSchemaLevel = 123; }
|
||
#endregion
|
||
|
||
#region Version 124 (Localized text updates only case 1122)
|
||
if (nSchemaLevel < 124) { nSchemaLevel = 124; }
|
||
#endregion
|
||
|
||
#region Version 125 (Localized text updates only case 1810)
|
||
if (nSchemaLevel < 125) { nSchemaLevel = 125; }
|
||
#endregion
|
||
|
||
#region Version 126 (Localized text updates only case 1909)
|
||
if (nSchemaLevel < 126) { nSchemaLevel = 126; }
|
||
#endregion
|
||
|
||
#endregion mssql aya 7.2
|
||
|
||
#region MSSQL AyaNova 7.3
|
||
|
||
#region Version 127 (Localized text updates only case 1995)
|
||
if (nSchemaLevel < 127) { nSchemaLevel = 127; }
|
||
#endregion
|
||
|
||
#region Version 128 (Localized text updates only case 2067)
|
||
if (nSchemaLevel < 128) { nSchemaLevel = 128; }
|
||
#endregion
|
||
|
||
#endregion mssql v 7.3
|
||
|
||
#region MSSQL AyaNova 7.4
|
||
|
||
|
||
|
||
#region Version 129 (case 2094 Subscription licensing)
|
||
//reset all forms if the schema at the start was less than 119
|
||
//which is when Dashboard feature was added and is the last main
|
||
//item which could be missing from display due to old form settings
|
||
if (nSchemaLevelAtStart < 119)
|
||
{
|
||
//RESET explorer bar layout to catch any items not caught before
|
||
//DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0");
|
||
DDL("UPDATE AUIEXPLORERBARLAYOUT SET ALAYOUTSIZE=0");
|
||
}
|
||
//case 2094
|
||
if (nSchemaLevel < 129) { nSchemaLevel = 129; }
|
||
#endregion
|
||
|
||
#endregion mssql v 7.4
|
||
|
||
|
||
#region MSSQL AyaNova 7.5
|
||
|
||
#region Version 130 (case 3150 new unit name display formats)
|
||
//case 3150
|
||
if (nSchemaLevel < 130) { nSchemaLevel = 130; }
|
||
#endregion
|
||
|
||
#region Version 131 (case 1968)
|
||
if (nSchemaLevel < 131)
|
||
{
|
||
//ALTER TABLE <table name> ADD <column name> BIT NOT NULL DEFAULT 0;
|
||
DDL("ALTER TABLE ASCHEDULEMARKER ADD ACOMPLETED BIT NOT NULL DEFAULT 0");
|
||
nSchemaLevel = 131;
|
||
}
|
||
#endregion
|
||
|
||
#region Version 132 (case 1968 schedmarker "completed")
|
||
//case 1968
|
||
if (nSchemaLevel < 132) { nSchemaLevel = 132; }
|
||
#endregion
|
||
|
||
#region Version 133 blow explorer bar saved settings case 1967
|
||
//case 1967
|
||
if (nSchemaLevel < 133)
|
||
{
|
||
|
||
//DDLNoUpper("UPDATE AUIUSERFORMSETTING SET ATOOLBARMANAGERLAYOUTSIZE=0");
|
||
DDL("UPDATE AUIEXPLORERBARLAYOUT SET ALAYOUTSIZE=0");
|
||
nSchemaLevel = 133;
|
||
}
|
||
#endregion
|
||
|
||
#region MSSQL Version 134 (case 3132)
|
||
if (nSchemaLevel < 134)
|
||
{
|
||
DDL("ALTER TABLE AWORKORDER ADD ATEMPLATEFRESHPRICE BIT NOT NULL DEFAULT 0");
|
||
nSchemaLevel = 134;
|
||
}
|
||
#endregion
|
||
|
||
#region MSSQL Version 135 Case 329
|
||
if (nSchemaLevel < 135)
|
||
{
|
||
|
||
DDL("DROP INDEX [dbo].[AINTEGRATIONMAP].[IDX_AINTEGRATIONMAP2]");
|
||
|
||
//Case 329 add aintegrationid to index (again)
|
||
//Add index
|
||
DDL(
|
||
"CREATE UNIQUE INDEX [IDX_AINTEGRATIONMAP2] ON [dbo].[AINTEGRATIONMAP]([AROOTOBJECTID], [AROOTOBJECTTYPE] ,[AINTEGRATIONID]) ON [PRIMARY]"
|
||
);
|
||
|
||
|
||
nSchemaLevel = 135;
|
||
}
|
||
#endregion
|
||
|
||
#region MSSQL Version 136 Case 3740
|
||
if (nSchemaLevel < 136)
|
||
{
|
||
|
||
DDL(
|
||
@"-- Delete 'closed none received' orphan poitems
|
||
delete APURCHASEORDERITEM from APURCHASEORDERITEM
|
||
left outer join APURCHASEORDER on APURCHASEORDERITEM.APURCHASEORDERID = APURCHASEORDER.AID
|
||
where APURCHASEORDER.ASTATUS=6;
|
||
|
||
-- Fix 'Closed - partially received' po items with mismatching quantities
|
||
update APURCHASEORDERITEM set AQUANTITYORDERED=AQUANTITYRECEIVED, ACLOSED=1 from APURCHASEORDERITEM
|
||
left outer join APURCHASEORDER on APURCHASEORDERITEM.APURCHASEORDERID = APURCHASEORDER.AID
|
||
where APURCHASEORDER.ASTATUS=4;
|
||
|
||
-- **** FIX INVENTORY ON ORDER ****
|
||
-- Reset all ON ORDER to zero
|
||
update APARTBYWAREHOUSEINVENTORY set AQUANTITYONORDER=0;
|
||
-- Update on order to actual values in PO Items
|
||
update APARTBYWAREHOUSEINVENTORY
|
||
set AQUANTITYONORDER=zACTUAL.zActualQuantityOnOrder
|
||
from(
|
||
select APURCHASEORDERITEM.APARTID, APURCHASEORDERITEM.APARTWAREHOUSEID, APURCHASEORDERITEM.AQUANTITYORDERED-APURCHASEORDERITEM.AQUANTITYRECEIVED as zActualQuantityOnOrder
|
||
from APURCHASEORDERITEM
|
||
where APURCHASEORDERITEM.ACLOSED=0
|
||
) as zACTUAL
|
||
where
|
||
zACTUAL.APARTWAREHOUSEID= APARTBYWAREHOUSEINVENTORY.APARTWAREHOUSEID and
|
||
zACTUAL.APARTID=APARTBYWAREHOUSEINVENTORY.APARTID;
|
||
-- *** FIX INVENTORY COMMITTED ***
|
||
-- Reset all on order committed to zero
|
||
update APARTBYWAREHOUSEINVENTORY set AQTYONORDERCOMMITTED = 0;
|
||
-- Update on order committed to actual values in PO Items
|
||
update APARTBYWAREHOUSEINVENTORY
|
||
set AQTYONORDERCOMMITTED=zACTUAL.zActualQuantityOnOrder
|
||
from(
|
||
select APURCHASEORDERITEM.APARTID, APURCHASEORDERITEM.APARTWAREHOUSEID, APURCHASEORDERITEM.AQUANTITYORDERED-APURCHASEORDERITEM.AQUANTITYRECEIVED as zActualQuantityOnOrder
|
||
from APURCHASEORDERITEM
|
||
where APURCHASEORDERITEM.ACLOSED=0 and APURCHASEORDERITEM.AWORKORDERITEMPARTREQUESTID is not null
|
||
) as zACTUAL
|
||
where
|
||
zACTUAL.APARTWAREHOUSEID= APARTBYWAREHOUSEINVENTORY.APARTWAREHOUSEID and
|
||
zACTUAL.APARTID=APARTBYWAREHOUSEINVENTORY.APARTID;");
|
||
|
||
|
||
|
||
nSchemaLevel = 136;
|
||
}
|
||
#endregion
|
||
|
||
|
||
#endregion mssql v 7.5
|
||
|
||
//UPDATE CASE 1354 EVERY TIME A NEW SCHEMA VERSION IS DONE
|
||
//NEW MSSQL SCHEMA LEVELS ABOVE HERE
|
||
}
|
||
break;
|
||
default:
|
||
throw new ApplicationException("DBManager-SchemaUpdate: UNKNOWN DB TYPE");
|
||
|
||
}
|
||
|
||
|
||
//used for diagnosting schema update failure on client db
|
||
// Finish:
|
||
//---------------------
|
||
//Set the new schema level in the globalex table
|
||
DBCommandWrapper cm = DBUtil.GetCommandFromSQL(
|
||
"UPDATE AGLOBALEX SET ADBSCHEMA=@aNewSchema;");
|
||
cm.AddInParameter("@aNewSchema", DbType.Int32, nSchemaLevel);
|
||
DBUtil.DB.ExecuteNonQuery(cm, _tr);
|
||
//---------------------
|
||
|
||
_tr.Commit();
|
||
|
||
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
_tr.Rollback();
|
||
throw new System.ApplicationException("\r\n\r\n*** FATAL ERROR SCHEMA UPDATE FAILED ***\r\nCONTACT TECHNICAL SUPPORT IMMEDIATELY\r\n\r\n" + ex.Message, ex);
|
||
}
|
||
finally
|
||
{
|
||
|
||
_cn.Close();
|
||
}
|
||
|
||
}//end of using block
|
||
|
||
#region ********* NEW COLUMN UPDATES ***************
|
||
|
||
#region OLD new column updates
|
||
#region Version 61 case 58 region id default value
|
||
if (nSchemaLevelAtStart < 61)
|
||
{
|
||
DDLNoTrans("UPDATE ACONTRACT SET AREGIONID = '{8236E8D1-CAB1-4797-9C34-93861954AE6A}'");
|
||
DDLNoTrans("UPDATE ALOANITEM SET AREGIONID = '{8236E8D1-CAB1-4797-9C34-93861954AE6A}'");
|
||
DDLNoTrans("UPDATE ADISPATCHZONE SET AREGIONID = '{8236E8D1-CAB1-4797-9C34-93861954AE6A}'");
|
||
DDLNoTrans("UPDATE APROJECT SET AREGIONID = '{8236E8D1-CAB1-4797-9C34-93861954AE6A}'");
|
||
DDLNoTrans("UPDATE ARATE SET AREGIONID = '{8236E8D1-CAB1-4797-9C34-93861954AE6A}'");
|
||
DDLNoTrans("UPDATE AREPORT SET AREGIONID = '{8236E8D1-CAB1-4797-9C34-93861954AE6A}'");
|
||
DDLNoTrans("UPDATE AWORKORDER SET AREGIONID = '{8236E8D1-CAB1-4797-9C34-93861954AE6A}'");
|
||
DDLNoTrans("UPDATE APARTWAREHOUSE SET AREGIONID = '{8236E8D1-CAB1-4797-9C34-93861954AE6A}'");
|
||
|
||
}
|
||
|
||
if (nSchemaLevelAtStart < 64)
|
||
{
|
||
DDLNoTrans("UPDATE AGLOBAL SET AMAXFILESIZEMB = 50");
|
||
}
|
||
|
||
//case 1030
|
||
if (nSchemaLevelAtStart < 71)
|
||
{
|
||
DDLNoTrans("UPDATE AREGION SET AREPLYTOEMAIL = 'youremail.here.com'");
|
||
}
|
||
#endregion
|
||
|
||
#region version 98 case 1382
|
||
if (nSchemaLevelAtStart < 98)
|
||
{
|
||
DBCommandWrapper cm = DBUtil.GetCommandFromSQL(
|
||
"UPDATE ANOTIFYEVENT SET ACREATED=@CREATED");
|
||
cm.AddInParameter("@Created", DbType.DateTime, DBUtil.ToUTC(DBUtil.CurrentWorkingDateTime));
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
}
|
||
#endregion
|
||
|
||
|
||
//case 1346
|
||
if (nSchemaLevelAtStart < 104)
|
||
{
|
||
DDLNoTrans("UPDATE AGLOBAL SET ASIGNATURETITLE = 'Please sign below'");
|
||
DDLNoTrans("UPDATE AGLOBAL SET ASIGNATUREHEADER = 'By signing below you agree to terms for service provided'");
|
||
}
|
||
|
||
//case 1487
|
||
if (nSchemaLevelAtStart < 110)
|
||
{
|
||
DDLNoTrans("UPDATE AGLOBAL SET AMAINGRIDAUTOREFRESH=1");
|
||
}
|
||
#endregion old new column updates
|
||
|
||
//case 1968
|
||
if (nSchemaLevelAtStart < 131)
|
||
{
|
||
//DDLNoTrans("UPDATE ASCHEDULEMARKER SET ACOMPLETED=1");
|
||
DBCommandWrapper cm = DBUtil.GetCommandFromSQL(
|
||
"UPDATE ASCHEDULEMARKER SET ACOMPLETED=1 WHERE ASTOPDATE < @NOW");
|
||
cm.AddInParameter("@NOW", DbType.DateTime, DBUtil.ToUTC(DBUtil.CurrentWorkingDateTime));
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region ********* LOCALIZED TEXT UPDATES ************
|
||
#region OLD
|
||
#region schema v5 localized text additions
|
||
if (nSchemaLevelAtStart < 5)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Address.Label.CopyToPhysical";
|
||
l.DisplayText = "Copy to physical address";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Address.Label.CopyToPostal";
|
||
l.DisplayText = "Copy to postal address";
|
||
l.Save();
|
||
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Common.Label.Description";
|
||
l.DisplayText = "Description";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Common.Label.Name";
|
||
l.DisplayText = "Name";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Error.Object.DuplicateNameWarning";
|
||
l.DisplayText = "Warning: There is an existing item in the database with the same name";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Help.License";
|
||
l.DisplayText = "License";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "User.Label.MustBeScheduleable";
|
||
l.DisplayText = "This user must be a Scheduleable User type to preserve data history";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "User.Label.MustBeActive";
|
||
l.DisplayText = "This user must be active as it has open schedule items";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region schema v8 localized text additions
|
||
if (nSchemaLevelAtStart < 8)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.FilterAvailableTo";
|
||
l.DisplayText = "Available to";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.AnyUser";
|
||
l.DisplayText = "All users";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.FilterNone";
|
||
l.DisplayText = "No filter";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.FilterUnsaved";
|
||
l.DisplayText = "Unsaved filter";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.FirstRowsAll";
|
||
l.DisplayText = "All rows";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.FirstRows100";
|
||
l.DisplayText = "First 100 rows";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.FirstRows500";
|
||
l.DisplayText = "First 500 rows";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.FirstRows1000";
|
||
l.DisplayText = "First 1000 rows";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "GridFilter.Label.Name";
|
||
l.DisplayText = "Filter name";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "O.GridFilter";
|
||
l.DisplayText = "GridFilter";
|
||
l.Save();
|
||
|
||
}
|
||
|
||
//Ditch the partbin key which shouldn't be there
|
||
DBCommandWrapper cm2 = DBUtil.GetCommandFromSQL("DELETE FROM ALOCALIZEDTEXT WHERE AKEY='O.PartBin'");
|
||
DBUtil.DB.ExecuteNonQuery(cm2);
|
||
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region schema v9 localized text additions
|
||
if (nSchemaLevelAtStart < 9)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "RateUnitChargeDescription.Label.NamePlural";
|
||
l.DisplayText = "Plural name";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region schema v14 localized text additions
|
||
if (nSchemaLevelAtStart < 14)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "O.Workorder.Close";
|
||
l.DisplayText = "Close work order";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region schema v20 localized text additions
|
||
if (nSchemaLevelAtStart < 20)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ClientServiceRequest.Label.List";
|
||
l.DisplayText = "Customer service requests";
|
||
l.Save();
|
||
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ClientServiceRequest.Label.Status";
|
||
l.DisplayText = "Status";
|
||
l.Save();
|
||
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ClientServiceRequest.Label.Title";
|
||
l.DisplayText = "Title";
|
||
l.Save();
|
||
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ClientServiceRequest.Label.Details";
|
||
l.DisplayText = "Details";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ClientServiceRequestStatus.Accepted";
|
||
l.DisplayText = "Accepted";
|
||
l.Save();
|
||
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ClientServiceRequestStatus.Declined";
|
||
l.DisplayText = "Declined";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ClientServiceRequestStatus.Open";
|
||
l.DisplayText = "Open";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ClientServiceRequestPriority.NotUrgent";
|
||
l.DisplayText = "Not urgent";
|
||
l.Save();
|
||
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ClientServiceRequestPriority.ASAP";
|
||
l.DisplayText = "ASAP";
|
||
l.Save();
|
||
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ClientServiceRequestPriority.Emergency";
|
||
l.DisplayText = "Emergency";
|
||
l.Save();
|
||
|
||
|
||
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region schema v22 localized text additions
|
||
if (nSchemaLevelAtStart < 22)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ClientServiceRequest.Label.AcceptToNew";
|
||
l.DisplayText = "Accept to new work order";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ClientServiceRequest.Label.AcceptToExisting";
|
||
l.DisplayText = "Accept to existing work order";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ClientServiceRequest.Label.Reject";
|
||
l.DisplayText = "Reject service request";
|
||
l.Save();
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region schema v25 Existing localized text Modifications
|
||
if (nSchemaLevelAtStart < 25)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
LocalizedText l = LocalizedText.GetItem("NotifyDeliveryLog.Label.List", language);
|
||
l.DisplayText = l.DisplayText.Replace("30", "7");
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region schema v27 localized text additions
|
||
if (nSchemaLevelAtStart < 27)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ClientServiceRequest.Label.Event.Created";
|
||
l.DisplayText = "Client service request - New";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region schema v30 localized text additions
|
||
if (nSchemaLevelAtStart < 30)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
//case 398
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Workorder.Label.Error.PartRequestsUnOrdered";
|
||
l.DisplayText = "This operation can not be completed - One or more unordered part requests need to be removed first.";
|
||
l.Save();
|
||
|
||
|
||
//Case 402
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.DateRange.LastWeek";
|
||
l.DisplayText = "Week - Previous";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.DateRange.Yesterday";
|
||
l.DisplayText = "Yesterday";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region schema v32 localized text additions
|
||
if (nSchemaLevelAtStart < 32)
|
||
{
|
||
//Case 420
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "LoanItem.Label.RateHour";
|
||
l.DisplayText = "Hour rate";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "LoanItem.Label.RateHalfDay";
|
||
l.DisplayText = "Half day rate";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "LoanItem.Label.RateDay";
|
||
l.DisplayText = "Day rate";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "LoanItem.Label.RateWeek";
|
||
l.DisplayText = "Week rate";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "LoanItem.Label.RateMonth";
|
||
l.DisplayText = "Month rate";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "LoanItem.Label.RateYear";
|
||
l.DisplayText = "Year rate";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "WorkorderItemLoan.Label.Quantity";
|
||
l.DisplayText = "Rate quantity";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "WorkorderItemLoan.Label.Rate";
|
||
l.DisplayText = "Rate";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region schema v33 localized text additions
|
||
if (nSchemaLevelAtStart < 33)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "WorkorderItemLoan.Label.RateAmount";
|
||
l.DisplayText = "Rate amount";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v34 localized text additions
|
||
if (nSchemaLevelAtStart < 34)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Error.Object.DuplicateSerialWarning";
|
||
l.DisplayText = "Warning: There is an existing item in the database with the same serial number";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v35 localized text additions
|
||
if (nSchemaLevelAtStart < 35)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "LoanItem.Label.RateNone";
|
||
l.DisplayText = "-";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v37 localized text additions
|
||
if (nSchemaLevelAtStart < 37)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Toolbar.Schedule.ShowClosed";
|
||
l.DisplayText = "Display Open / Closed (and open) work orders";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v38 localized text additions
|
||
if (nSchemaLevelAtStart < 38)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Toolbar.Schedule.TimeLineView";
|
||
l.DisplayText = "Display single day view as time line / regular";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v39 localized text additions
|
||
if (nSchemaLevelAtStart < 39)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Toolbar.Schedule.PrintWorkorders";
|
||
l.DisplayText = "Print selected work orders";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v41 localized text additions
|
||
if (nSchemaLevelAtStart < 41)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Workorder.Label.ListAll";
|
||
l.DisplayText = "List all work orders";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region schema v43 localized text additions
|
||
if (nSchemaLevelAtStart < 43)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Menu.MRU";
|
||
l.DisplayText = "Recent...";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v45 localized text additions
|
||
if (nSchemaLevelAtStart < 45)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Workorder.Label.TemplateDescription";
|
||
l.DisplayText = "Template description";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "O.WorkorderQuoteTemplate";
|
||
l.DisplayText = "Quote template";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "O.WorkorderServiceTemplate";
|
||
l.DisplayText = "Service template";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "O.WorkorderPreventiveMaintenanceTemplate";
|
||
l.DisplayText = "Preventive maintenance template";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v47 localized text additions
|
||
if (nSchemaLevelAtStart < 47)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.WorkorderClosedStatus.Description";
|
||
l.DisplayText = "If a status is selected here, a work order will be set to this status automatically when closed by a user in AyaNova or AyaNovaWBI.";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.WorkorderClosedStatus";
|
||
l.DisplayText = "Workorder closed status";
|
||
l.Save();
|
||
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v48 localized text additions (Contacts)
|
||
if (nSchemaLevelAtStart < 48)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
#region Client
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Client.Label.ContactNotes";
|
||
l.DisplayText = "Other contacts";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Client.Label.Contact";
|
||
l.DisplayText = "Contact";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Client.Label.Phone1";
|
||
l.DisplayText = "Business";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Client.Label.Phone2";
|
||
l.DisplayText = "Fax";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Client.Label.Phone3";
|
||
l.DisplayText = "Home";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Client.Label.Phone4";
|
||
l.DisplayText = "Mobile";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Client.Label.Phone5";
|
||
l.DisplayText = "Pager";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Client.Label.Email";
|
||
l.DisplayText = "Email";
|
||
l.Save();
|
||
#endregion client
|
||
|
||
#region Vendor
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Vendor.Label.ContactNotes";
|
||
l.DisplayText = "Other contacts";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Vendor.Label.Contact";
|
||
l.DisplayText = "Contact";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Vendor.Label.Phone1";
|
||
l.DisplayText = "Business";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Vendor.Label.Phone2";
|
||
l.DisplayText = "Fax";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Vendor.Label.Phone3";
|
||
l.DisplayText = "Home";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Vendor.Label.Phone4";
|
||
l.DisplayText = "Mobile";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Vendor.Label.Phone5";
|
||
l.DisplayText = "Pager";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Vendor.Label.Email";
|
||
l.DisplayText = "Email";
|
||
l.Save();
|
||
#endregion Vendor
|
||
|
||
#region HeadOffice
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "HeadOffice.Label.ContactNotes";
|
||
l.DisplayText = "Other contacts";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "HeadOffice.Label.Contact";
|
||
l.DisplayText = "Contact";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "HeadOffice.Label.Phone1";
|
||
l.DisplayText = "Business";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "HeadOffice.Label.Phone2";
|
||
l.DisplayText = "Fax";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "HeadOffice.Label.Phone3";
|
||
l.DisplayText = "Home";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "HeadOffice.Label.Phone4";
|
||
l.DisplayText = "Mobile";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "HeadOffice.Label.Phone5";
|
||
l.DisplayText = "Pager";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "HeadOffice.Label.Email";
|
||
l.DisplayText = "Email";
|
||
l.Save();
|
||
#endregion HeadOffice
|
||
}
|
||
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region schema v50 localized text additions
|
||
if (nSchemaLevelAtStart < 50)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ScheduleMarker.Label.FollowUp";
|
||
l.DisplayText = "Follow up";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v52 localized text additions
|
||
if (nSchemaLevelAtStart < 52)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UnitNameDisplayFormats.Label.ModelNumberModelSerial";
|
||
l.DisplayText = "Model number, model name, serial number";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UnitNameDisplayFormats.Label.ModelModelNumberSerial";
|
||
l.DisplayText = "Model name, model number, serial number";
|
||
l.Save();
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v53 localized text additions
|
||
if (nSchemaLevelAtStart < 53)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UnitModel.Label.VendorID";
|
||
l.DisplayText = "Unit model vendor";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v56 localized text additions
|
||
if (nSchemaLevelAtStart < 56)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.DeleteWorkorderPrompt";
|
||
l.DisplayText = "Are you sure you want to delete this Workorder permanently?";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v58 localized text additions
|
||
//case 722
|
||
if (nSchemaLevelAtStart < 58)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Command.Edit";
|
||
l.DisplayText = "Edit";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.TimeSpan.WithinTheHour";
|
||
l.DisplayText = "Within the hour";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.AllDay";
|
||
l.DisplayText = "All day";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "User.Label.Status";
|
||
l.DisplayText = "Status";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v59 localized text additions
|
||
//case 722
|
||
if (nSchemaLevelAtStart < 59)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Go.Home";
|
||
l.DisplayText = "Home";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region AyaNova 5.0
|
||
|
||
#region schema v65 localized text additions
|
||
//case 73
|
||
if (nSchemaLevelAtStart < 65)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Toolbar.PrintPreview";
|
||
l.DisplayText = "Print preview";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Toolbar.PageSetup";
|
||
l.DisplayText = "Page setup";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "O.WikiPage";
|
||
l.DisplayText = "Wiki page";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "O.AyaFile";
|
||
l.DisplayText = "Embedded file";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "AyaFile.Error.FileTooLarge";
|
||
l.DisplayText = "File size exceeds limit of {0}";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "AyaFile.Label.FileSize";
|
||
l.DisplayText = "Size";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "AyaFile.Label.FileSizeStored";
|
||
l.DisplayText = "Size stored";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "AyaFile.Label.FileType";
|
||
l.DisplayText = "Type";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "WikiPage.Label.InternalOnly";
|
||
l.DisplayText = "Internal users only";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "WikiPage.Label.Title";
|
||
l.DisplayText = "Title";
|
||
l.Save();
|
||
|
||
|
||
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v67 localized text additions
|
||
//case 73
|
||
if (nSchemaLevelAtStart < 67)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "O.GlobalWikiPage";
|
||
l.DisplayText = "Global Wiki page";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v69 localized text additions
|
||
//case 73
|
||
if (nSchemaLevelAtStart < 69)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "AyaFile.Label.Source";
|
||
l.DisplayText = "Source";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "AyaFile.Label.List";
|
||
l.DisplayText = "Files in database";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v72 localized text additions
|
||
//case 53
|
||
if (nSchemaLevelAtStart < 72)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Client.Label.Notification";
|
||
l.DisplayText = "Send client notifications";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Region.Label.ReplyToEmailAddress";
|
||
l.DisplayText = "Reply to email address";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Region.Label.WBIUrl";
|
||
l.DisplayText = "AyaNova WBI url address";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Region.Label.ClientNotifyMessage";
|
||
l.DisplayText = "Message to send to client";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Region.Label.CSRAccepted";
|
||
l.DisplayText = "CSR accepted";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Region.Label.CSRRejected";
|
||
l.DisplayText = "CSR rejected";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Region.Label.NewWO";
|
||
l.DisplayText = "New WO";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Region.Label.WOStatusChanged";
|
||
l.DisplayText = "WO status changed";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Region.Label.WOClosedEmailed";
|
||
l.DisplayText = "WO Closed";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Region.Label.WOFollowUp";
|
||
l.DisplayText = "WO follow up";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Region.Label.AttachWorkorder";
|
||
l.DisplayText = "Attach workorder report";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Region.Label.FollowUpDays";
|
||
l.DisplayText = "Days after work order closed";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v73 localized text additions
|
||
//case 29
|
||
if (nSchemaLevelAtStart < 73)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "PurchaseOrder.Label.ShowPartsAllVendors";
|
||
l.DisplayText = "Select from any vendor's part";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v75 localized text additions
|
||
//case 78
|
||
if (nSchemaLevelAtStart < 75)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Unit.Label.Text1";
|
||
l.DisplayText = "Text1";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Unit.Label.Text2";
|
||
l.DisplayText = "Text2";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Unit.Label.Text3";
|
||
l.DisplayText = "Text3";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Unit.Label.Text4";
|
||
l.DisplayText = "Text4";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "PurchaseOrderReceipt.Label.Text1";
|
||
l.DisplayText = "Text1";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "PurchaseOrderReceipt.Label.Text2";
|
||
l.DisplayText = "Text2";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v77 localized text additions
|
||
//case 866
|
||
if (nSchemaLevelAtStart < 77)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Workorder.Label.GenerateUnit";
|
||
l.DisplayText = "Generate unit from selected part";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v78 localized text additions
|
||
//case 816
|
||
if (nSchemaLevelAtStart < 78)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.LaborSchedUserDfltTimeSpan";
|
||
l.DisplayText = "Scheduled / Labor default minutes";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.TravelDfltTimeSpan";
|
||
l.DisplayText = "Travel default minutes";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.LaborSchedUserDfltTimeSpan.Description";
|
||
l.DisplayText = "Scheduled Users/Labor default time span for new records (minutes). 0 = off";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.TravelDfltTimeSpan.Description";
|
||
l.DisplayText = "Travel default time span for new records (minutes). 0 = off";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v79 localized text additions
|
||
//case 984
|
||
if (nSchemaLevelAtStart < 79)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.MaxFileSizeMB";
|
||
l.DisplayText = "Maximum embedded file size";
|
||
l.Save();
|
||
|
||
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.MaxFileSizeMB.Description";
|
||
l.DisplayText = "Largest single file size in megabytes that can be stored embedded in the database";
|
||
l.Save();
|
||
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v80 localized text additions
|
||
//case 764, case 765
|
||
if (nSchemaLevelAtStart < 80)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Go.Inventory.PurchaseOrderReceiptsDetailed";
|
||
l.DisplayText = "Items";
|
||
l.Save();
|
||
|
||
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Go.Inventory.PurchaseOrdersDetailed";
|
||
l.DisplayText = "Items";
|
||
l.Save();
|
||
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v81 localized text additions
|
||
//case 36, case 989
|
||
if (nSchemaLevelAtStart < 81)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Report.Label.SecurityGroupID";
|
||
l.DisplayText = "Restrict to security group";
|
||
l.Save();
|
||
|
||
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.DefaultServiceTemplateID.Description";
|
||
l.DisplayText = "Template used globally when no other more specific template is in effect";
|
||
l.Save();
|
||
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v82 localized text additions
|
||
//case 1011
|
||
if (nSchemaLevelAtStart < 82)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Part.Error.TrackSerialHasInventory";
|
||
l.DisplayText = "Track serial numbers can not be turned on as this part still has items in inventory.";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v84 localized text additions - Stopwords
|
||
//case 829
|
||
if (nSchemaLevelAtStart < 84)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
LocalizedText l = null;
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
switch (language)
|
||
{
|
||
case "Espa<70>ol":
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords1";
|
||
l.DisplayText = "a acuerdo adelante ademas adem<65>s adrede ahi ah<61> ahora al alli all<6C> alrededor antano anta<74>o ante antes apenas aproximadamente aquel aqu<71>l aquella aqu<71>lla aquellas aqu<71>llas aquello aquellos aqu<71>llos aqui aqu<71> arribaabajo asi as<61> aun a<>n aunque b bajo";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords2";
|
||
l.DisplayText = "bastante bien breve c casi cerca claro como c<>mo con conmigo contigo contra cual cu<63>l cuales cu<63>les cuando cu<63>ndo cuanta cu<63>nta cuantas cu<63>ntas cuanto cu<63>nto cuantos cu<63>ntos d de debajo del delante demasiado dentro deprisa desde despacio despues despu<70>s";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords3";
|
||
l.DisplayText = "detras detr<74>s dia d<>a dias d<>as donde d<>nde dos durante e el <20>l ella ellas ellos en encima enfrente enseguida entre es esa <20>sa esas <20>sas ese <20>se eso esos <20>sos esta est<73> <20>sta estado estados estan est<73>n estar estas <20>stas este <20>ste esto estos <20>stos ex";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords4";
|
||
l.DisplayText = "excepto f final fue fuera fueron g general gran h ha habia hab<61>a habla hablan hace hacia han hasta hay horas hoy i incluso informo inform<72> j junto k l la lado las le lejos lo los luego m mal mas m<>s mayor me medio mejor menos menudo mi m<> mia m<>a mias";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords5";
|
||
l.DisplayText = "m<>as mientras mio m<>o mios m<>os mis mismo mucho muy n nada nadie ninguna no nos nosotras nosotros nuestra nuestras nuestro nuestros nueva nuevo nunca o os otra otros p pais pa<70>s para parte pasado peor pero poco por porque pronto proximo pr<70>ximo puede q";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords6";
|
||
l.DisplayText = "qeu que qu<71> quien qui<75>n quienes qui<75>nes quiza quiz<69> quizas quiz<69>s raras repente s salvo se s<> segun seg<65>n ser sera ser<65> si s<> sido siempre sin sobre solamente solo s<>lo son soyos su supuesto sus suya suyas suyo t tal tambien tambi<62>n tampoco tarde te";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords7";
|
||
l.DisplayText = "temprano ti tiene todavia todav<61>a todo todos tras tu t<> tus tuya tuyas tuyo tuyos u un una unas uno unos usted ustedes v veces vez vosotras vosotros vuestra vuestras vuestro vuestros w x y ya yo z";
|
||
l.Save();
|
||
break;
|
||
|
||
case "Deutsch":
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords1";
|
||
l.DisplayText = "sie sind soll sollen sollst sollt sonst soweit sowie und unser unsere unter vom von vor wann warum was weiter weitere wenn wer werde werden werdet weshalb wie wieder wieso wir wird wirst wo woher wohin zu zum zur <20>ber";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords2";
|
||
l.DisplayText = "aber als am an auch auf aus bei bin bis bist da dadurch daher darum das da<64> dass dein deine dem den der des dessen deshalb die dies dieser dieses doch dort du durch ein eine einem einen einer eines er es euer eure f<>r hatte hatten";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords3";
|
||
l.DisplayText = "hattest hattet hier hinter ich ihr ihre im in ist ja jede jedem jeden jeder jedes jener jenes jetzt kann kannst k<>nnen k<>nnt machen mein meine mit mu<6D> mu<6D>t musst m<>ssen m<><6D>t nach nachdem nein nicht nun oder seid sein seine sich";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords4";
|
||
l.DisplayText = "";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords5";
|
||
l.DisplayText = "";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords6";
|
||
l.DisplayText = "";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords7";
|
||
l.DisplayText = "";
|
||
l.Save();
|
||
|
||
break;
|
||
case "Fran<61>ais":
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords1";
|
||
l.DisplayText = "quelle quelles quels qui sa sans ses seulement si sien son sont sous soyez sujet su ta tandis tellement tels tes ton tous tout top t<>s tu valeu voie voient vont vote vous vu <20>a <20>taient <20>tat <20>tions <20>t<EFBFBD> <20>te";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords2";
|
||
l.DisplayText = "alos au aucuns aussi aute avant avec avoi bon ca ce cela ces ceux chaque ci comme comment dans des du dedans dehos depuis deux devait doit donc dos doite d<>but elle elles en encoe essai est et eu fait faites fois";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords3";
|
||
l.DisplayText = "font foce haut hos ici il ils je juste la le les leu l<> ma maintenant mais mes mine moins mon mot m<>me ni nomm<6D>s note nous nouveaux ou o<> pa pace paole pas pesonnes peut peu pi<70>ce plupat pou pouquoi quand que quel";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords4";
|
||
l.DisplayText = "";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords5";
|
||
l.DisplayText = "";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords6";
|
||
l.DisplayText = "";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords7";
|
||
l.DisplayText = "";
|
||
l.Save();
|
||
|
||
break;
|
||
|
||
default://english and any custom ones made
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords1";
|
||
l.DisplayText = "do said his both could with take like still much they been will her your how through were other or there never is here where then my must as when him them most re which if he had at";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords2";
|
||
l.DisplayText = "want many so to the be else did than that of only being got about you their our on this too has any might can before are way now since we should another also into me it by after and in";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords3";
|
||
l.DisplayText = "would some what such make come while its use those see out who ll but get have same up well because between for all each does came just from was an these himself very under over more";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords4";
|
||
l.DisplayText = "";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords5";
|
||
l.DisplayText = "";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords6";
|
||
l.DisplayText = "";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "StopWords7";
|
||
l.DisplayText = "";
|
||
l.Save();
|
||
break;
|
||
}
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v85 localized text additions
|
||
//case 864
|
||
if (nSchemaLevelAtStart < 85)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ClientServiceRequestStatus.Closed";
|
||
l.DisplayText = "Closed";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v86 localized text additions
|
||
//case 848
|
||
if (nSchemaLevelAtStart < 86)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ClientServiceRequest.Label.RequestedBy";
|
||
l.DisplayText = "Requested by";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v87 localized text additions
|
||
//case 857
|
||
if (nSchemaLevelAtStart < 87)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Command.ExternalTools";
|
||
l.DisplayText = "External tools";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#endregion AyaNova 5.0
|
||
|
||
#region AyaNova 6.0
|
||
|
||
#region schema v88 localized text additions
|
||
//case 1204
|
||
if (nSchemaLevelAtStart < 88)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Error.Lite.Database";
|
||
l.DisplayText = "Error: AyaNova Lite can only be used with a standalone FireBird database.";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region schema v89 localized text additions
|
||
//case 1204
|
||
if (nSchemaLevelAtStart < 89)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.SMTPEncryption";
|
||
l.DisplayText = "SMTP Encryption";
|
||
l.Save();
|
||
|
||
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.SMTPEncryption.Description";
|
||
l.DisplayText = "Encryption method to use with SMTP server. Valid values are 'TLS', 'SSL' or empty for no encryption.";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v91 localized text additions
|
||
//case 1163
|
||
if (nSchemaLevelAtStart < 91)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "User.Label.TimeZoneOffset";
|
||
l.DisplayText = "Override timezone";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v93 localized text additions
|
||
//case 812
|
||
if (nSchemaLevelAtStart < 93)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "User.Label.Event.QuickNotification";
|
||
l.DisplayText = "Quick Notification";
|
||
l.Save();
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v99 localized text additions
|
||
//case 1382
|
||
if (nSchemaLevelAtStart < 99)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.SMTPRetry";
|
||
l.DisplayText = "SMTP Retry deliveries";
|
||
l.Save();
|
||
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.SMTPRetry.Description";
|
||
l.DisplayText = "Don't remove SMTP / SMS notifications if unable to connect to SMTP server; retry them again on next notification processing until delivered.";
|
||
l.Save();
|
||
}
|
||
}
|
||
#endregion
|
||
#endregion ayanova 6.0
|
||
|
||
#region AyaNova 7.0
|
||
#region schema v101 localized text additions
|
||
//case 1317
|
||
if (nSchemaLevelAtStart < 101)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "O.WorkorderItemUnit";
|
||
l.DisplayText = "Workorder item unit";
|
||
l.Save();
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v104 localized text additions
|
||
//case 1346
|
||
if (nSchemaLevelAtStart < 104)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.SignatureTitle";
|
||
l.DisplayText = "Signature title";
|
||
l.Save();
|
||
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.SignatureTitle.Description";
|
||
l.DisplayText = "Text displayed as title above signature area";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.SignatureHeader";
|
||
l.DisplayText = "Signature header";
|
||
l.Save();
|
||
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.SignatureHeader.Description";
|
||
l.DisplayText = "Text displayed as header above signature box";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.SignatureFooter";
|
||
l.DisplayText = "Signature footer";
|
||
l.Save();
|
||
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.SignatureFooter.Description";
|
||
l.DisplayText = "Text displayed as footer below signature box";
|
||
l.Save();
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v105 localized text additions
|
||
//case 1394
|
||
if (nSchemaLevelAtStart < 105)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Go.Inventory.PartInventoryAdjustmentsDetailed";
|
||
l.DisplayText = "Items";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v104 localized text additions
|
||
//case 1446, case 1519
|
||
if (nSchemaLevelAtStart < 107)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UnitNameDisplayFormats.Label.VendorModelModelNumberSerial";
|
||
l.DisplayText = "Vendor, model name, model number, serial number";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ScheduleableUserNameDisplayFormats.Label.RegionLastFirst";
|
||
l.DisplayText = "Region - Last, First";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ScheduleableUserNameDisplayFormats.Label.FirstLastRegion";
|
||
l.DisplayText = "First Last - Region";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ScheduleableUserNameDisplayFormats.Label.RegionFirstLast";
|
||
l.DisplayText = "Region - First Last";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ScheduleableUserNameDisplayFormats.Label.LastFirstRegion";
|
||
l.DisplayText = "Last, First - Region";
|
||
l.Save();
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v109 case 1392 localized text additions
|
||
|
||
if (nSchemaLevelAtStart < 109)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.SchedUserNonTodayStartTime";
|
||
l.DisplayText = "Scheduled default time";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.SchedUserNonTodayStartTime.Description";
|
||
l.DisplayText = "Scheduled user default time for new records when choosing start date other than today.";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v110 case 1487 localized text additions
|
||
|
||
if (nSchemaLevelAtStart < 110)
|
||
{
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.MainGridAutoRefresh";
|
||
l.DisplayText = "Auto-refresh main grids";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Global.Label.MainGridAutoRefresh.Description";
|
||
l.DisplayText = "Refresh main grid lists automatically every 5 minutes.";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v111 case 1346 localized text additions
|
||
|
||
if (nSchemaLevelAtStart < 111)
|
||
{
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Workorder.Label.Sign";
|
||
l.DisplayText = "Sign";
|
||
l.Save();
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v112 case 1556 localized text additions
|
||
|
||
if (nSchemaLevelAtStart < 112)
|
||
{
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "WorkorderQuoteStatusTypes.Label.New";
|
||
l.DisplayText = "New";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "WorkorderQuoteStatusTypes.Label.NotAwarded2";
|
||
l.DisplayText = "Beyond economical repair";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region Schema 113 case 1140
|
||
|
||
if (nSchemaLevelAtStart < 113)
|
||
{
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "WorkorderItemScheduledUser.Label.Warn.OutOfRegion";
|
||
l.DisplayText = "Warning: User is not in client's region - won't see this item.";
|
||
l.Save();
|
||
|
||
|
||
|
||
}
|
||
}
|
||
#endregion schema 113
|
||
|
||
#region schema v116 case 1499
|
||
|
||
if (nSchemaLevelAtStart < 116)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Region.Label.QuoteStatusChanged";
|
||
l.DisplayText = "Quote status changed";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Region.Label.AttachQuote";
|
||
l.DisplayText = "Attach quote report";
|
||
l.Save();
|
||
|
||
|
||
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region schema v117 case 1555
|
||
|
||
if (nSchemaLevelAtStart < 117)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Workorder.Label.Event.QuoteUpdated";
|
||
l.DisplayText = "Quote - created / updated";
|
||
l.Save();
|
||
|
||
|
||
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#endregion 7.0
|
||
|
||
#region AyaNova 7.2
|
||
#region schema v119 case 1805
|
||
|
||
if (nSchemaLevelAtStart < 119)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Dashboard.Label.Dashboard";
|
||
l.DisplayText = "Dashboard";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Common.Label.More";
|
||
l.DisplayText = "More...";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Dashboard.Label.Overdue";
|
||
l.DisplayText = "Overdue";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Dashboard.Label.Scheduled";
|
||
l.DisplayText = "Scheduled";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v121 case 1805
|
||
|
||
if (nSchemaLevelAtStart < 121)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Dashboard.Label.Reminders";
|
||
l.DisplayText = "Reminders";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v122 case 1805
|
||
|
||
if (nSchemaLevelAtStart < 122)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Dashboard.Label.NotAssigned";
|
||
l.DisplayText = "Not assigned";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Dashboard.Label.Next";
|
||
l.DisplayText = "Next";
|
||
l.Save();
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v123 case 1805
|
||
|
||
if (nSchemaLevelAtStart < 123)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.DateRange.ThisYear";
|
||
l.DisplayText = "Year - Current";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v124 case 1122
|
||
|
||
if (nSchemaLevelAtStart < 124)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.ShowAll";
|
||
l.DisplayText = "Show all...";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v125 case 1810
|
||
|
||
if (nSchemaLevelAtStart < 125)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Locale.Label.CustomizeText";
|
||
l.DisplayText = "Customize text";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Locale.Label.WarnLocaleLocked";
|
||
l.DisplayText = "Your user account is using the \"English\" locale text.\r\n" +
|
||
"This locale is read only and can not be edited.\r\n" +
|
||
"Please change your locale in your user settings to any other value than \"English\" to proceed.";
|
||
l.Save();
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region schema v126 case 1909
|
||
|
||
if (nSchemaLevelAtStart < 126)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "WorkorderService.Label.Age";
|
||
l.DisplayText = "Age";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
#endregion ayanova 7.2
|
||
|
||
#region AyaNova 7.3
|
||
|
||
#region schema v27 case 1995
|
||
|
||
if (nSchemaLevelAtStart < 127)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "PartDisplayFormats.Label.NameNumberManufacturer";
|
||
l.DisplayText = "Name - number - manufacturer";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "PartDisplayFormats.Label.NameCategoryNumberManufacturer";
|
||
l.DisplayText = "Name - category - number - manufacturer";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region schema v128 case 2067
|
||
|
||
if (nSchemaLevelAtStart < 128)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.DateRange.Past";
|
||
l.DisplayText = "Past";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.DateRange.Future";
|
||
l.DisplayText = "Future";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.DateRange.LastYear";
|
||
l.DisplayText = "Year - Last";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.DateRange.InTheLastThreeMonths";
|
||
l.DisplayText = "In the last 3 months";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.DateRange.InTheLastSixMonths";
|
||
l.DisplayText = "In the last 6 months";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UI.Label.DateRange.InTheLastYear";
|
||
l.DisplayText = "In the last year";
|
||
l.Save();
|
||
|
||
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#endregion ayanova 7.3
|
||
|
||
|
||
#endregion old localized text updates
|
||
|
||
|
||
#region AyaNova 7.5
|
||
#region schema v130 localized text additions
|
||
//case 3150
|
||
if (nSchemaLevelAtStart < 130)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UnitNameDisplayFormats.Label.SerialDescription";
|
||
l.DisplayText = "Serial number, description";
|
||
l.Save();
|
||
|
||
l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "UnitNameDisplayFormats.Label.VendorSerialDescription";
|
||
l.DisplayText = "Vendor, serial number, description";
|
||
l.Save();
|
||
|
||
}
|
||
}
|
||
#endregion case 3150 schema 130
|
||
|
||
#region schema v132 localized text additions
|
||
//case 1968
|
||
if (nSchemaLevelAtStart < 132)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ScheduleMarker.Label.Completed";
|
||
l.DisplayText = "Completed";
|
||
l.Save();
|
||
}
|
||
}
|
||
#endregion case 1968 schema 132
|
||
|
||
#region schema v133 localized text additions
|
||
//case 1967
|
||
if (nSchemaLevelAtStart < 133)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "ScheduleMarker.Label.List";
|
||
l.DisplayText = "Schedule markers";
|
||
l.Save();
|
||
}
|
||
}
|
||
#endregion case 1967 schema 133
|
||
|
||
#region schema v134 localized text additions
|
||
//case 3132
|
||
if (nSchemaLevelAtStart < 134)
|
||
{
|
||
|
||
LocaleList locales = LocaleList.GetList();
|
||
foreach (LocaleList.LocaleListInfo localelanguage in locales)
|
||
{
|
||
string language = localelanguage.Locale;
|
||
LocalizedText l = LocalizedText.NewItem();
|
||
l.Locale = language;
|
||
l.Key = "Workorder.Label.TemplateFreshPrice";
|
||
l.DisplayText = "Use current Part prices on generated order";
|
||
l.Save();
|
||
}
|
||
}
|
||
#endregion case 1967 schema 134
|
||
|
||
|
||
#endregion ayanova 7.5
|
||
|
||
#endregion localized text updates
|
||
|
||
#region ********** OBJECT UPDATES ****************
|
||
|
||
#region OLD
|
||
#region schema v49 Contact deprecation
|
||
|
||
//Case 432 Move primary contact data into root biz object
|
||
//Move all subsequent contacts into contactnotes field in root object
|
||
if (nSchemaLevelAtStart < 49)
|
||
{
|
||
SafeDataReader dr = null;
|
||
xContacts ct = null;
|
||
Client client = null;
|
||
Vendor vendor = null;
|
||
HeadOffice headoffice = null;
|
||
Guid lastID = Guid.Empty;
|
||
ContactTitles titles = ContactTitles.GetItems();
|
||
xContactPhone phone = null;
|
||
System.Text.StringBuilder sb = new System.Text.StringBuilder();
|
||
|
||
string sBusiness = "ContactPhone.Label.ContactPhoneType.Business";
|
||
string sFax = "ContactPhone.Label.ContactPhoneType.Fax";
|
||
string sHome = "ContactPhone.Label.ContactPhoneType.Home";
|
||
string sMobile = "ContactPhone.Label.ContactPhoneType.Mobile";
|
||
string sPager = "ContactPhone.Label.ContactPhoneType.Pager";
|
||
string sAdminLocale = User.AdminUserLocale;
|
||
|
||
sBusiness = LocalizedTextTable.GetLocalizedTextDirect(sBusiness, sAdminLocale);
|
||
sFax = LocalizedTextTable.GetLocalizedTextDirect(sFax, sAdminLocale);
|
||
sHome = LocalizedTextTable.GetLocalizedTextDirect(sHome, sAdminLocale);
|
||
sMobile = LocalizedTextTable.GetLocalizedTextDirect(sMobile, sAdminLocale);
|
||
sPager = LocalizedTextTable.GetLocalizedTextDirect(sPager, sAdminLocale);
|
||
|
||
|
||
#region Clients
|
||
//Contacts
|
||
dr = DBUtil.GetReaderFromSQLString("SELECT aContact.* " +
|
||
"FROM aContact WHERE " +
|
||
"aRootObjectType=3 ORDER BY AROOTOBJECTID");
|
||
ct = xContacts.GetItems(dr, RootObjectTypes.Client);
|
||
if (dr != null) dr.Close();
|
||
|
||
foreach (xContact c in ct)
|
||
{
|
||
//New rootobject?
|
||
if (c.RootObjectID != lastID)
|
||
{
|
||
lastID = c.RootObjectID;
|
||
if (client != null)
|
||
client.Save();
|
||
try//case 1178 (one client's data had a contact but not the client that matches)
|
||
{
|
||
client = Client.GetItemNoMRU(c.RootObjectID);
|
||
}
|
||
catch
|
||
{
|
||
continue;
|
||
}
|
||
|
||
//reset it in case this is a re-import as code below only adds to this field
|
||
client.ContactNotes = "";
|
||
}
|
||
|
||
if (c.PrimaryContact)
|
||
{
|
||
//put in the primary contact fields
|
||
sb.Append(titles.TitleFromID(c.ContactTitleID));
|
||
sb.Append(AyaBizUtils.SS("", c.FirstName, " "));
|
||
sb.Append(AyaBizUtils.SS("", c.LastName, " "));
|
||
client.Contact = sb.ToString();
|
||
sb.Length = 0;
|
||
|
||
//Phone numbers:
|
||
phone = c.Phones[ContactPhoneTypes.Business];
|
||
if (phone != null)
|
||
client.Phone1 = phone.NumberOnlyFullPhoneRecord;
|
||
|
||
phone = c.Phones[ContactPhoneTypes.Fax];
|
||
if (phone != null)
|
||
client.Phone2 = phone.NumberOnlyFullPhoneRecord;
|
||
|
||
phone = c.Phones[ContactPhoneTypes.Home];
|
||
if (phone != null)
|
||
client.Phone3 = phone.NumberOnlyFullPhoneRecord;
|
||
|
||
phone = c.Phones[ContactPhoneTypes.Mobile];
|
||
if (phone != null)
|
||
client.Phone4 = phone.NumberOnlyFullPhoneRecord;
|
||
|
||
phone = c.Phones[ContactPhoneTypes.Pager];
|
||
if (phone != null)
|
||
client.Phone5 = phone.NumberOnlyFullPhoneRecord;
|
||
|
||
//Email address
|
||
client.Email = c.EmailAddress;
|
||
}
|
||
|
||
//Put in the notes
|
||
sb.Append(titles.TitleFromID(c.ContactTitleID));
|
||
sb.Append(AyaBizUtils.SS("", c.FirstName, " "));
|
||
sb.Append(AyaBizUtils.SS("", c.LastName, " "));
|
||
sb.Append(AyaBizUtils.SS("", c.JobTitle, " "));
|
||
sb.Append(AyaBizUtils.SS("", c.Description, " "));
|
||
sb.Append(AyaBizUtils.SS("\r\n\t", c.EmailAddress, ""));
|
||
foreach (xContactPhone p in c.Phones)
|
||
{
|
||
sb.Append("\r\n");
|
||
sb.Append("\t");
|
||
switch (p.ContactPhoneType)
|
||
{
|
||
case ContactPhoneTypes.Business:
|
||
sb.Append(AyaBizUtils.SS("", sBusiness, ": "));
|
||
break;
|
||
case ContactPhoneTypes.Fax:
|
||
sb.Append(AyaBizUtils.SS("", sFax, ": "));
|
||
break;
|
||
case ContactPhoneTypes.Home:
|
||
sb.Append(AyaBizUtils.SS("", sHome, ": "));
|
||
break;
|
||
case ContactPhoneTypes.Mobile:
|
||
sb.Append(AyaBizUtils.SS("", sMobile, ": "));
|
||
break;
|
||
case ContactPhoneTypes.Pager:
|
||
sb.Append(AyaBizUtils.SS("", sPager, ": "));
|
||
break;
|
||
}
|
||
|
||
sb.Append(p.NumberOnlyFullPhoneRecord);
|
||
}
|
||
|
||
sb.Append("\r\n");
|
||
client.ContactNotes += sb.ToString();
|
||
sb.Length = 0;
|
||
|
||
|
||
|
||
|
||
}
|
||
|
||
//Save the final one
|
||
if (client != null)
|
||
client.Save();
|
||
#endregion
|
||
|
||
#region Vendors
|
||
//Contacts
|
||
dr = DBUtil.GetReaderFromSQLString("SELECT aContact.* " +
|
||
"FROM aContact WHERE " +
|
||
"aRootObjectType=4 ORDER BY AROOTOBJECTID");
|
||
ct = xContacts.GetItems(dr, RootObjectTypes.Vendor);
|
||
if (dr != null) dr.Close();
|
||
|
||
foreach (xContact c in ct)
|
||
{
|
||
//New rootobject?
|
||
if (c.RootObjectID != lastID)
|
||
{
|
||
lastID = c.RootObjectID;
|
||
if (vendor != null)
|
||
vendor.Save();
|
||
|
||
vendor = Vendor.GetItemNoMRU(c.RootObjectID);
|
||
//reset it in case this is a re-import as code below only adds to this field
|
||
vendor.ContactNotes = "";
|
||
}
|
||
|
||
if (c.PrimaryContact)
|
||
{
|
||
//put in the primary contact fields
|
||
sb.Append(titles.TitleFromID(c.ContactTitleID));
|
||
sb.Append(AyaBizUtils.SS("", c.FirstName, " "));
|
||
sb.Append(AyaBizUtils.SS("", c.LastName, " "));
|
||
vendor.Contact = sb.ToString();
|
||
sb.Length = 0;
|
||
|
||
//Phone numbers:
|
||
phone = c.Phones[ContactPhoneTypes.Business];
|
||
if (phone != null)
|
||
vendor.Phone1 = phone.NumberOnlyFullPhoneRecord;
|
||
|
||
phone = c.Phones[ContactPhoneTypes.Fax];
|
||
if (phone != null)
|
||
vendor.Phone2 = phone.NumberOnlyFullPhoneRecord;
|
||
|
||
phone = c.Phones[ContactPhoneTypes.Home];
|
||
if (phone != null)
|
||
vendor.Phone3 = phone.NumberOnlyFullPhoneRecord;
|
||
|
||
phone = c.Phones[ContactPhoneTypes.Mobile];
|
||
if (phone != null)
|
||
vendor.Phone4 = phone.NumberOnlyFullPhoneRecord;
|
||
|
||
phone = c.Phones[ContactPhoneTypes.Pager];
|
||
if (phone != null)
|
||
vendor.Phone5 = phone.NumberOnlyFullPhoneRecord;
|
||
|
||
//Email address
|
||
vendor.Email = c.EmailAddress;
|
||
}
|
||
|
||
//Contactnotes
|
||
sb.Append(titles.TitleFromID(c.ContactTitleID));
|
||
sb.Append(AyaBizUtils.SS("", c.FirstName, " "));
|
||
sb.Append(AyaBizUtils.SS("", c.LastName, " "));
|
||
sb.Append(AyaBizUtils.SS("", c.JobTitle, " "));
|
||
sb.Append(AyaBizUtils.SS("", c.Description, " "));
|
||
sb.Append(AyaBizUtils.SS("\r\n\t", c.EmailAddress, ""));
|
||
foreach (xContactPhone p in c.Phones)
|
||
{
|
||
sb.Append("\r\n");
|
||
sb.Append("\t");
|
||
switch (p.ContactPhoneType)
|
||
{
|
||
case ContactPhoneTypes.Business:
|
||
sb.Append(AyaBizUtils.SS("", sBusiness, ": "));
|
||
break;
|
||
case ContactPhoneTypes.Fax:
|
||
sb.Append(AyaBizUtils.SS("", sFax, ": "));
|
||
break;
|
||
case ContactPhoneTypes.Home:
|
||
sb.Append(AyaBizUtils.SS("", sHome, ": "));
|
||
break;
|
||
case ContactPhoneTypes.Mobile:
|
||
sb.Append(AyaBizUtils.SS("", sMobile, ": "));
|
||
break;
|
||
case ContactPhoneTypes.Pager:
|
||
sb.Append(AyaBizUtils.SS("", sPager, ": "));
|
||
break;
|
||
}
|
||
|
||
sb.Append(p.NumberOnlyFullPhoneRecord);
|
||
}
|
||
|
||
sb.Append("\r\n");
|
||
vendor.ContactNotes += sb.ToString();
|
||
sb.Length = 0;
|
||
|
||
|
||
|
||
|
||
}
|
||
|
||
//Save the final one
|
||
if (vendor != null)
|
||
vendor.Save();
|
||
#endregion vendors
|
||
|
||
#region headoffices
|
||
//Contacts
|
||
dr = DBUtil.GetReaderFromSQLString("SELECT aContact.* " +
|
||
"FROM aContact WHERE " +
|
||
"aRootObjectType=5 ORDER BY AROOTOBJECTID");
|
||
ct = xContacts.GetItems(dr, RootObjectTypes.HeadOffice);
|
||
if (dr != null) dr.Close();
|
||
|
||
foreach (xContact c in ct)
|
||
{
|
||
//New rootobject?
|
||
if (c.RootObjectID != lastID)
|
||
{
|
||
lastID = c.RootObjectID;
|
||
if (headoffice != null)
|
||
headoffice.Save();
|
||
|
||
headoffice = HeadOffice.GetItemNoMRU(c.RootObjectID);
|
||
//reset it in case this is a re-import as code below only adds to this field
|
||
headoffice.ContactNotes = "";
|
||
}
|
||
|
||
if (c.PrimaryContact)
|
||
{
|
||
//put in the primary contact fields
|
||
sb.Append(titles.TitleFromID(c.ContactTitleID));
|
||
sb.Append(AyaBizUtils.SS("", c.FirstName, " "));
|
||
sb.Append(AyaBizUtils.SS("", c.LastName, " "));
|
||
headoffice.Contact = sb.ToString();
|
||
sb.Length = 0;
|
||
|
||
//Phone numbers:
|
||
phone = c.Phones[ContactPhoneTypes.Business];
|
||
if (phone != null)
|
||
headoffice.Phone1 = phone.NumberOnlyFullPhoneRecord;
|
||
|
||
phone = c.Phones[ContactPhoneTypes.Fax];
|
||
if (phone != null)
|
||
headoffice.Phone2 = phone.NumberOnlyFullPhoneRecord;
|
||
|
||
phone = c.Phones[ContactPhoneTypes.Home];
|
||
if (phone != null)
|
||
headoffice.Phone3 = phone.NumberOnlyFullPhoneRecord;
|
||
|
||
phone = c.Phones[ContactPhoneTypes.Mobile];
|
||
if (phone != null)
|
||
headoffice.Phone4 = phone.NumberOnlyFullPhoneRecord;
|
||
|
||
phone = c.Phones[ContactPhoneTypes.Pager];
|
||
if (phone != null)
|
||
headoffice.Phone5 = phone.NumberOnlyFullPhoneRecord;
|
||
|
||
//Email address
|
||
headoffice.Email = c.EmailAddress;
|
||
}
|
||
|
||
//Put in the notes
|
||
sb.Append(titles.TitleFromID(c.ContactTitleID));
|
||
sb.Append(AyaBizUtils.SS("", c.FirstName, " "));
|
||
sb.Append(AyaBizUtils.SS("", c.LastName, " "));
|
||
sb.Append(AyaBizUtils.SS("", c.JobTitle, " "));
|
||
sb.Append(AyaBizUtils.SS("", c.Description, " "));
|
||
sb.Append(AyaBizUtils.SS("\r\n\t", c.EmailAddress, ""));
|
||
foreach (xContactPhone p in c.Phones)
|
||
{
|
||
sb.Append("\r\n");
|
||
sb.Append("\t");
|
||
switch (p.ContactPhoneType)
|
||
{
|
||
case ContactPhoneTypes.Business:
|
||
sb.Append(AyaBizUtils.SS("", sBusiness, ": "));
|
||
break;
|
||
case ContactPhoneTypes.Fax:
|
||
sb.Append(AyaBizUtils.SS("", sFax, ": "));
|
||
break;
|
||
case ContactPhoneTypes.Home:
|
||
sb.Append(AyaBizUtils.SS("", sHome, ": "));
|
||
break;
|
||
case ContactPhoneTypes.Mobile:
|
||
sb.Append(AyaBizUtils.SS("", sMobile, ": "));
|
||
break;
|
||
case ContactPhoneTypes.Pager:
|
||
sb.Append(AyaBizUtils.SS("", sPager, ": "));
|
||
break;
|
||
}
|
||
|
||
sb.Append(p.NumberOnlyFullPhoneRecord);
|
||
}
|
||
|
||
sb.Append("\r\n");
|
||
headoffice.ContactNotes += sb.ToString();
|
||
sb.Length = 0;
|
||
|
||
|
||
|
||
|
||
}
|
||
|
||
//Save the final one
|
||
if (headoffice != null)
|
||
headoffice.Save();
|
||
#endregion head offices
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region Schema 60 null Contract expiry date update
|
||
if (nSchemaLevelAtStart < 60)
|
||
{
|
||
int n = 0;
|
||
int nhead = 0;
|
||
DateTime dtNew = new DateTime(2100, 1, 1);
|
||
Client c;
|
||
HeadOffice h;
|
||
ClientPickList cpl = ClientPickList.GetList();
|
||
foreach (ClientPickList.ClientPickListInfo i in cpl)
|
||
{
|
||
c = Client.GetItem(i.ID);
|
||
if (c.ContractID != Guid.Empty && c.ContractExpires is System.DBNull)
|
||
{
|
||
c.ContractExpires = dtNew;
|
||
c.Save();
|
||
n++;
|
||
}
|
||
if (c.HeadOfficeID != Guid.Empty)
|
||
{
|
||
h = HeadOffice.GetItem(c.HeadOfficeID);
|
||
if (h.ContractID != Guid.Empty && h.ContractExpires is System.DBNull)
|
||
{
|
||
h.ContractExpires = dtNew;
|
||
h.Save();
|
||
nhead++;
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
#endregion
|
||
|
||
#endregion old
|
||
|
||
#region Schema 115 Case 1151
|
||
if (nSchemaLevelAtStart < 115)
|
||
{
|
||
RegionList rl = RegionList.GetList("");
|
||
foreach (RegionList.RegionListInfo rli in rl)
|
||
{
|
||
Region r = Region.GetItem(rli.LT_Region_Label_Name.Value);
|
||
//insert parent workorder status change notification into collection under it
|
||
if (r.NotifyWOStatusID != Guid.Empty)
|
||
{
|
||
RegionWoStatusNotifyItem ni=r.WoStatusNotifyItems.Add(r);
|
||
ni.NotifyWOStatusID = r.NotifyWOStatusID;
|
||
ni.NotifyWOStatMSG = r.NotifyWOStatMSG;
|
||
ni.Active = r.NotifyWOStatus;
|
||
ni.WoReportID = Guid.Empty;
|
||
r.Save();
|
||
}
|
||
}
|
||
|
||
}
|
||
#endregion schema
|
||
|
||
|
||
#region Schema 118 case 1687
|
||
if (nSchemaLevelAtStart < 118)
|
||
{
|
||
UnitPickList upl = UnitPickList.GetListOfAll();
|
||
foreach (UnitPickList.UnitPickListInfo i in upl)
|
||
{
|
||
Unit u = Unit.GetItem(i.ID);
|
||
if (!string.IsNullOrWhiteSpace(u.Text1) ||
|
||
!string.IsNullOrWhiteSpace(u.Text2) ||
|
||
!string.IsNullOrWhiteSpace(u.Text3) ||
|
||
!string.IsNullOrWhiteSpace(u.Text4))
|
||
{
|
||
//make unit dirty then save it
|
||
string s = u.Text1;
|
||
u.Text1 = ".";
|
||
u.Text1 = s;
|
||
if (u.IsSavable)
|
||
u.Save();
|
||
}
|
||
|
||
}
|
||
}
|
||
#endregion schema 118
|
||
|
||
#endregion object updates
|
||
|
||
//case 1299 Recompute all statistics in Firebird since it's not done automatically
|
||
//note this call is safe regardless if mssql being used since it checks the db type first
|
||
//This will ensure that at least during every schema update the indexes will be recomputed
|
||
FireBirdRecomputeStatistics();
|
||
|
||
AyaBizUtils._SchemaUpdating = false;
|
||
}//end of dataportal update method
|
||
|
||
/// <summary>
|
||
/// execute DDL statement
|
||
/// </summary>
|
||
/// <param name="sDDL"></param>
|
||
public void DDL(string sDDL)
|
||
{
|
||
DBCommandWrapper cm = DBUtil.GetCommandFromSQL(sDDL.ToUpperInvariant());
|
||
|
||
DBUtil.DB.ExecuteNonQuery(cm, _tr);
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// execute DDL statement without uppercasing
|
||
/// (for the localized text changes primarily)
|
||
/// </summary>
|
||
/// <param name="sDDL"></param>
|
||
public void DDLNoUpper(string sDDL)
|
||
{
|
||
DBCommandWrapper cm = DBUtil.GetCommandFromSQL(sDDL);
|
||
|
||
DBUtil.DB.ExecuteNonQuery(cm, _tr);
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// execute DDL uppercasing statement
|
||
/// outside of transaction
|
||
/// </summary>
|
||
/// <param name="sDDL"></param>
|
||
public void DDLNoTrans(string sDDL)
|
||
{
|
||
DBCommandWrapper cm = DBUtil.GetCommandFromSQL(sDDL.ToUpperInvariant());
|
||
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
}
|
||
|
||
#region Add new object right
|
||
/// <summary>
|
||
/// Add new right
|
||
/// </summary>
|
||
/// <param name="sRight"></param>
|
||
/// <param name="defaultSecurityLevel"></param>
|
||
private void AddNewUserRightToAllSecurityGroups(string sRight, SecurityLevelTypes defaultSecurityLevel)
|
||
{
|
||
//Get a list of security groups
|
||
SafeDataReader dr = null;
|
||
ArrayList al = new ArrayList();
|
||
try
|
||
{
|
||
dr = DBUtil.GetReaderFromSQLString("SELECT aID " +
|
||
"FROM aSecurityGroup", _tr);
|
||
while (dr.Read())
|
||
{
|
||
al.Add(dr.GetGuid("aID"));
|
||
|
||
}
|
||
dr.Close();
|
||
foreach (object o in al)
|
||
{
|
||
|
||
DBCommandWrapper cm = DBUtil.GetCommandFromSQL(
|
||
"INSERT INTO aUserRight (aID, aSecurityGroupID, aRight, " +
|
||
"aSecurityLevel, aCreated,aModified,aCreator,aModifier) VALUES " +
|
||
"(@ID,@SecurityGroupID,@Right,@SecurityLevel,@Created,@Modified,@CurrentUserID, " +
|
||
"@CurrentUserID)"
|
||
);
|
||
|
||
|
||
|
||
//Purchase order item fields
|
||
cm.AddInParameter("@ID", DbType.Guid, Guid.NewGuid());
|
||
cm.AddInParameter("@SecurityGroupID", DbType.Guid, (Guid)o);
|
||
cm.AddInParameter("@Right", DbType.String, sRight);
|
||
cm.AddInParameter("@SecurityLevel", DbType.Int16, (int)defaultSecurityLevel);
|
||
|
||
//Standard fields
|
||
cm.AddInParameter("@CurrentUserID", DbType.Guid, User.AdministratorID);
|
||
cm.AddInParameter("@Created", DbType.DateTime, DBUtil.ToUTC(DBUtil.CurrentWorkingDateTime));
|
||
cm.AddInParameter("@Modified", DbType.DateTime, DBUtil.ToUTC(DBUtil.CurrentWorkingDateTime));
|
||
DBUtil.DB.ExecuteNonQuery(cm, _tr);
|
||
|
||
}
|
||
}
|
||
finally
|
||
{
|
||
if (dr != null) dr.Close();
|
||
}
|
||
//Insert the right for each group
|
||
|
||
//Wala!
|
||
|
||
}
|
||
#endregion
|
||
|
||
}//end of schemalizer class
|
||
#endregion schemalizyer
|
||
|
||
#region Unschedule users
|
||
/// <summary>
|
||
/// Unset any scheduled users on objects where they
|
||
/// can be set i.e. workorder etc.
|
||
///
|
||
/// Used by license entry code when a user installs a less than 5 user
|
||
/// key into a trial database but does not erase the trial data.
|
||
///
|
||
/// This avoids a license violation error and messy manual steps to
|
||
/// recover from it.
|
||
/// </summary>
|
||
[Serializable, System.ComponentModel.Browsable(false)]
|
||
public class UnscheduleAllUsers//DO_NOT_OBFUSCATE
|
||
{
|
||
public UnscheduleAllUsers()
|
||
{
|
||
|
||
}
|
||
|
||
public static void Unschedule()
|
||
{
|
||
DataPortal.Update(new UnscheduleAllUsers());
|
||
}
|
||
|
||
public void DataPortal_Update()
|
||
{
|
||
DBCommandWrapper cm = null;
|
||
cm = DBUtil.GetCommandFromSQL("UPDATE aWorkorderItemScheduledUser SET AUSERID=null");
|
||
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
}
|
||
}
|
||
|
||
|
||
|
||
//case 1172
|
||
/// <summary>
|
||
/// Change any scheduled users on objects where they
|
||
/// can be set i.e. workorder etc to the lite user.
|
||
///
|
||
/// Used by license entry code when a user installs a lite license into
|
||
/// a full copy
|
||
///
|
||
/// </summary>
|
||
[Serializable, System.ComponentModel.Browsable(false)]
|
||
public class UnscheduleAllUsersToLite//DO_NOT_OBFUSCATE
|
||
{
|
||
public UnscheduleAllUsersToLite()
|
||
{
|
||
|
||
}
|
||
|
||
public static void UnscheduleToLite()
|
||
{
|
||
DataPortal.Update(new UnscheduleAllUsersToLite());
|
||
}
|
||
|
||
public void DataPortal_Update()
|
||
{
|
||
DBCommandWrapper cm = null;
|
||
cm = DBUtil.GetCommandFromSQL("UPDATE aWorkorderItemScheduledUser SET AUSERID='{0A6AF710-366D-4CA8-BBC7-FCC75F0D1BD3}'");
|
||
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
|
||
}
|
||
}
|
||
#endregion unschedule
|
||
|
||
#region Merge clients
|
||
/// <summary>
|
||
/// Sets all records in the following objects from the source client id
|
||
/// to the destination id
|
||
/// ClientNote, ClientServiceRequest, PurchaseOrder, Unit, User, WorkOrder, ServiceBank
|
||
/// </summary>
|
||
[Serializable, System.ComponentModel.Browsable(false)]
|
||
public class MergeClients//DO_NOT_OBFUSCATE
|
||
{
|
||
Guid _src;
|
||
Guid _dest;
|
||
public MergeClients(Guid SourceClientID, Guid DestClientID)
|
||
{
|
||
_src = SourceClientID;
|
||
_dest = DestClientID;
|
||
|
||
}
|
||
|
||
public static void Merge(Guid SourceClientID, Guid DestClientID)
|
||
{
|
||
DataPortal.Update(new MergeClients(SourceClientID, DestClientID));
|
||
}
|
||
|
||
public void DataPortal_Update()
|
||
{
|
||
|
||
using (IDbConnection connection = DBUtil.DB.GetConnection())
|
||
{
|
||
connection.Open();
|
||
IDbTransaction transaction = connection.BeginTransaction();
|
||
|
||
try
|
||
{
|
||
DBCommandWrapper cm = null;
|
||
cm = DBUtil.DB.GetSqlStringCommandWrapper("UPDATE ACLIENTNOTE SET ACLIENTID=@DESTID WHERE ACLIENTID=@SOURCEID");
|
||
cm.AddInParameter("@SOURCEID", DbType.Guid, _src);
|
||
cm.AddInParameter("@DESTID", DbType.Guid, _dest);
|
||
DBUtil.DB.ExecuteNonQuery(cm, transaction);
|
||
|
||
cm = DBUtil.DB.GetSqlStringCommandWrapper("UPDATE ACLIENTSERVICEREQUEST SET ACLIENTID=@DESTID WHERE ACLIENTID=@SOURCEID");
|
||
cm.AddInParameter("@SOURCEID", DbType.Guid, _src);
|
||
cm.AddInParameter("@DESTID", DbType.Guid, _dest);
|
||
DBUtil.DB.ExecuteNonQuery(cm, transaction);
|
||
|
||
cm = DBUtil.DB.GetSqlStringCommandWrapper("UPDATE APURCHASEORDER SET ADROPSHIPTOCLIENTID=@DESTID WHERE ADROPSHIPTOCLIENTID=@SOURCEID");
|
||
cm.AddInParameter("@SOURCEID", DbType.Guid, _src);
|
||
cm.AddInParameter("@DESTID", DbType.Guid, _dest);
|
||
DBUtil.DB.ExecuteNonQuery(cm, transaction);
|
||
|
||
cm = DBUtil.DB.GetSqlStringCommandWrapper("UPDATE AUNIT SET ACLIENTID=@DESTID WHERE ACLIENTID=@SOURCEID");
|
||
cm.AddInParameter("@SOURCEID", DbType.Guid, _src);
|
||
cm.AddInParameter("@DESTID", DbType.Guid, _dest);
|
||
DBUtil.DB.ExecuteNonQuery(cm, transaction);
|
||
|
||
cm = DBUtil.DB.GetSqlStringCommandWrapper("UPDATE AUSER SET ACLIENTID=@DESTID WHERE ACLIENTID=@SOURCEID");
|
||
cm.AddInParameter("@SOURCEID", DbType.Guid, _src);
|
||
cm.AddInParameter("@DESTID", DbType.Guid, _dest);
|
||
DBUtil.DB.ExecuteNonQuery(cm, transaction);
|
||
|
||
cm = DBUtil.DB.GetSqlStringCommandWrapper("UPDATE AWORKORDER SET ACLIENTID=@DESTID WHERE ACLIENTID=@SOURCEID");
|
||
cm.AddInParameter("@SOURCEID", DbType.Guid, _src);
|
||
cm.AddInParameter("@DESTID", DbType.Guid, _dest);
|
||
DBUtil.DB.ExecuteNonQuery(cm, transaction);
|
||
|
||
//cm = DBUtil.DB.GetSqlStringCommandWrapper("UPDATE ASERVICEBANK SET AAPPLIESTOROOTOBJECTID=@DESTID WHERE AAPPLIESTOROOTOBJECTID=@SOURCEID");
|
||
//cm.AddInParameter("@SOURCEID", DbType.Guid, _src);
|
||
//cm.AddInParameter("@DESTID", DbType.Guid, _dest);
|
||
//DBUtil.DB.ExecuteNonQuery(cm, transaction);
|
||
|
||
// Commit the transaction
|
||
//transaction.Rollback();//for testing
|
||
transaction.Commit();
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
// Rollback transaction
|
||
transaction.Rollback();
|
||
throw (ex);
|
||
}
|
||
finally
|
||
{
|
||
connection.Close();
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
}
|
||
#endregion MergeClients
|
||
|
||
#region Case 973 Reset cached items in AyaBizUtils at DataPortal side
|
||
/// <summary>
|
||
/// Reset the cached items in AyaBizUtils inside the dataportal
|
||
/// called when something is done at the users end that would affect
|
||
/// the cached info at the dataportal end like entering a new license key
|
||
/// </summary>
|
||
[Serializable, System.ComponentModel.Browsable(false)]
|
||
public class ResetCacheInDataPortal//DO_NOT_OBFUSCATE
|
||
{
|
||
public ResetCacheInDataPortal()
|
||
{
|
||
|
||
}
|
||
|
||
public static void Reset()
|
||
{
|
||
DataPortal.Update(new ResetCacheInDataPortal());
|
||
}
|
||
|
||
public void DataPortal_Update()
|
||
{
|
||
|
||
AyaBizUtils._GlobalX = null;
|
||
AyaBizUtils.GlobalSettings = null;
|
||
}
|
||
}
|
||
#endregion ResetCacheInDataPortal
|
||
|
||
#region case 1299 Recompute statistics in FireBird
|
||
[Serializable, System.ComponentModel.Browsable(false)]
|
||
public class FBRecomputeStats//DO_NOT_OBFUSCATE
|
||
{
|
||
public FBRecomputeStats()
|
||
{
|
||
|
||
}
|
||
|
||
public static void Recompute()
|
||
{
|
||
DataPortal.Update(new FBRecomputeStats());
|
||
}
|
||
|
||
public void DataPortal_Update()
|
||
{
|
||
SafeDataReader dr = null;
|
||
try
|
||
{
|
||
System.Collections.Generic.List<string> sIndexes = new System.Collections.Generic.List<string>();
|
||
dr = DBUtil.GetReaderFromSQLString("SELECT RDB$INDEX_NAME FROM RDB$INDICES");
|
||
while (dr.Read())
|
||
{
|
||
string sIndexName = dr[0].ToString();
|
||
if (sIndexName.StartsWith("RDB$")) continue;
|
||
sIndexes.Add(sIndexName);
|
||
}
|
||
dr.Close();
|
||
|
||
DBCommandWrapper cm = null;
|
||
|
||
//iterate indexes and recompute stats on them
|
||
foreach (string sIndex in sIndexes)
|
||
{
|
||
cm = DBUtil.GetCommandFromSQL("SET STATISTICS INDEX " + sIndex + ";");
|
||
DBUtil.DB.ExecuteNonQuery(cm);
|
||
}
|
||
|
||
}
|
||
|
||
|
||
finally
|
||
{
|
||
if (dr != null) dr.Close();
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
|
||
#endregion case 1299
|
||
//--------------------------------------------------------------------------
|
||
}
|
||
#pragma warning restore 1591
|
||
}
|