Beispiel #1
0
        //public void SaveWorkTicketAsCurrent(JT_WorkTicket workTicket)
        //{
        //    //int rows = 0;

        //    JT_TechnicianScheduleDetail scheduleDetail =
        //        _database.Table<JT_TechnicianScheduleDetail>().Where(
        //            sd => (sd.WTNumber == workTicket.WTNumber) &&
        //                  (sd.WTStep == workTicket.WTStep) &&
        //                  (sd.SalesOrderNo == workTicket.SalesOrderNo)
        //            ).FirstOrDefault();

        //    //App_CurrentSelectionData currentData = _database.Table<App_CurrentSelectionData>().FirstOrDefault();

        //    //currentData.SalesOrderNo = workTicket.SalesOrderNo;
        //    //currentData.WTNumber = workTicket.WTNumber;
        //    //currentData.WTStep = workTicket.WTStep;

        //    SaveScheduleDetailAsCurrent(scheduleDetail);
        //}



        public JT_WorkTicket RetrieveCurrentWorkTicket()
        {
            JT_WorkTicket currentTicket = null;

            lock (_locker)
            {
                //App_CurrentSelectionData currentData = _database.Table<App_CurrentSelectionData>().FirstOrDefault();

                //return _database.Table<JT_WorkTicket>().Where(
                //        wt => (wt.SalesOrderNo == currentData.SalesOrderNo) &&
                //              (wt.WTNumber == currentData.WTNumber) &&
                //              (wt.WTStep == currentData.WTStep)
                //    ).FirstOrDefault();
                JT_TechnicianScheduleDetail scheduleDetail = RetrieveCurrentScheduleDetail();

                if (scheduleDetail != null)
                {
                    currentTicket =
                        _database.Table <JT_WorkTicket>().Where(
                            wt => (wt.SalesOrderNo == scheduleDetail.SalesOrderNo) &&
                            (wt.WTNumber == scheduleDetail.WTNumber) &&
                            (wt.WTStep == scheduleDetail.WTStep)
                            ).FirstOrDefault();
                }
            }

            return(currentTicket);
        }
Beispiel #2
0
        public App_ServiceAgreement GetServiceAgreement(JT_WorkTicket workTicket)
        {
            JT_ServiceAgreementHeader   serviceAgreementHeader   = new JT_ServiceAgreementHeader();
            JT_ServiceAgreementDetail   serviceAgreementDetail   = new JT_ServiceAgreementDetail();
            JT_ServiceAgreementPMDetail serviceAgreementPmDetail = new JT_ServiceAgreementPMDetail();

            lock (_locker)
            {
                serviceAgreementHeader =
                    _database.Table <JT_ServiceAgreementHeader>().Where(
                        sah => (sah.ContractCode == workTicket.HdrServiceContractCode && sah.ARDivisionNo != null)
                        ).FirstOrDefault();

                if (serviceAgreementHeader != null)
                {
                    serviceAgreementDetail =
                        _database.Table <JT_ServiceAgreementDetail>().Where(
                            sad => (sad.ARDivisionNo == serviceAgreementHeader.ARDivisionNo) &&
                            (sad.CustomerNo == serviceAgreementHeader.CustomerNo) &&
                            (sad.ContractCode == serviceAgreementHeader.ContractCode)
                            ).FirstOrDefault();

                    serviceAgreementPmDetail =
                        _database.Table <JT_ServiceAgreementPMDetail>().Where(
                            sapmd => (sapmd.ARDivisionNo == serviceAgreementHeader.ARDivisionNo) &&
                            (sapmd.CustomerNo == serviceAgreementHeader.CustomerNo) &&
                            (sapmd.ContractCode == serviceAgreementHeader.ContractCode)
                            ).FirstOrDefault();
                }
            }

            return(new App_ServiceAgreement(serviceAgreementHeader, serviceAgreementDetail, serviceAgreementPmDetail));
        }
