Files
ayanova7/source/bizobjects/AyaLib/GZTW.AyaNova.BLL/WorkorderPMDetailedReportData.cs
2018-06-29 19:47:36 +00:00

990 lines
43 KiB
C#

///////////////////////////////////////////////////////////
// Bool.cs
// Implementation of Class WorkorderPMDetailedReportData
// CSLA type: Read-only object
// Created on: 07-Dec-2005
// Object design: John
// Coded: 07-Dec-2005
///////////////////////////////////////////////////////////
using System;
using System.Data;
using CSLA.Data;
using GZTW.Data;
using CSLA;
using System.Threading;
using CSLA.Security;
using System.IO;
using System.Reflection;
using System.Collections.Generic;
namespace GZTW.AyaNova.BLL
{
/// <summary>
/// Detailed preventive maintenance info used in report
/// </summary>
[Serializable]
public class WorkorderPMDetailedReportData : ReadOnlyBase
{
private RelativeTimeFormatter rtfm=null;
#region Attributes
private ReportDataSet ds;
#endregion
#region Constructor
/// <summary>
/// Private constructor to prevent direct instantiation
/// </summary>
private WorkorderPMDetailedReportData()
{
rtfm=RelativeTimeFormatter.GetItem(User.CurrentUserLanguage);
}
#endregion
#region Static methods
/// <summary>
/// Internal method used by list factory
/// </summary>
internal static ReportDataSet Get(string Filter, int MaxRecords, List<Guid> IDList)
{
return ((WorkorderPMDetailedReportData)DataPortal.Fetch(new Criteria(Filter, IDList, MaxRecords))).ds;
}
/// <summary>
/// Returns the report key which is a property of
/// reports used to link all reports that can be used
/// with a particular data source.
/// </summary>
public static string ReportKey
{
get
{
return "WorkorderPMDetailed";
}
}
/// <summary>
/// Field that contains the ID of the objects
/// that are the basis of this list.
///
/// Used for compiling an ID list for reporting from user
/// selections in a grid.
/// </summary>
public static string IDField
{
get
{
return "LT_O_Workorder";
}
}
/// <summary>
/// Same as IDField but for detailed reports
/// </summary>
public static string IDFieldDetailed
{
get
{
return IDField;
}
}
/// <summary>
/// Get items by criteria
/// </summary>
/// <param name="xmlCriteria">Use AyaNova UI to easily build xmlCriteria and Ctrl-Alt-g keyboard command to display it for use in your code</param>
/// <returns>ReportDataSet</returns>
public static ReportDataSet GetItems(string xmlCriteria)
{
return ((WorkorderPMDetailedReportData)DataPortal.Fetch(new Criteria(xmlCriteria, null, -1))).ds;
}
/// <summary>
/// Takes a single ID and returns a "list" of one object
/// </summary>
/// <param name="WorkorderID">ID of Workorder object</param>
/// <returns>ReportDataSet</returns>
public static ReportDataSet GetItem(Guid WorkorderID)
{
//Case 556
List<Guid> l = new List<Guid>();
l.Add(WorkorderID);
return GetListFromIDList(l);
}
/// <summary>
/// Get's all workorders in the provided List of workorder id's
/// (used for pick and choose printing etc)
/// </summary>
/// <param name="WorkorderIDList">Generic list of Guid's of workorders</param>
/// <returns>ReportDataSet</returns>
public static ReportDataSet GetListFromIDList(List<Guid> WorkorderIDList)
{
//case 556
if (WorkorderIDList.Count == 0)
{
WorkorderPMDetailedReportData d = new WorkorderPMDetailedReportData();
d.InitDS();
return d.ds;
}
return ((WorkorderPMDetailedReportData)DataPortal.Fetch(new Criteria("", WorkorderIDList, -1))).ds;
}
#endregion
#region Initialize data set
private void InitDS()
{
ds=new ReportDataSet();
System.IO.Stream s=Assembly.GetExecutingAssembly().GetManifestResourceStream("GZTW.AyaNova.BLL.WorkorderPMDetailedSchema.xsd");
ds.ReadXmlSchema(s);
ds.ShowOnlyStartingWith="WorkorderHeader";
}
#endregion initalize data set
#region DAL DATA ACCESS
///
/// <param name="Criteria"></param>
protected override void DataPortal_Fetch(object Criteria)
{
InitDS();
Criteria crit = (Criteria)Criteria;
DateTime dtNow = DBUtil.CurrentWorkingDateTime;
SafeDataReader dr = null;
try
{
#region Cached objects
//task completion types
string TaskComplete=LocalizedTextTable.GetLocalizedTextDirect("WorkorderItemTask.Label.CompletionType.Complete");
string TaskIncomplete=LocalizedTextTable.GetLocalizedTextDirect("WorkorderItemTask.Label.CompletionType.Incomplete");
string TaskNotApplicable=LocalizedTextTable.GetLocalizedTextDirect("WorkorderItemTask.Label.CompletionType.NotApplicable");
//Tax codes cache
TaxCodeList taxlist=TaxCodeList.GetList();
//Users
UserPickList users=UserPickList.GetList(false);
//Service rates
RatePickList rates=RatePickList.GetList(false);
//Units of time
string minutes=LocalizedTextTable.GetLocalizedTextDirect("UI.Label.TimeSpan.Minutes");
string hours=LocalizedTextTable.GetLocalizedTextDirect("UI.Label.TimeSpan.Hours");
string days=LocalizedTextTable.GetLocalizedTextDirect("UI.Label.TimeSpan.Days");
string months=LocalizedTextTable.GetLocalizedTextDirect("UI.Label.TimeSpan.Months");
string years=LocalizedTextTable.GetLocalizedTextDirect("UI.Label.TimeSpan.Years");
//Days of the week
string any=LocalizedTextTable.GetLocalizedTextDirect("UI.Label.Day.Any");
string monday=LocalizedTextTable.GetLocalizedTextDirect("UI.Label.Day.Monday");
string tuesday=LocalizedTextTable.GetLocalizedTextDirect("UI.Label.Day.Tuesday");
string wednesday=LocalizedTextTable.GetLocalizedTextDirect("UI.Label.Day.Wednesday");
string thursday=LocalizedTextTable.GetLocalizedTextDirect("UI.Label.Day.Thursday");
string friday=LocalizedTextTable.GetLocalizedTextDirect("UI.Label.Day.Friday");
string saturday=LocalizedTextTable.GetLocalizedTextDirect("UI.Label.Day.Saturday");
string sunday=LocalizedTextTable.GetLocalizedTextDirect("UI.Label.Day.Sunday");
#endregion cached objects
DBCommandWrapper cm = null;
#region Query
string q=
//***********************************************************************************************************
"SELECT ACLIENT.aName AS aClientName, ACLIENT.aID " +
"AS aClientID, aWorkorder.aInternalReferenceNumber, " +
" aWorkorder.aCustomerReferenceNumber, " +
" ACLIENT.ACONTACT, ACLIENT.AEMAIL, ACLIENT.APHONE1, ACLIENT.APHONE2, ACLIENT.APHONE3, ACLIENT.APHONE4, ACLIENT.APHONE5, ACLIENT.ACONTACTNOTES, " +
" aProject.aName AS aProjectName, aProject.aID " +
"AS aProjectID, aRegion.aName AS aRegionName, " +
" aRegion.aID AS aRegionID, aWorkorder.aOnsite, " +
" aWorkorder.aClosed, aWorkorder.aServiceCompleted, " +
" aWorkorder.aCustomerContactName, " +
" aWorkorder.aSummary, aWorkorderCategory.aName " +
"AS aWorkorderCategoryName, aWorkorderCategory.aID " +
"AS aWorkorderCategoryID, aWorkorder.aFromPMID, " +
" aWorkorder.aFromQuoteID, ACLIENT.aDispatchZoneID, " +
" aDispatchZone.aName AS aDispatchZoneName, " +
" ACLIENT.aClientGroupID, aClientGroup.aName " +
"AS aClientGroupName, aPOSTAL.aDeliveryAddress " +
"AS aPDeliveryAddress, aPOSTAL.aCity AS " +
"aPCity, aPOSTAL.aStateProv AS aPStateProv, aPOSTAL.aCountryCode " +
"AS aPCountryCode, aPOSTAL.aCountry " +
"AS aPCountry, aPOSTAL.aPostal AS aPPostal, aPHYSICAL.aDeliveryAddress, " +
" aPHYSICAL.aCity, aPHYSICAL.aStateProv, " +
" aPHYSICAL.aCountryCode, aPHYSICAL.aCountry, " +
" aPHYSICAL.aPostal, aPHYSICAL.aLongitude, aPHYSICAL.aLatitude, " +
//case 636
"AHEADOFFICE.ANAME AS AHEADOFFICENAME, " +
"aHOPOSTAL.aDeliveryAddress " +
"AS aHOPDeliveryAddress, aHOPOSTAL.aCity " +
"AS aHOPCity, aHOPOSTAL.aStateProv AS aHOPStateProv, aHOPOSTAL.aCountry " +
"AS aHOPCountry, aHOPOSTAL.aPOSTAL AS aHOPPostal, ACLIENT.ABILLHEADOFFICE, " +
" AWORKORDERITEM.aSummary AS aWORKORDERITEMSUMMARY, " +
" AWORKORDERITEM.aTypeID, aWorkorderItemType.aName " +
"AS aTypeName, AWORKORDERITEM.aRequestDate, " +
" aPriority.aName AS aPriorityName, " +
" AWORKORDERITEM.aPriorityID, AWORKORDERITEM.aWorkorderStatusID " +
"AS aWorkorderItemStatusID, " +
" aWorkorderItemStatus.aName AS aWorkorderItemStatusName, " +
" AWORKORDERITEM.aUnitID, aUnitModel.aModelNumber, aUnitModel.aName " +//case 9
"AS aUnitModelName, aUnitModelVendor.aName " +
"AS aUnitVendorName, aUnit.aSerial, AUNIT.ADESCRIPTION AS AUNITDESCRIPTION, aUnit.aUnitModelID, " +
"aUnit.ATEXT1, aUnit.ATEXT2, aUnit.ATEXT3, aUnit.ATEXT4, " + //case 1173
" AWORKORDERITEM.aWorkorderItemUnitServiceTypeID, " +
" aUnitServiceType.aName AS aWIUnitServiceTypeName, " +
" AWORKORDERITEM.aTechNotes, " +
" AWORKORDERITEM.aWarrantyService, AWORKORDERITEM.aCustom1, " +
" AWORKORDERITEM.aCustom2, " +
" AWORKORDERITEM.aCustom3, AWORKORDERITEM.aCustom4, " +
" AWORKORDERITEM.aCustom5, AWORKORDERITEM.aCustom6, " +
" AWORKORDERITEM.aCustom7, " +
" AWORKORDERITEM.aCustom8, AWORKORDERITEM.aCustom9, " +
" AWORKORDERITEM.aCustom0, aWorkorderItemScheduledUser.aEstimatedQuantity, " +
" aWorkorderItemScheduledUser.aUserID " +
"AS aScheduledUserID, " +
" aWorkorderItemScheduledUser.aStartDate, aWorkorderItemScheduledUser.aStopDate, " +
" aWorkorderItemScheduledUser.aServiceRateID " +
"AS aScheduledUserRateID, " +
" aWorkorderItemTask.aWorkorderItemTaskCmpltnType, " +
" aTask.aName AS aTaskName, aTaskGroup.aName " +
"AS aTaskGroupName, aPart.aName " +
"AS aPartName, aPart.aPartNumber, aPart.aUPC, " +
" aPartManufacturers.aName AS aPartManufacturerName, " +
" aPartCategory.aName AS aPartCategoryName, " +
" aPartAssembly.aName AS aPartAssemblyName, aWorkorderItemPart.aPartWarehouseID, " +
" aPartWarehouse.aName " +
"AS aPartWarehouseName, aWorkorderItemPart.aTaxPartSaleID, " +
" aPartSerial.aSerialNumber, " +
" aWorkorderItemPart.aDescription AS aWOIPartDescription, " +
" aWorkorderItemPart.aQuantity, " +
" aWorkorderItemPart.aCost, aWorkorderItemPart.aPrice, " +
" aWorkorderItemPart.aDiscount, aWorkorderItemPart.aUsed, " +
" aWorkorderItemPart.aPartID, " +
" aWorkorderItemLabor.aUserID AS aWILUserID, " +
" aWorkorderItemLabor.aServiceRateID AS aWILRateID, " +
" aWorkorderItemLabor.aTaxRateSaleID AS " +
"aWILTaxRateSaleID, aWorkorderItemLabor.aServiceStartDate, " +
" aWorkorderItemLabor.aServiceStopDate, " +
" aWorkorderItemLabor.aServiceRateQuantity, " +
" aWorkorderItemLabor.aNoChargeQuantity, aWorkorderItemLabor.aServiceDetails, " +
" aWorkorderItemLabor.aServiceBankID, " +
" aWorkorderItemTravel.aUserID " +
"AS aWITUserID, aWorkorderItemTravel.aTravelStartDate, " +
" aWorkorderItemTravel.aTravelStopDate, " +
" aWorkorderItemTravel.aTravelRateID, aWorkorderItemTravel.aTravelDetails, " +
" aWorkorderItemTravel.aTravelRateQuantity, " +
" aWorkorderItemTravel.aNoChargeQuantity " +
"AS aWITNoChargeQuantity, " +
" aWorkorderItemTravel.aDistance, aWorkorderItemTravel.aTaxRateSaleID " +
"AS aWITTaxRateSaleID, " +
" aWorkorder.aID AS aWorkorderID, AWORKORDERITEM.aID " +
"AS aWorkorderItemID, aWorkorderItemLabor.aID " +
"AS aWorkorderItemLaborID, aWorkorderItemScheduledUser.aID " +
"AS aWorkorderItemScheduledUserID, " +
" aWorkorderItemTask.aID AS aWorkorderItemTaskID, " +
" aWorkorderItemTravel.aID AS aWorkorderItemTravelID, " +
" aWorkorderItemPart.aID AS aWorkorderItemPartID, " +
" aWorkorderPreventiveMaintenance.aCreated, " +
" aWorkorderPreventiveMaintenance.aStopGeneratingDate, " +
" aWorkorderPreventiveMaintenance.aDayOfTheWeek, " +
" aWorkorderPreventiveMaintenance.AACTIVE, " +
" aWorkorderPreventiveMaintenance.aPreventiveMaintenanceNumber, " +
" aWorkorderPreventiveMaintenance.aNextServiceDate, " +
" aWorkorderPreventiveMaintenance.aGenerateSpan, " +
" aWorkorderPreventiveMaintenance.aGenerateSpanUnit, " +
" aWorkorderPreventiveMaintenance.aThresholdSpan, " +
" aWorkorderPreventiveMaintenance.aThresholdSpanUnit, " +
" aWorkorderStatus.aName " +
"AS aWorkorderStatusName, " +
" aWorkorderStatus.AARGB " +
"FROM " +
" ACLIENT " +
" LEFT OUTER JOIN ADISPATCHZONE ON (ACLIENT.ADISPATCHZONEID=ADISPATCHZONE.AID) " +
" LEFT OUTER JOIN ACLIENTGROUP ON (ACLIENT.ACLIENTGROUPID=ACLIENTGROUP.AID) " +
" INNER JOIN AWORKORDER ON (ACLIENT.AID=AWORKORDER.ACLIENTID) " +
" LEFT OUTER JOIN AREGION ON (ACLIENT.AREGIONID=AREGION.AID) " +
" LEFT OUTER JOIN AWORKORDERCATEGORY ON (AWORKORDER.AWORKORDERCATEGORYID=AWORKORDERCATEGORY.AID) " +
" INNER JOIN aWorkorderPreventiveMaintenance ON (aWorkorderPreventiveMaintenance.AWORKORDERID=AWORKORDER.AID) " +
" LEFT OUTER JOIN aWorkorderStatus ON (aWorkorderStatus.aID = aWorkorderPreventiveMaintenance.aWorkorderStatusID) " +
" LEFT OUTER JOIN AADDRESS aPHYSICAL ON (ACLIENT.AID=aPHYSICAL.AROOTOBJECTID) " +
" LEFT OUTER JOIN AADDRESS aPOSTAL ON (ACLIENT.AID=aPOSTAL.AROOTOBJECTID) " +
" LEFT OUTER JOIN APROJECT ON (APROJECT.AID=AWORKORDER.APROJECTID) " +
" LEFT OUTER JOIN AWORKORDERITEM ON (AWORKORDER.AID=AWORKORDERITEM.AWORKORDERID) " +
" LEFT OUTER JOIN AWORKORDERSTATUS aWorkorderItemStatus ON (AWORKORDERITEM.AWORKORDERSTATUSID=aWorkorderItemStatus.AID) " +
" LEFT OUTER JOIN APRIORITY ON (AWORKORDERITEM.APRIORITYID=APRIORITY.AID) " +
" LEFT OUTER JOIN AUNITSERVICETYPE ON (AWORKORDERITEM.AWORKORDERITEMUNITSERVICETYPEID=AUNITSERVICETYPE.AID) " +
" LEFT OUTER JOIN AWORKORDERITEMTYPE ON (AWORKORDERITEM.ATYPEID=AWORKORDERITEMTYPE.AID) " +
" LEFT OUTER JOIN AUNIT ON (AUNIT.AID=AWORKORDERITEM.AUNITID) " +
" LEFT OUTER JOIN AUNITMODEL ON (AUNIT.AUNITMODELID=AUNITMODEL.AID) " +
" LEFT OUTER JOIN AVENDOR aUnitModelVendor ON (AUNITMODEL.AVENDORID=aUnitModelVendor.AID) " +
" LEFT OUTER JOIN AWORKORDERITEMSCHEDULEDUSER ON (AWORKORDERITEM.AID=AWORKORDERITEMSCHEDULEDUSER.AWORKORDERITEMID) " +
"LEFT OUTER JOIN AWORKORDERITEMTASK ON (AWORKORDERITEM.AID=AWORKORDERITEMTASK.AWORKORDERITEMID) " +
"LEFT OUTER JOIN ATASK ON (AWORKORDERITEMTASK.ATASKID=ATASK.AID) " +
"LEFT OUTER JOIN ATASKGROUP ON (AWORKORDERITEMTASK.ATASKGROUPID=ATASKGROUP.AID) " +
"LEFT OUTER JOIN AWORKORDERITEMPART ON (AWORKORDERITEM.AID=AWORKORDERITEMPART.AWORKORDERITEMID) " +
" LEFT JOIN APART ON (AWORKORDERITEMPART.APARTID=APART.AID) " +
" LEFT JOIN APARTWAREHOUSE ON (AWORKORDERITEMPART.APARTWAREHOUSEID=APARTWAREHOUSE.AID) " +
" LEFT OUTER JOIN APARTSERIAL ON (AWORKORDERITEMPART.APARTSERIALID=APARTSERIAL.AID) " +
" LEFT OUTER JOIN AVENDOR aPartManufacturers ON (APART.AMANUFACTURERID=aPartManufacturers.AID) " +
" LEFT OUTER JOIN APARTCATEGORY ON (APART.APARTCATEGORYID=APARTCATEGORY.AID) " +
" LEFT OUTER JOIN APARTASSEMBLY ON (APART.APARTASSEMBLYID=APARTASSEMBLY.AID) " +
" LEFT OUTER JOIN AWORKORDERITEMLABOR ON (AWORKORDERITEM.AID=AWORKORDERITEMLABOR.AWORKORDERITEMID) " +
" LEFT OUTER JOIN AWORKORDERITEMTRAVEL ON (AWORKORDERITEM.AID=AWORKORDERITEMTRAVEL.AWORKORDERITEMID) " +
//case 636
" LEFT OUTER JOIN AHEADOFFICE ON (ACLIENT.AHEADOFFICEID=AHEADOFFICE.AID) " +
" LEFT OUTER JOIN AADDRESS aHOPOSTAL ON (AHEADOFFICE.AID=aHOPOSTAL.AROOTOBJECTID) " +
"WHERE (aWorkorder.aWorkorderType " +
"= 2) AND (aPOSTAL.AADDRESSTYPE IS NULL OR " +
"aPOSTAL.AADDRESSTYPE = 1) AND (aPHYSICAL.AADDRESSTYPE " +
"IS NULL OR aPHYSICAL.AADDRESSTYPE = 2) " +
//case 636
"AND " +
"(aHOPOSTAL.AADDRESSTYPE IS NULL OR aHOPOSTAL.AADDRESSTYPE = 1) "
//***********************************************************************************************************
;
//Built in order for reporting
string qOrderBy=
" aWorkorder.aID, AWORKORDERITEM.aID ";
if (crit.IDList != null)
{
//Case 556
System.Text.StringBuilder sbIN = new System.Text.StringBuilder();
sbIN.Append(" AND (aWorkorder.aID in (");
foreach (Guid gItem in crit.IDList)
{
sbIN.Append("'");
sbIN.Append("{");
sbIN.Append(gItem.ToString().ToUpperInvariant());
sbIN.Append("}");
sbIN.Append("',");
}
sbIN.Length = sbIN.Length - 1;
sbIN.Append(")) ");
cm = DBUtil.DB.GetSqlStringCommandWrapper(q + sbIN.ToString() + " ORDER BY " + qOrderBy);
}
else
{
//Grid criteria
cm = DBUtil.DB.GetSqlStringCommandWrapper(DBUtil.AddRegionFilter(//case 58
q +
AyaBizUtils.GetGridColumnCriteria(crit.CriteriaXML,false) + " " +
AyaBizUtils.GetGridSortOrderColumns(crit.CriteriaXML) /*+ ", "+ qOrderBy*/
)
);
}
#endregion query
dr=new SafeDataReader(DBUtil.DB.ExecuteReader(cm));
DataRow r=null;
int nRecordsAddedToList = 0;
while(dr.Read())
{
//*******************************************
#region WorkorderLevel
if(!ds.Tables["WorkorderHeader"].Rows.Contains(dr.GetGuid("aWorkorderID")))
{
//only add the number of records specified in max records
//this is because a TOP clause in this query won't work and
//we're too far behind release of this update to completely rewrite the
//query to work properly with the top clause as the summary list does
if (crit.MaxRecords > 0 && nRecordsAddedToList == crit.MaxRecords)
break;
r=ds.Tables["WorkorderHeader"].NewRow();
r["ID"]=dr.GetGuid("aWorkorderID");
r["LT_O_Client"]=dr.GetString("aClientName");
r["LT_Workorder_Label_Summary"]=dr.GetString("aSummary");
r["LT_Client_Label_Contact"] = dr.GetString("aContact");
r["LT_Client_Label_Email"] = dr.GetString("aEmail");
r["LT_Client_Label_ContactNotes"] = dr.GetString("aContactNotes");
r["LT_Client_Label_Phone1"] = dr.GetString("aPhone1");
r["LT_Client_Label_Phone2"] = dr.GetString("aPhone2");
r["LT_Client_Label_Phone3"] = dr.GetString("aPhone3");
r["LT_Client_Label_Phone4"] = dr.GetString("aPhone4");
r["LT_Client_Label_Phone5"] = dr.GetString("aPhone5");
r["LT_O_Project"]=dr.GetString("aProjectName");
r["LT_O_Region"]=dr.GetString("aRegionName");
r["LT_O_WorkorderCategory"]=dr.GetString("aWorkorderCategoryName");
r["LT_Workorder_Label_InternalReferenceNumber"]=dr.GetString("aInternalReferenceNumber");
r["LT_Workorder_Label_CustomerReferenceNumber"]=dr.GetString("aCustomerReferenceNumber");
r["LT_Workorder_Label_CustomerContactName"]=dr.GetString("aCustomerContactName");
r["LT_Workorder_Label_Onsite"]=dr.GetBoolean("aOnsite");
r["LT_Workorder_Label_ServiceCompleted"]=dr.GetBoolean("aServiceCompleted");
//case 1406
//r["LT_Workorder_Label_Closed"]=dr.GetBoolean("aClosed");
r["LT_O_ClientGroup"]=dr.GetString("aClientGroupName");
r["LT_O_DispatchZone"]=dr.GetString("aDispatchZoneName");
r["LT_Address_Label_DeliveryAddress"]=dr.GetString("aDeliveryAddress");
r["LT_Address_Label_City"]=dr.GetString("aCity");
r["LT_Address_Label_StateProv"]=dr.GetString("aStateProv");
r["LT_Address_Label_Country"]=dr.GetString("aCountry");
r["LT_Address_Label_Postal"]=dr.GetString("aPostal");
r["LT_Address_Label_Latitude"]=Address.LatitudeToString(dr.GetDecimal("aLatitude"));
r["LT_Address_Label_Longitude"]=Address.LongitudeToString(dr.GetDecimal("aLongitude"));
r["LT_Address_Label_PostalDeliveryAddress"]=dr.GetString("aPDeliveryAddress");
r["LT_Address_Label_PostalCity"]=dr.GetString("aPCity");
r["LT_Address_Label_PostalStateProv"]=dr.GetString("aPStateProv");
r["LT_Address_Label_PostalCountry"]=dr.GetString("aPCountry");
r["LT_Address_Label_PostalPostal"]=dr.GetString("aPPostal");
//PM stuff
r["LT_O_WorkorderPreventiveMaintenance"]=dr.GetInt32("aPreventiveMaintenanceNumber").ToString();
r["LT_O_WorkorderStatus"]=dr.GetString("aWorkorderStatusName");
r["LT_WorkorderStatus_Label_ARGB"]=dr.GetInt32("AARGB");
r["LT_WorkorderPreventiveMaintenance_Label_StopGeneratingDate"]=DBUtil.ToLocal(dr.GetSmartDate("aStopGeneratingDate")).Date;
r["LT_WorkorderPreventiveMaintenance_Label_NextServiceDate"]=DBUtil.ToLocal(dr.GetSmartDate("aNextServiceDate")).Date;
r["LT_Common_Label_Created"]=DBUtil.ToLocal(dr.GetSmartDate("aCreated")).Date;
switch((AyaDayOfWeek)dr.GetInt16("aDayOfTheWeek"))
{
case AyaDayOfWeek.Monday:
r["LT_WorkorderPreventiveMaintenance_Label_DayOfTheWeek"]=monday;
break;
case AyaDayOfWeek.Tuesday:
r["LT_WorkorderPreventiveMaintenance_Label_DayOfTheWeek"]=tuesday;
break;
case AyaDayOfWeek.Wednesday:
r["LT_WorkorderPreventiveMaintenance_Label_DayOfTheWeek"]=wednesday;
break;
case AyaDayOfWeek.Thursday:
r["LT_WorkorderPreventiveMaintenance_Label_DayOfTheWeek"]=thursday;
break;
case AyaDayOfWeek.Friday:
r["LT_WorkorderPreventiveMaintenance_Label_DayOfTheWeek"]=friday;
break;
case AyaDayOfWeek.Saturday:
r["LT_WorkorderPreventiveMaintenance_Label_DayOfTheWeek"]=saturday;
break;
case AyaDayOfWeek.Sunday:
r["LT_WorkorderPreventiveMaintenance_Label_DayOfTheWeek"]=sunday;
break;
default:
r["LT_WorkorderPreventiveMaintenance_Label_DayOfTheWeek"]=any;
break;
}
r["LT_Common_Label_Active"]=dr.GetBoolean("AACTIVE");
r["LT_WorkorderPreventiveMaintenance_Label_GenerateSpan"]=dr.GetInt32("aGenerateSpan");
r["LT_WorkorderPreventiveMaintenance_Label_ThresholdSpan"]=dr.GetInt32("aThresholdSpan");
switch((AyaUnitsOfTime)dr.GetInt16("aGenerateSpanUnit"))
{
case AyaUnitsOfTime.Minutes:
r["LT_WorkorderPreventiveMaintenance_Label_GenerateSpanUnit"]=minutes;
break;
case AyaUnitsOfTime.Hours:
r["LT_WorkorderPreventiveMaintenance_Label_GenerateSpanUnit"]=hours;
break;
case AyaUnitsOfTime.Days:
r["LT_WorkorderPreventiveMaintenance_Label_GenerateSpanUnit"]=days;
break;
case AyaUnitsOfTime.Months:
r["LT_WorkorderPreventiveMaintenance_Label_GenerateSpanUnit"]=months;
break;
case AyaUnitsOfTime.Years:
r["LT_WorkorderPreventiveMaintenance_Label_GenerateSpanUnit"]=years;
break;
}
switch((AyaUnitsOfTime)dr.GetInt16("aThresholdSpanUnit"))
{
case AyaUnitsOfTime.Minutes:
r["LT_WorkorderPreventiveMaintenance_Label_ThresholdSpanUnit"]=minutes;
break;
case AyaUnitsOfTime.Hours:
r["LT_WorkorderPreventiveMaintenance_Label_ThresholdSpanUnit"]=hours;
break;
case AyaUnitsOfTime.Days:
r["LT_WorkorderPreventiveMaintenance_Label_ThresholdSpanUnit"]=days;
break;
case AyaUnitsOfTime.Months:
r["LT_WorkorderPreventiveMaintenance_Label_ThresholdSpanUnit"]=months;
break;
case AyaUnitsOfTime.Years:
r["LT_WorkorderPreventiveMaintenance_Label_ThresholdSpanUnit"]=years;
break;
}
//case 636
r["LT_O_HeadOffice"] = dr.GetString("AHEADOFFICENAME");
r["HO_Address"] = dr.GetString("aHOPDeliveryAddress");
r["HO_City"] = dr.GetString("aHOPCity");
r["HO_StateProv"] = dr.GetString("aHOPStateProv");
r["HO_Country"] = dr.GetString("aHOPCountry");
r["HO_PostalCode"] = dr.GetString("aHOPPostal");
r["LT_Client_Label_BillHeadOffice"] = dr.GetBoolean("ABILLHEADOFFICE");
ds.Tables["WorkorderHeader"].Rows.Add(r);
nRecordsAddedToList++;
}//end of if workorder already added as same level
#endregion workorderlevel
#region WorkorderServiceWorkorderItemList Level
if(!ds.Tables["WorkorderItem"].Rows.Contains(dr.GetGuid("aWorkorderItemID")))
{
r=ds.Tables["WorkorderItem"].NewRow();
r["ID"]=dr.GetGuid("aWorkorderItemID");
r["WorkorderID"]=dr.GetGuid("aWorkorderID");
r["LT_WorkorderItem_Label_Summary"]=dr.GetString("aWORKORDERITEMSUMMARY");
r["LT_WorkorderItem_Label_TypeID"]=dr.GetString("aTypeName");
r["LT_WorkorderItem_Label_RequestDate"]=DBUtil.ToLocal(dr.GetSmartDate("aRequestDate")).Date;
r["LT_WorkorderItem_Label_PriorityID"]=dr.GetString("aPriorityName");
r["LT_WorkorderItem_Label_WorkorderStatusID"]=dr.GetString("aWorkorderItemStatusName");
r["LT_Unit_Label_Serial"] = Unit.UnitNameFormatter(
dr.GetString("aModelNumber"),
dr.GetString("aUnitModelName"),
dr.GetString("aUnitVendorName"),
dr.GetString("aSerial"),
dr.GetString("AUNITDESCRIPTION"),
AyaBizUtils.GlobalSettings.DefaultUnitNameDisplayFormat);
r["LT_O_UnitModel"]=dr.GetString("aUnitModelName");
r["LT_O_UnitServiceType"]=dr.GetString("aWIUnitServiceTypeName");
//case 1173
r["LT_Unit_Label_Text1"] = dr.GetString("ATEXT1");
r["LT_Unit_Label_Text2"] = dr.GetString("ATEXT2");
r["LT_Unit_Label_Text3"] = dr.GetString("ATEXT3");
r["LT_Unit_Label_Text4"] = dr.GetString("ATEXT4");
r["LT_WorkorderItem_Label_TechNotes"]=dr.GetString("aTechNotes");
r["LT_WorkorderItem_Label_WarrantyService"]=dr.GetBoolean("aWarrantyService");
r["LT_WorkorderItem_Label_Custom1"]=dr.GetString("aCustom1");
r["LT_WorkorderItem_Label_Custom2"]=dr.GetString("aCustom2");
r["LT_WorkorderItem_Label_Custom3"]=dr.GetString("aCustom3");
r["LT_WorkorderItem_Label_Custom4"]=dr.GetString("aCustom4");
r["LT_WorkorderItem_Label_Custom5"]=dr.GetString("aCustom5");
r["LT_WorkorderItem_Label_Custom6"]=dr.GetString("aCustom6");
r["LT_WorkorderItem_Label_Custom7"]=dr.GetString("aCustom7");
r["LT_WorkorderItem_Label_Custom8"]=dr.GetString("aCustom8");
r["LT_WorkorderItem_Label_Custom9"]=dr.GetString("aCustom9");
r["LT_WorkorderItem_Label_Custom0"]=dr.GetString("aCustom0");
ds.Tables["WorkorderItem"].Rows.Add(r);
}
#endregion workorderserviceworkorderitemlist fields
#region WorkorderItemScheduledUser Level
if(!ds.Tables["WorkorderItemScheduledUser"].Rows.Contains(dr.GetGuid("aWorkorderItemScheduledUserID")))
{
r=ds.Tables["WorkorderItemScheduledUser"].NewRow();
r["ID"]=dr.GetGuid("aWorkorderItemScheduledUserID");
r["WorkorderItemID"]=dr.GetGuid("aWorkorderItemID");
r["LT_WorkorderItemScheduledUser_Label_EstimatedQuantity"]=dr.GetDecimal("aEstimatedQuantity");
Guid gSchedUserID=dr.GetGuid("aScheduledUserID");
r["LT_WorkorderItemScheduledUser_Label_UserID"]=users[gSchedUserID];
r["LT_WorkorderItemScheduledUser_Label_StartDateRelative"]=rtfm.Format(dtNow,DBUtil.ToLocal(dr.GetSmartDate("aStartDate")));
r["LT_WorkorderItemScheduledUser_Label_StartDate"]=DBUtil.ToLocal(dr.GetSmartDate("aStartDate")).Date;
r["LT_WorkorderItemScheduledUser_Label_StopDate"]=DBUtil.ToLocal(dr.GetSmartDate("aStopDate")).Date;
Guid gScheduledUserRateID=dr.GetGuid("aScheduledUserRateID");
if(gScheduledUserRateID!=Guid.Empty)
{
RatePickList.RatePickListInfo riSched=rates[gScheduledUserRateID];
r["LT_WorkorderItemScheduledUser_Label_ServiceRateID"]=riSched.Name;
//Case 109
r["LT_Rate_Label_AccountNumber"] = riSched.AccountNumber;
}
else
{
r["LT_WorkorderItemScheduledUser_Label_ServiceRateID"]="";
}
ds.Tables["WorkorderItemScheduledUser"].Rows.Add(r);
}
#endregion
#region WorkorderItemTask Level
if(!ds.Tables["WorkorderItemTask"].Rows.Contains(dr.GetGuid("aWorkorderItemTaskID")))
{
r=ds.Tables["WorkorderItemTask"].NewRow();
r["ID"]=dr.GetGuid("aWorkorderItemTaskID");
r["WorkorderItemID"]=dr.GetGuid("aWorkorderItemID");
switch((WorkorderItemTaskCompletionTypes)dr.GetInt16("aWorkorderItemTaskCmpltnType"))
{
case WorkorderItemTaskCompletionTypes.Complete:
r["LT_WorkorderItemTask_Label_WorkorderItemTaskCompletionType"]=TaskComplete;
break;
case WorkorderItemTaskCompletionTypes.Incomplete:
r["LT_WorkorderItemTask_Label_WorkorderItemTaskCompletionType"]=TaskIncomplete;
break;
default:
r["LT_WorkorderItemTask_Label_WorkorderItemTaskCompletionType"]=TaskNotApplicable;
break;
}
r["LT_Task_Label_Name"]=dr.GetString("aTaskName");
r["LT_TaskGroup_Label_Name"]=dr.GetString("aTaskGroupName");
ds.Tables["WorkorderItemTask"].Rows.Add(r);
}
#endregion workorderitemtasklevel
#region WorkorderItemPart Level
if(!ds.Tables["WorkorderItemPart"].Rows.Contains(dr.GetGuid("aWorkorderItemPartID")))
{
r=ds.Tables["WorkorderItemPart"].NewRow();
r["ID"]=dr.GetGuid("aWorkorderItemPartID");
r["WorkorderItemID"]=dr.GetGuid("aWorkorderItemID");
r["LT_WorkorderItemPart_Label_PartID"]=Part.PartDisplayFormatter(
dr.GetString("aPartName"),
dr.GetString("aPartNumber"),
dr.GetString("aUPC"),
dr.GetString("aPartManufacturerName"),
dr.GetString("aPartCategoryName"),
dr.GetString("aPartAssemblyName"),
AyaBizUtils.GlobalSettings.DefaultPartDisplayFormat);
r["LT_WorkorderItemPart_Label_PartWarehouseID"]=dr.GetString("aPartWarehouseName");
Guid gPartTaxID=dr.GetGuid("aTaxPartSaleID");
if(gPartTaxID!=Guid.Empty)
{
TaxCodeList.TaxCodeListInfo tiPart=taxlist[gPartTaxID];
r["LT_WorkorderItemPart_Label_TaxPartSaleID"]=tiPart.Name;
r["LT_TaxCode_Label_TaxA"]=tiPart.TaxA;
r["LT_TaxCode_Label_TaxB"]=tiPart.TaxB;
r["LT_TaxCode_Label_TaxAExempt"]=tiPart.TaxAExempt;
r["LT_TaxCode_Label_TaxBExempt"]=tiPart.TaxBExempt;
r["LT_TaxCode_Label_TaxOnTax"]=tiPart.TaxOnTax;
}
else
{
r["LT_WorkorderItemPart_Label_TaxPartSaleID"]="";
r["LT_TaxCode_Label_TaxA"]=0m;
r["LT_TaxCode_Label_TaxB"]=0m;
r["LT_TaxCode_Label_TaxAExempt"]=true;
r["LT_TaxCode_Label_TaxBExempt"]=true;
r["LT_TaxCode_Label_TaxOnTax"]=false;
}
r["LT_WorkorderItemPart_Label_PartSerialID"]=dr.GetString("aSerialNumber");
r["LT_O_PartCategory"]=dr.GetString("aPartCategoryName");
r["LT_O_PartAssembly"]=dr.GetString("aPartAssemblyName");
r["LT_WorkorderItemPart_Label_Description"]=dr.GetString("aWOIPartDescription");
r["LT_WorkorderItemPart_Label_Quantity"]=dr.GetDecimal("aQuantity");
r["LT_WorkorderItemPart_Label_Cost"]=dr.GetDecimal("aCost");
r["LT_WorkorderItemPart_Label_Price"]=dr.GetDecimal("aPrice");
r["LT_WorkorderItemPart_Label_Discount"]=dr.GetDecimal("aDiscount");
r["LT_WorkorderItemPart_Label_Used"]=dr.GetBoolean("aUsed");
#region Calculated values
decimal net=0;
decimal quantity=(decimal)r["LT_WorkorderItemPart_Label_Quantity"];
decimal price=(decimal)r["LT_WorkorderItemPart_Label_Price"];
decimal discount=(decimal)r["LT_WorkorderItemPart_Label_Discount"];
//case 1343
//net=quantity*price;
//net=net-(net*discount);
net = decimal.Round(quantity * price, 2, MidpointRounding.AwayFromZero);
net = net - (decimal.Round(net * discount, 2, MidpointRounding.AwayFromZero));
r["LT_UI_Label_NetValue"]=net;
r["LT_TaxCode_Label_TaxAValue"] = decimal.Round(net * (decimal)r["LT_TaxCode_Label_TaxA"], 2, MidpointRounding.AwayFromZero);
if((bool)(r["LT_TaxCode_Label_TaxOnTax"]))
{
r["LT_TaxCode_Label_TaxBValue"]=
decimal.Round((net+(decimal)r["LT_TaxCode_Label_TaxAValue"])*
(decimal)r["LT_TaxCode_Label_TaxB"], 2, MidpointRounding.AwayFromZero);
}
else
{
r["LT_TaxCode_Label_TaxBValue"] = decimal.Round(net * (decimal)r["LT_TaxCode_Label_TaxB"], 2, MidpointRounding.AwayFromZero);
}
r["LT_UI_Label_LineTotal"] = decimal.Round(net + (decimal)r["LT_TaxCode_Label_TaxBValue"] + (decimal)r["LT_TaxCode_Label_TaxAValue"], 2, MidpointRounding.AwayFromZero);
#endregion
ds.Tables["WorkorderItemPart"].Rows.Add(r);
}
#endregion workorderitempart level
#region WorkorderItemLabor Level
if(!ds.Tables["WorkorderItemLabor"].Rows.Contains(dr.GetGuid("aWorkorderItemLaborID")))
{
r=ds.Tables["WorkorderItemLabor"].NewRow();
r["ID"]=dr.GetGuid("aWorkorderItemLaborID");
r["WorkorderItemID"]=dr.GetGuid("aWorkorderItemID");
r["LT_WorkorderItemLabor_Label_UserID"]=users[dr.GetGuid("aWILUserID")];
Guid gLaborUserRateID=dr.GetGuid("aWILRateID");
if(gLaborUserRateID!=Guid.Empty)
{
RatePickList.RatePickListInfo riLabor=rates[gLaborUserRateID];
r["LT_WorkorderItemLabor_Label_ServiceRateID"]=riLabor.Name;
r["LT_WorkorderItemLabor_Label_LaborRateCharge"]=riLabor.Charge;
//Case 109
r["LT_Rate_Label_AccountNumber"] = riLabor.AccountNumber;
//retrieve plural or singular unit description?
if(dr.GetDecimal("aServiceRateQuantity")==1)
r["LT_WorkorderItemLabor_Label_LaborRateUnit"]=riLabor.UnitNameSingle;
else
r["LT_WorkorderItemLabor_Label_LaborRateUnit"]=riLabor.UnitNamePlural;
}
else
{
r["LT_WorkorderItemLabor_Label_ServiceRateID"]="";
r["LT_WorkorderItemLabor_Label_LaborRateCharge"]=0m;
r["LT_WorkorderItemLabor_Label_LaborRateUnit"]="";
}
Guid gLaborTaxID=dr.GetGuid("aWILTaxRateSaleID");
if(gLaborTaxID!=Guid.Empty)
{
TaxCodeList.TaxCodeListInfo tiLabor=taxlist[gLaborTaxID];
r["LT_WorkorderItemLabor_Label_TaxCodeID"]=tiLabor.Name;
r["LT_TaxCode_Label_TaxA"]=tiLabor.TaxA;
r["LT_TaxCode_Label_TaxB"]=tiLabor.TaxB;
r["LT_TaxCode_Label_TaxAExempt"]=tiLabor.TaxAExempt;
r["LT_TaxCode_Label_TaxBExempt"]=tiLabor.TaxBExempt;
r["LT_TaxCode_Label_TaxOnTax"]=tiLabor.TaxOnTax;
}
else
{
r["LT_WorkorderItemLabor_Label_TaxCodeID"]="";
r["LT_TaxCode_Label_TaxA"]=0m;
r["LT_TaxCode_Label_TaxB"]=0m;
r["LT_TaxCode_Label_TaxAExempt"]=true;
r["LT_TaxCode_Label_TaxBExempt"]=true;
r["LT_TaxCode_Label_TaxOnTax"]=false;
}
r["LT_WorkorderItemLabor_Label_ServiceStartDate"]=DBUtil.ToLocal(dr.GetSmartDate("aServiceStartDate")).Date;
r["LT_WorkorderItemLabor_Label_ServiceStopDate"]=DBUtil.ToLocal(dr.GetSmartDate("aServiceStopDate")).Date;
r["LT_WorkorderItemLabor_Label_ServiceRateQuantity"]=dr.GetDecimal("aServiceRateQuantity");
r["LT_WorkorderItemLabor_Label_NoChargeQuantity"]=dr.GetDecimal("aNoChargeQuantity");
r["LT_WorkorderItemLabor_Label_ServiceDetails"]=dr.GetString("aServiceDetails");
r["LT_WorkorderItemLabor_Label_LaborBanked"]=dr.GetGuid("aServiceBankID")==Guid.Empty?false:true;
#region Calculated values
decimal net=0;
decimal quantity=(decimal)r["LT_WorkorderItemLabor_Label_ServiceRateQuantity"];
decimal price=(decimal)r["LT_WorkorderItemLabor_Label_LaborRateCharge"];
net = decimal.Round(quantity * price, 2, MidpointRounding.AwayFromZero);
r["LT_UI_Label_NetValue"]=net;
r["LT_TaxCode_Label_TaxAValue"] = decimal.Round(net * (decimal)r["LT_TaxCode_Label_TaxA"], 2, MidpointRounding.AwayFromZero);
if((bool)(r["LT_TaxCode_Label_TaxOnTax"]))
{
r["LT_TaxCode_Label_TaxBValue"]=decimal.Round(
(net+(decimal)r["LT_TaxCode_Label_TaxAValue"])*
(decimal)r["LT_TaxCode_Label_TaxB"], 2, MidpointRounding.AwayFromZero);
}
else
{
r["LT_TaxCode_Label_TaxBValue"] = decimal.Round(net * (decimal)r["LT_TaxCode_Label_TaxB"], 2, MidpointRounding.AwayFromZero);
}
r["LT_UI_Label_LineTotal"]=net+(decimal)r["LT_TaxCode_Label_TaxBValue"]+(decimal)r["LT_TaxCode_Label_TaxAValue"];
#endregion
ds.Tables["WorkorderItemLabor"].Rows.Add(r);
}
#endregion workorderitemlabor level
#region WorkorderItemTravel Level
if(!ds.Tables["WorkorderItemTravel"].Rows.Contains(dr.GetGuid("aWorkorderItemTravelID")))
{
r=ds.Tables["WorkorderItemTravel"].NewRow();
r["ID"]=dr.GetGuid("aWorkorderItemTravelID");
r["WorkorderItemID"]=dr.GetGuid("aWorkorderItemID");
r["LT_WorkorderItemTravel_Label_UserID"]=users[dr.GetGuid("aWITUserID")];
Guid gTravelRateID=dr.GetGuid("aTravelRateID");
if(gTravelRateID!=Guid.Empty)
{
RatePickList.RatePickListInfo riTravel=rates[gTravelRateID];
r["LT_WorkorderItemTravel_Label_ServiceRateID"]=riTravel.Name;
r["LT_WorkorderItemTravel_Label_TravelRateCharge"]=riTravel.Charge;
//Case 109
r["LT_Rate_Label_AccountNumber"] = riTravel.AccountNumber;
//retrieve plural or singular unit description?
if(dr.GetDecimal("aTravelRateQuantity")==1)
r["LT_WorkorderItemTravel_Label_TravelRateUnit"]=riTravel.UnitNameSingle;
else
r["LT_WorkorderItemTravel_Label_TravelRateUnit"]=riTravel.UnitNamePlural;
}
else
{
r["LT_WorkorderItemTravel_Label_ServiceRateID"]="";
r["LT_WorkorderItemTravel_Label_TravelRateCharge"]=0m;
r["LT_WorkorderItemTravel_Label_TravelRateUnit"]="";
}
Guid gTravelTaxID=dr.GetGuid("aWITTaxRateSaleID");
if(gTravelTaxID!=Guid.Empty)
{
TaxCodeList.TaxCodeListInfo tiTravel=taxlist[gTravelTaxID];
r["LT_WorkorderItemTravel_Label_TaxCodeID"]=tiTravel.Name;
r["LT_TaxCode_Label_TaxA"]=tiTravel.TaxA;
r["LT_TaxCode_Label_TaxB"]=tiTravel.TaxB;
r["LT_TaxCode_Label_TaxAExempt"]=tiTravel.TaxAExempt;
r["LT_TaxCode_Label_TaxBExempt"]=tiTravel.TaxBExempt;
r["LT_TaxCode_Label_TaxOnTax"]=tiTravel.TaxOnTax;
}
else
{
r["LT_WorkorderItemTravel_Label_TaxCodeID"]="";
r["LT_TaxCode_Label_TaxA"]=0m;
r["LT_TaxCode_Label_TaxB"]=0m;
r["LT_TaxCode_Label_TaxAExempt"]=true;
r["LT_TaxCode_Label_TaxBExempt"]=true;
r["LT_TaxCode_Label_TaxOnTax"]=false;
}
r["LT_WorkorderItemTravel_Label_TravelStartDate"]=DBUtil.ToLocal(dr.GetSmartDate("aTravelStartDate")).Date;
r["LT_WorkorderItemTravel_Label_TravelStopDate"]=DBUtil.ToLocal(dr.GetSmartDate("aTravelStopDate")).Date;
r["LT_WorkorderItemTravel_Label_TravelRateQuantity"]=dr.GetDecimal("aTravelRateQuantity");
r["LT_WorkorderItemTravel_Label_NoChargeQuantity"]=dr.GetDecimal("aWITNoChargeQuantity");
r["LT_WorkorderItemTravel_Label_TravelDetails"]=dr.GetString("aTravelDetails");
r["LT_WorkorderItemTravel_Label_Distance"]=dr.GetDecimal("aDistance");
#region Calculated values
decimal net=0;
decimal quantity=(decimal)r["LT_WorkorderItemTravel_Label_TravelRateQuantity"];
decimal price=(decimal)r["LT_WorkorderItemTravel_Label_TravelRateCharge"];
net = decimal.Round(quantity * price, 2, MidpointRounding.AwayFromZero);
r["LT_UI_Label_NetValue"]=net;
r["LT_TaxCode_Label_TaxAValue"] = decimal.Round(net * (decimal)r["LT_TaxCode_Label_TaxA"], 2, MidpointRounding.AwayFromZero);
if((bool)(r["LT_TaxCode_Label_TaxOnTax"]))
{
r["LT_TaxCode_Label_TaxBValue"]=decimal.Round(
(net+(decimal)r["LT_TaxCode_Label_TaxAValue"])*
(decimal)r["LT_TaxCode_Label_TaxB"], 2, MidpointRounding.AwayFromZero);
}
else
{
r["LT_TaxCode_Label_TaxBValue"] = decimal.Round(net * (decimal)r["LT_TaxCode_Label_TaxB"], 2, MidpointRounding.AwayFromZero);
}
r["LT_UI_Label_LineTotal"]=net+(decimal)r["LT_TaxCode_Label_TaxBValue"]+(decimal)r["LT_TaxCode_Label_TaxAValue"];
#endregion
ds.Tables["WorkorderItemTravel"].Rows.Add(r);
}
#endregion workorderitemTravel level
//*******************************************
}
}
finally
{
if(dr!=null) dr.Close();
}
}
#endregion
#region criteria
/// <summary>
/// Criteria for identifying existing object
/// </summary>
[Serializable]
private class Criteria
{
public List<Guid> IDList;
public string CriteriaXML;
public int MaxRecords;
public Criteria(string _CriteriaXML, List<Guid> _IDList, int _MaxRecords)
{
CriteriaXML = _CriteriaXML;
IDList = _IDList;
MaxRecords = _MaxRecords;
}
}
#endregion
}//end Bool
}//end Boolspace GZTW.AyaNova.BLL