// //////////////////////////////////////////////////////////////////////// // PUBLIC METHODS // /// <summary> /// Insert a new service (direct to DB) /// </summary> /// <param name="dateTime_">dateTime_</param> /// <param name="mto">mto</param> /// <param name="description">description</param> /// <param name="unitId">unitId</param> /// <param name="type">type</param> /// <param name="state">state</param> /// <param name="ownerId">ownerId</param> /// <param name="assignDateTime">assignDateTime</param> /// <param name="assignDeadlineDate">assignDeadlineDate</param> /// <param name="assignTeamMember">assignTeamMember</param> /// <param name="assignTeamMemberID">assignTeamMemberID</param> /// <param name="assignThirdPartyVendor">assignThirdPartyVendor</param> /// <param name="acceptDateTime">acceptDateTime</param> /// <param name="rejectDateTime">rejectDateTime</param> /// <param name="rejectReason">rejectReason</param> /// <param name="startWorkDateTime">startWorkDateTime</param> /// <param name="startWorkOutOfServiceDate">startWorkOutOfServiceDate</param> /// <param name="startWorkOutOfServiceTime">startWorkOutOfServiceTime</param> /// <param name="completeWorkDateTime">completeWorkDateTime</param> /// <param name="completeWorkBackToServiceDate">completeWorkBackToServiceDate</param> /// <param name="completeWorkBackToServiceTime">completeWorkBackToServiceTime</param> /// <param name="completeWorkDetailDescription">completeWorkDetailDescription</param> /// <param name="completeWorkDetailPreventable">completeWorkDetailPreventable</param> /// <param name="completeWorkDetailTMLabourHours">completeWorkDetailTMLabourHours</param> /// <param name="completeWorkDetailTMCost">completeWorkDetailTMCost</param> /// <param name="completeWorkDetailTPVInvoiceNumber">completeWorkDetailTPVInvoiceNumber</param> /// <param name="completeWorkDetailTPVInvoiceAmout">completeWorkDetailTPVInvoiceAmout</param> /// <param name="notes">notes</param> /// <param name="ruleId">ruleId</param> /// <param name="mileage">mileage</param> /// <param name="startWorkMileage">startWorkMileage</param> /// <param name="completeWorkMileage">completeWorkMileage</param> /// <param name="deleted">deleted</param> /// <param name="companyId">companyId</param> /// <param name="libraryCategoriesId">libraryCategoriesId</param> /// <returns>int</returns> public int InsertDirect(DateTime? dateTime_, bool mto, string description, int? unitId, string type, string state, int ownerId, DateTime? assignDateTime, DateTime? assignDeadlineDate, bool assignTeamMember, int? assignTeamMemberID, string assignThirdPartyVendor, DateTime? acceptDateTime, DateTime? rejectDateTime, string rejectReason, DateTime? startWorkDateTime, DateTime? startWorkOutOfServiceDate, string startWorkOutOfServiceTime, DateTime? completeWorkDateTime, DateTime? completeWorkBackToServiceDate, string completeWorkBackToServiceTime, string completeWorkDetailDescription, bool completeWorkDetailPreventable, decimal? completeWorkDetailTMLabourHours, decimal? completeWorkDetailTMCost, string completeWorkDetailTPVInvoiceNumber, decimal? completeWorkDetailTPVInvoiceAmout, string notes, int? ruleId, string mileage, string startWorkMileage, string completeWorkMileage, bool deleted, int companyId, int? libraryCategoriesId) { // Get new service number by commpany string number = GetServiceNumber(companyId); // Get serviceId and insert request ServicesGateway servicesGateway = new ServicesGateway(null); int serviceId = servicesGateway.Insert(number, dateTime_, mto, description, unitId, type, state, ownerId, assignDateTime, assignDeadlineDate, assignTeamMember, assignTeamMemberID, assignThirdPartyVendor, acceptDateTime, rejectDateTime, rejectReason, startWorkDateTime, startWorkOutOfServiceDate, startWorkOutOfServiceTime, completeWorkDateTime, completeWorkBackToServiceDate, completeWorkBackToServiceTime, completeWorkDetailDescription, completeWorkDetailPreventable, completeWorkDetailTMLabourHours, completeWorkDetailTMCost, completeWorkDetailTPVInvoiceNumber, completeWorkDetailTPVInvoiceAmout, notes, ruleId, deleted, companyId, libraryCategoriesId); // Validate unit type if (unitId.HasValue) { UnitsGateway unitsGateway = new UnitsGateway(); unitsGateway.LoadByUnitId((int)unitId, companyId); string unitType = unitsGateway.GetType((int)unitId); // ... Insert vehicle info if (unitType == "Vehicle") { ServicesVehicle servicesVehicle = new ServicesVehicle(null); servicesVehicle.InsertDirect(serviceId, mileage, startWorkMileage, completeWorkMileage, deleted, companyId); } } return serviceId; }