Beispiel #3
0
        public JT_WorkTicket GetWorkTicket(string formattedWorkTicketNumber)
        {
            //JT_WorkTicket workTicket = null;
            JT_TechnicianScheduleDetail scheduleDetail = new JT_TechnicianScheduleDetail();

            string[] workTicketNumberParts = JT_WorkTicket.BreakFormattedTicketNumber(formattedWorkTicketNumber);
            scheduleDetail.SalesOrderNo = workTicketNumberParts[0];
            scheduleDetail.WTNumber     = workTicketNumberParts[1];
            scheduleDetail.WTStep       = workTicketNumberParts[2];

            return(GetWorkTicket(scheduleDetail));

            //lock (_locker)
            //{
            //    workTicket =
            //        _database.Table<JT_WorkTicket>().Where(
            //            wt =>
            //                (wt.SalesOrderNo == workTicketNumberParts[0]) &&
            //                (wt.WTNumber == workTicketNumberParts[1]) //&&
            //                //(wt.WTStep == workTicketNumberParts[2])
            //        ).FirstOrDefault();
            //}

            //return workTicket;
        }
 /// <summary>
 /// Retrieves a list of all JT_TransactionImportDetail objects from the local database table
 /// representing expense items.
 /// </summary>
 /// <returns>A List container of JT_TransactionImportDetail expense objects.</returns>
 public List <JT_TransactionImportDetail> GetExpensesForWorkTicket(JT_WorkTicket workTicket)
 {
     lock (_locker)
     {
         return(_database.Table <JT_TransactionImportDetail>().Where(
                    tid =>
                    (tid.RecordType == "E") &&
                    (tid.SalesOrderNo == workTicket.SalesOrderNo) &&
                    (tid.WTNumber == workTicket.WTNumber) &&
                    (tid.WTStep == workTicket.WTStep)
                    ).OrderBy(tid => tid.ItemCode).ToList());
     }
 }
 public ExpensesListPageViewModel(JT_WorkTicket workTicket)
 {
     // dch rkl 12/07/2016 catch exception
     try
     {
         _expensesList = new ObservableCollection <App_Expense>();
         SetWorkTicket(workTicket);
     }
     catch (Exception ex)
     {
         // dch rkl 12/07/2016 Log Error
         ErrorReporting errorReporting = new ErrorReporting();
         errorReporting.sendException(ex, "TechDashboard.ExpensesListPageViewModel(JT_WorkTicket workTicket)");
     }
 }
 public void SetWorkTicket(JT_WorkTicket workTicket)
 {
     // dch rkl 12/07/2016 catch exception
     try
     {
         //_workTicket = workTicket; TODO
         SetExpensesList();
     }
     catch (Exception ex)
     {
         // dch rkl 12/07/2016 Log Error
         ErrorReporting errorReporting = new ErrorReporting();
         errorReporting.sendException(ex, "TechDashboard.ExpensesListPageViewModel.SetWorkTicket(JT_WorkTicket workTicket)");
     }
 }
Beispiel #7
0
        public List <JT_ServiceEquipmentParts> RetrievePartsListFromWorkTicket(JT_WorkTicket workTicket)
        {
            lock (_locker)
            {
                List <JT_ServiceEquipmentParts> partsList = null;
                CI_Item repairItem = RetrieveRepairItemFromWorkTicket(workTicket);

                if (repairItem != null)
                {
                    partsList = _database.Table <JT_ServiceEquipmentParts>().Where(
                        part => repairItem.ItemCode.Contains(part.ItemCode)
                        ).ToList();
                }

                return(partsList);
            }
        }
Beispiel #8
0
        protected SO_SalesOrderHeader GetSalesOrderHeader(JT_WorkTicket workTicket)
        {
            SO_SalesOrderHeader salesOrderHeader = null;

            lock (_locker)
            {
                if (workTicket != null)
                {
                    salesOrderHeader =
                        _database.Table <SO_SalesOrderHeader>().Where(
                            so => (so.SalesOrderNo == workTicket.SalesOrderNo)
                            ).FirstOrDefault();
                }
            }

            return(salesOrderHeader);
        }
        public CI_Item RetrieveRepairItemFromWorkTicket(JT_WorkTicket workTicket)
        {
            CI_Item currentRepairItem = null;

            lock (_locker)
            {
                if (workTicket != null)
                {
                    currentRepairItem =
                        _database.Table<CI_Item>().Where(
                            ri => ri.ItemCode == workTicket.DtlRepairItemCode
                        ).FirstOrDefault();
                }
            }

            return currentRepairItem;
        }
        public List <JT_ServiceEquipmentParts> RetrievePartsListFromWorkTicket(JT_WorkTicket workTicket)
        {
            lock (_locker)
            {
                //App_CurrentSelectionData currentData = _database.Table<App_CurrentSelectionData>().FirstOrDefault();
                List <JT_ServiceEquipmentParts> partsList = null;
                CI_Item repairItem = RetrieveRepairItemFromWorkTicket(workTicket);

                if (repairItem != null)
                {
                    partsList = _database.Table <JT_ServiceEquipmentParts>().Where(
                        part => repairItem.ItemCode.Contains(part.ItemCode)
                        ).ToList();
                }

                return(partsList);
            }
        }
