/// <summary> /// Returns Work Order object - presented on the WorkOrder Details tab /// </summary> /// <param name="wo">WorkOrder</param> /// <param name="showWorkers">bool flag determining whether the workers associated with the WorkOrder should be retrieved</param> /// <returns>Work Order </returns> public object dtResponse( WorkOrder wo, bool showWorkers) { int ID = wo.ID; return new { tabref = wo.getTabRef(), tablabel = Machete.Web.Resources.WorkOrders.tabprefix + wo.getTabLabel(), EID = Convert.ToString(wo.EmployerID), // Note: Employer ID appears to be unused WOID = System.String.Format("{0,5:D5}", wo.paperOrderNum), // TODO: investigate why PaperOrderNum is used - shouldn't this be the Order # from the WO Table? dateTimeofWork = wo.dateTimeofWork.ToString(), status = lcache.textByID(wo.status, CI.TwoLetterISOLanguageName), WAcount = wo.workAssignments.Count(a => a.workOrderID == ID).ToString(), contactName = wo.contactName, workSiteAddress1 = wo.workSiteAddress1, zipcode = wo.zipcode, dateupdated = System.String.Format("{0:MM/dd/yyyy HH:mm:ss}", wo.dateupdated), // Note: Date Updated appears to be unused updatedby = wo.Updatedby, transportMethod = lcache.textByID(wo.transportMethodID, CI.TwoLetterISOLanguageName), // Note: Transport Method appears to be unused displayState = _getDisplayState(wo), // Note: Display State appears to be unused onlineSource = wo.onlineSource ? Shared.True : Shared.False, emailSentCount = wo.Emails.Where(e => e.statusID == Email.iSent || e.statusID == Email.iReadyToSend).Count(), emailErrorCount = wo.Emails.Where(e => e.statusID == Email.iTransmitError).Count(), recordid = wo.ID.ToString(), // Note: Work Order ID appears not to be used workers = showWorkers ? // Note: Workers appears to not be used from w in wo.workAssignments select new { WID = w.workerAssigned != null ? (int?)w.workerAssigned.dwccardnum : null, name = w.workerAssigned != null ? w.workerAssigned.Person.fullName() : null, skill = lcache.textByID(w.skillID, CI.TwoLetterISOLanguageName), hours = w.hours, wage = w.hourlyWage } : null }; }
/// <summary> /// /// </summary> /// <param name="p"></param> /// <param name="showWorkers"></param> /// <returns></returns> public object dtResponse(ref WorkOrder p, bool showWorkers) { int ID = p.ID; return new { tabref = p.getTabRef(), tablabel = Machete.Web.Resources.WorkOrders.tabprefix + p.getTabLabel(), EID = Convert.ToString(p.EmployerID), WOID = System.String.Format("{0,5:D5}", p.paperOrderNum), dateTimeofWork = p.dateTimeofWork.ToString(), status = lcache.textByID(p.status, CI.TwoLetterISOLanguageName), WAcount = p.workAssignments.Count(a => a.workOrderID == ID).ToString(), contactName = p.contactName, workSiteAddress1 = p.workSiteAddress1, zipcode = p.zipcode, dateupdated = System.String.Format("{0:MM/dd/yyyy HH:mm:ss}", p.dateupdated), updatedby = p.Updatedby, transportMethod = lcache.textByID(p.transportMethodID, CI.TwoLetterISOLanguageName), displayState = _getDisplayState(p), onlineSource = p.onlineSource ? Shared.True : Shared.False, emailSentCount = p.Emails.Where(e => e.statusID == Email.iSent || e.statusID == Email.iReadyToSend).Count(), emailErrorCount = p.Emails.Where(e => e.statusID == Email.iTransmitError).Count(), recordid = p.ID.ToString(), workers = showWorkers ? from w in p.workAssignments select new { WID = w.workerAssigned != null ? (int?)w.workerAssigned.dwccardnum : null, name = w.workerAssigned != null ? w.workerAssigned.Person.fullName() : null, skill = lcache.textByID(w.skillID, CI.TwoLetterISOLanguageName), hours = w.hours, wage = w.hourlyWage } : null }; }