Beispiel #11
0
        public bool IsPartOnPartsList(JT_WorkTicket workTicket, CI_Item partToFind)
        {
            bool returnValue = false;

            lock (_locker)
            {
                try
                {
                    returnValue = (RetrievePartsListFromWorkTicket(workTicket).Find(part => part.PartItemCode == partToFind.ItemCode) != null);
                }
                catch
                {
                    returnValue = false;
                }
            }

            return(returnValue);
        }
Beispiel #12
0
        public JT_WorkTicketText RetrieveTextFromWorkTicket(JT_WorkTicket workTicket)
        {
            JT_WorkTicketText note = null;

            lock (_locker)
            {
                if (workTicket != null)
                {
                    note =
                        _database.Table <JT_WorkTicketText>().Where(
                            wtt => (wtt.SalesOrderNo == workTicket.SalesOrderNo) &&
                            (wtt.WTNumber == workTicket.WTNumber) &&
                            (wtt.WTStep == workTicket.WTStep)
                            ).FirstOrDefault();
                }
            }

            return(note);
        }
Beispiel #13
0
        public JT_WorkTicket GetWorkTicket(JT_TechnicianScheduleDetail scheduleDetail)
        {
            JT_WorkTicket workTicket = null;

            lock (_locker)
            {
                if (scheduleDetail != null)
                {
                    workTicket =
                        _database.Table <JT_WorkTicket>().Where(
                            wt => (wt.SalesOrderNo == scheduleDetail.SalesOrderNo) &&
                            (wt.WTNumber == scheduleDetail.WTNumber) &&
                            (wt.WTStep == scheduleDetail.WTStep)
                            ).FirstOrDefault();
                }
            }

            return(workTicket);
        }
 public void SetWorkTicket(JT_WorkTicket workTicket)
 {
     //_workTicket = workTicket; puke
     SetExpensesList();
 }
 public ExpensesListPageViewModel(JT_WorkTicket workTicket)
 {
     // puke
     _expensesList = new ObservableCollection <App_Expense>();
     SetWorkTicket(workTicket);
 }
Beispiel #16
0
        public App_WorkTicket GetWorkTicket(App_ScheduledAppointment scheduledAppointment)
        {
            JT_WorkTicket         workTicket         = null;
            JT_WorkTicket         workTicketStepZero = null;
            JT_WorkTicketClass    workTicketClass    = null;
            CI_Item               repairItem         = null;
            JT_EquipmentAsset     equipmentAsset     = null;
            App_ServiceAgreement  serviceAgreement   = null;
            JT_ClassificationCode problemCode        = null;
            JT_ClassificationCode exceptionCode      = null;

            lock (_locker)
            {
                if (scheduledAppointment != null)
                {
                    workTicket =
                        _database.Table <JT_WorkTicket>().Where(
                            wt => (wt.SalesOrderNo == scheduledAppointment.SalesOrderNumber) &&
                            (wt.WTNumber == scheduledAppointment.WorkTicketNumber) &&
                            (wt.WTStep == scheduledAppointment.WorkTicketStep)
                            ).FirstOrDefault();

                    // dch rkl 11/30/2016 If JT_WorkTicket.HdrWTClass is null, populate it from SO_SalesOrderHeader.JT158_WTClass
                    if (workTicket.HdrWtClass == null)
                    {
                        SO_SalesOrderHeader soHeader = _database.Table <SO_SalesOrderHeader>().Where(
                            soh => (soh.SalesOrderNo == workTicket.SalesOrderNo)).FirstOrDefault();
                        if (soHeader != null)
                        {
                            workTicket.HdrWtClass = soHeader.JT158_WTClass;
                        }
                    }

                    workTicketStepZero =
                        _database.Table <JT_WorkTicket>().Where(
                            wt => (wt.SalesOrderNo == scheduledAppointment.SalesOrderNumber) &&
                            (wt.WTNumber == scheduledAppointment.WorkTicketNumber) &&
                            (wt.WTStep == "000")
                            ).FirstOrDefault();

                    workTicketClass =
                        _database.Table <JT_WorkTicketClass>().Where(
                            wtc => (workTicket.HdrWtClass == wtc.WorkTicketClass)
                            ).FirstOrDefault();

                    repairItem = GetItemFromDB(workTicket.DtlRepairItemCode);

                    if (workTicket.DtlMfgSerialNo != null)
                    {
                        equipmentAsset =
                            _database.Table <JT_EquipmentAsset> ().Where(
                                ea => (ea.ItemCode == repairItem.ItemCode) &&
                                (ea.MfgSerialNo == workTicket.DtlMfgSerialNo)
                                ).FirstOrDefault();
                    }
                    else
                    {
                        equipmentAsset = new JT_EquipmentAsset();
                    }

                    serviceAgreement = GetServiceAgreement(workTicketStepZero);
                    //serviceAgreement = GetServiceAgreement(workTicket);

                    problemCode = _database.Table <JT_ClassificationCode>().Where(
                        pc => (pc.ClassificationCode == workTicket.DtlProblemCode)
                        ).FirstOrDefault();

                    exceptionCode = _database.Table <JT_ClassificationCode>().Where(
                        pc => (pc.ClassificationCode == workTicket.DtlCoverageExceptionCode)
                        ).FirstOrDefault();
                }
            }

            return(new App_WorkTicket(workTicket, workTicketStepZero, workTicketClass,
                                      new App_RepairItem(repairItem, equipmentAsset),
                                      serviceAgreement, problemCode, exceptionCode));
        }
Beispiel #17
0
        public void FillServiceAgreementHeaderTable()
        {
            // Fill Service Agreement Details based on Tickets
            //FillLocalTable<JT_ServiceAgreementHeader>();  // TODO filter

            // dch rkl 01/31/2017 prevent duplicate filters, which generates long query string
            DataTable dtFilter = new DataTable("Filter");

            dtFilter.Columns.Add("ContractCode", typeof(string));
            dtFilter.Columns.Add("CustomerNo", typeof(string));
            dtFilter.Columns.Add("ARDivisionNo", typeof(string));

            StringBuilder sbH = new StringBuilder();

            List <JT_TechnicianScheduleDetail> scheduledTickets = GetTechnicianScheduleDetailFromDB();

            List <JT_WorkTicket>       tickets = GetWorkTicketsFromDB();
            List <SO_SalesOrderHeader> sohs    = GetSalesOrderHeadersFromDB();

            for (int i = 0; i < scheduledTickets.Count; i++)
            {
                JT_WorkTicket ticket = tickets.FirstOrDefault(s => s.SalesOrderNo == scheduledTickets[i].SalesOrderNo &&
                                                              s.WTNumber == scheduledTickets[i].WTNumber && s.WTStep == "000" && s.HdrServiceContractCode != null);
                if (ticket != null)
                {
                    SO_SalesOrderHeader soHdr = sohs.FirstOrDefault(s => s.SalesOrderNo == scheduledTickets[i].SalesOrderNo);
                    if (soHdr != null)
                    {
                        // dch rkl 01/31/2017 prevent duplicate filters, which generates long query string
                        DataView dvFilter = new DataView(dtFilter);
                        dvFilter.RowFilter = "ContractCode = '" + ticket.HdrServiceContractCode + "' and CustomerNo = '" + soHdr.CustomerNo + "' and ARDivisionNo = '" + soHdr.ARDivisionNo + "'";
                        if (dvFilter.Count == 0)
                        {
                            dtFilter.Rows.Add(ticket.HdrServiceContractCode, soHdr.CustomerNo, soHdr.ARDivisionNo);
                        }
                        //if (sbH.Length > 0)
                        //{
                        //    sbH.Append(" or ");
                        //}
                        //sbH.Append("(ContractCode eq '");
                        //sbH.Append(ticket.HdrServiceContractCode);
                        //sbH.Append("' and CustomerNo eq '");
                        //sbH.Append(soHdr.CustomerNo);
                        //sbH.Append("' and ARDivisionNo eq '");
                        //sbH.Append(soHdr.ARDivisionNo);

                        //sbH.Append("')");
                        // dch rkl 01/31/2017 prevent duplicate filters, which generates long query string END
                    }
                }
            }

            // dch rkl 01/31/2017 prevent duplicate filters, which generates long query string BEGIN
            foreach (DataRow row in dtFilter.Rows)
            {
                if (sbH.Length > 0)
                {
                    sbH.Append(" or ");
                }
                sbH.Append("(ContractCode eq '");
                sbH.Append(row["ContractCode"].ToString());
                sbH.Append("' and CustomerNo eq '");
                sbH.Append(row["CustomerNo"].ToString());
                sbH.Append("' and ARDivisionNo eq '");
                sbH.Append(row["ARDivisionNo"].ToString());

                sbH.Append("')");
            }
            // dch rkl 01/31/2017 prevent duplicate filters, which generates long query string END

            FillLocalTable <JT_ServiceAgreementHeader>("where", sbH.ToString());
            FillLocalTable <JT_ServiceAgreementDetail>("where", sbH.ToString());
            FillLocalTable <JT_ServiceAgreementPMDetail>("where", sbH.ToString());
        }
        public void SetWorkTicketForApplication(JT_WorkTicket workTicket)
        {
            //App.Database.SaveWorkTicketAsCurrent(workTicket);

            // App.SetWorkTicketAsCurrent(workTicket);
        }