示例#1
0
        public App_WorkTicket GetCurrentWorkTicket()
        {
            App_WorkTicket currentWorkTicket = 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)
                {
                    SO_SalesOrderHeader salesOrderHeader = GetSalesOrderHeader(scheduleDetail);
                    if (salesOrderHeader != null)
                    {
                        App_ScheduledAppointment scheduledAppointment = new App_ScheduledAppointment(scheduleDetail, salesOrderHeader);
                        currentWorkTicket = GetWorkTicket(scheduledAppointment);
                    }
                }
            }

            return(currentWorkTicket);
        }
示例#2
0
        private void SelectedTicketEventHandlerMethod(object sender, RoutedEventArgs e)
        {
            DataGrid ticketSource = (DataGrid)e.OriginalSource;
            App_ScheduledAppointment scheduledAppointment = (App_ScheduledAppointment)ticketSource.SelectedItem;

            contentArea.Content = new TicketDetailsPage(scheduledAppointment);
        }
        public PartEditExtdDescPage(App_WorkTicket workTicket, App_RepairPart part, PartsEditPage.PageMode pageMode,
                                    App_ScheduledAppointment scheduledAppointment)
        {
            _workTicket           = workTicket;
            _part                 = part;
            _pageMode             = pageMode;
            _scheduledAppointment = scheduledAppointment;

            _vm = new PartsEditExtdDescPageViewModel(part, workTicket);

            InitializeComponent();
            labelTitle.FontFamily  = Device.OnPlatform("OpenSans-Bold", "sans-serif-black", null);
            labelItemCode.Text     = _part.PartItemCode;
            labelItemCodeDesc.Text = _part.PartItemCodeDescription;
            if (_part.ItemCodeDesc != null || _part.ItemCodeDesc.Trim().Length == 0)
            {
                CI_Item itm = App.Database.GetItemFromDB(_part.PartItemCode);
                if (itm.ExtendedDescriptionKey != null && itm.ExtendedDescriptionKey > 0)
                {
                    CI_ExtendedDescription itmExtdDsc = App.Database.GetExtendedDescription(itm.ExtendedDescriptionKey);
                }
            }
            else
            {
                entryExtdDesc.Text = _part.PartItemCodeDescription;
            }
        }
        public TicketDetailsPageViewModel()
        {
            // dch rkl 12/07/2016 catch exception
            try
            {
                _scheduledAppointment = App.Database.RetrieveCurrentScheduledAppointment();

                if (_scheduledAppointment != null)
                {
                    _workTicket = App.Database.GetWorkTicket(_scheduledAppointment);
                    _customer   = App.Database.GetAppCustomer(_salesOrderHeader.CustomerNo);
                    _salesOrder = App.Database.GetSalesOrder(_workTicket, _customer);
                    if (_workTicket.DtlRepairItemCode != null)
                    {
                        _repairItem = App.Database.GetItemFromDB(_workTicket.DtlRepairItemCode);
                    }
                    else
                    {
                        _repairItem = new CI_Item();
                    }
                    JT_Technician jt_technician = App.Database.GetCurrentTechnicianFromDb();
                    _appTechnician = new App_Technician(jt_technician);
                    AR_CustomerContact customerContact = App.Database.GetCustomerContact(_customer.ContactCode);
                    _customerContact = new App_CustomerContact(customerContact);
                }
            }
            catch (Exception ex)
            {
                // dch rkl 12/07/2016 Log Error
                ErrorReporting errorReporting = new ErrorReporting();
                errorReporting.sendException(ex, "TechDashboard.TicketDetailsPageViewModel()");
            }
        }
 public CustomerDetailsPage(App_Customer customer, App_ScheduledAppointment scheduledAppointment)
 {
     _vm = new CustomerDetailsPageViewModel(customer);
     _scheduledAppointment = scheduledAppointment;
     InitializeComponent();
     SetPageDisplay();
 }
示例#6
0
 public NotesPage(App_WorkTicket workTicket, App_ScheduledAppointment scheduledAppointment)
 {
     _vm = new NotesPageViewModel(workTicket);
     appScheduledAppt = scheduledAppointment;
     InitializeComponent();
     Initialize();
 }
示例#7
0
 public CustomerMapPage(XmlDocument customerLocation, App_ScheduledAppointment scheduledAppointment, string parentPage = "TicketDetails")
 {
     _vm = new CustomerMapPageViewModel(customerLocation);
     _scheduledAppointment = scheduledAppointment;
     _parentPage           = parentPage;
     InitializeComponent();
     Initialize();
 }
示例#8
0
 public PartsEditPage(App_WorkTicket workTicket, App_RepairPart part, PageMode pageMode, App_ScheduledAppointment scheduledAppointment)
 {
     _pageMode             = pageMode;
     _vm                   = new PartsEditPageViewModel(workTicket, part);
     _scheduledAppointment = scheduledAppointment;
     BindingContext        = _vm.PartToEdit;
     SetPageLayout();
 }
示例#9
0
        public PartsEditPage(App_WorkTicket workTicket, CI_Item part, PageMode pageMode, App_ScheduledAppointment scheduledAppointment)
        {
            _pageMode             = pageMode;
            _vm                   = new PartsEditPageViewModel(workTicket, part);
            _scheduledAppointment = scheduledAppointment;

            SetPageLayout();
        }
示例#10
0
        /// <summary>
        /// Sets the given technician as being clocked-in to a ticket represented by the
        /// specified scheduled appointment object.  The time and status codes provided
        /// will also be used to update the technician data.
        /// </summary>
        /// <param name="technician">Technician to clock in</param>
        /// <param name="scheduledAppointment">Scheduled Appointment object to clock into</param>
        /// <param name="startDateTime">Start date/time</param>
        /// <param name="technicianStatus">Technician status object for the new, clocked-in status</param>
        /// <param name="serviceTicketStatusCode">Work ticket status for the new, clocked-in status</param>
        public void ClockIn(App_Technician technician, App_ScheduledAppointment scheduledAppointment,
                            DateTime startDateTime, JT_TechnicianStatus technicianStatus,
                            JT_MiscellaneousCodes serviceTicketStatusCode)
        {
            // Is this tech already clocked into a ticket?
            if (IsClockedIn(technician))
            {
                throw new Exception("Technician is already clocked into a ticket!");
            }

            int rows = 0;

            // Update the erp record with the ticket info
            JT_Technician erpTech = GetTechnician(technician.TechnicianDeptNo, technician.TechnicianNo);

            erpTech.CurrentStartDate    = startDateTime.Date;
            erpTech.CurrentStartTime    = startDateTime.ToSage100TimeString();
            erpTech.CurrentSalesOrderNo = scheduledAppointment.SalesOrderNumber;
            erpTech.CurrentWTNumber     = scheduledAppointment.WorkTicketNumber;
            erpTech.CurrentWTStep       = scheduledAppointment.WorkTicketStep;
            erpTech.CurrentStatus       = technicianStatus.StatusCode;      // dch rkl 11/03/2016 Save Current Status code to JT_Technician table
            rows = _database.Update(erpTech);

            // create the JT_TransactionImportDetail record
            JT_TransactionImportDetail importDetail = new JT_TransactionImportDetail();

            importDetail.RecordType   = "S";
            importDetail.SalesOrderNo = scheduledAppointment.SalesOrderNumber;
            importDetail.WTNumber     = scheduledAppointment.WorkTicketNumber;
            importDetail.WTStep       = scheduledAppointment.WorkTicketStep;
            importDetail.StatusCode   = serviceTicketStatusCode.MiscellaneousCode;
            //importDetail.statusDate TODO>>> not in table spec!
            importDetail.TransactionDate           = startDateTime.ToShortDateString();
            importDetail.TransactionDateAsDateTime = startDateTime;

            // dch rkl 12/09/2016 per Chris, store start time in start time
            //importDetail.StatusTime = startDateTime.ToSage100TimeString();
            importDetail.StartTime = startDateTime.ToSage100TimeString();

            //importDetail.StatusComment = ""; // not used at this time but might be in the future
            rows = _database.Insert(importDetail);


            // TODO... do we need this anymore now that we are tracking in/out
            //  on technician record?
            JT_DailyTimeEntry newTimeEntry = new JT_DailyTimeEntry();

            newTimeEntry.DepartmentNo    = technician.TechnicianDeptNo;
            newTimeEntry.EmployeeNo      = technician.TechnicianNo;
            newTimeEntry.SalesOrderNo    = scheduledAppointment.SalesOrderNumber;
            newTimeEntry.WTNumber        = scheduledAppointment.WorkTicketNumber;
            newTimeEntry.WTStep          = scheduledAppointment.WorkTicketStep;
            newTimeEntry.StartTime       = startDateTime.ToSage100TimeString();
            newTimeEntry.TransactionDate = startDateTime;
            newTimeEntry.IsModified      = true;

            rows = _database.Insert(newTimeEntry);
        }
示例#11
0
 public ScheduleDetailPageViewModel(App_ScheduledAppointment scheduleDetail)
 {
     _scheduleDetail           = scheduleDetail;
     _technicianScheduleDetail = App.Database.GetTechnicianScheduleDetailFromDB().Where(x => x.WTNumber == _scheduleDetail.WorkTicketNumber &&
                                                                                        x.WTStep == _scheduleDetail.WorkTicketStep).FirstOrDefault();
     _timeEntryDetail = App.Database.GetTimeEntryData(scheduleDetail);
     _timportDetail   = App.Database.GetCurrentExport().Where(x => x.RecordType == "L" && x.WTNumber == _scheduleDetail.WorkTicketNumber &&
                                                              x.WTStep == _scheduleDetail.WorkTicketStep && x.SalesOrderNo == _scheduleDetail.SalesOrderNumber).FirstOrDefault();
 }
        public ClockInPage(App_ScheduledAppointment scheduleDetail)
        {
            _vm = new ClockInPageViewModel(scheduleDetail);

            // dch rkl 10/26/2016
            _scheduleDetail = scheduleDetail;

            InitializeComponent();
            InitializePage();
        }
        App_WorkTicket _workTicket;     // dch rkl 12/04/2016 Need this for coverage checkboxes

        public PartsListPage(App_WorkTicket workTicket, App_ScheduledAppointment scheduledAppointment)
        {
            _vm = new PartsListPageViewModel(workTicket);
            _scheduledAppointment = scheduledAppointment;

            // dch rkl 12/04/2016 Need this for coverage checkboxes
            _workTicket = workTicket;

            InitializeComponent();
            SetPageDisplay();
        }
        public PartsAddPage(App_WorkTicket workTicket, App_ScheduledAppointment scheduledAppointment)
        {
            _vm = new PartsAddPageViewModel(workTicket);
            _vm.FilterItemList("ZXZXZXZXZX128391");
            _scheduledAppointment = scheduledAppointment;
            InitializeComponent();

            gridParts.ItemsSource       = _vm.ItemList;
            gridParts.MouseDoubleClick += gridParts_MouseDoubleClick;
            gridParts.PreviewKeyDown   += gridParts_PreviewKeyDown;     // dch rkl 11/01/2016 Enter to select ticket
        }
        public PartsEditPage(App_WorkTicket workTicket, App_RepairPart part, PageMode pageMode, App_ScheduledAppointment scheduledAppointment)
        {
            _pageMode             = pageMode;
            _vm                   = new PartsEditPageViewModel(workTicket, part);
            _scheduledAppointment = scheduledAppointment;

            _part = part;       // dch rkl 12/05/2016

            InitializeComponent();

            SetPageLayout();
        }
        public PartsEditExtdDescPage(App_WorkTicket workTicket, App_RepairPart part, PartsEditPage.PageMode pageMode,
                                     App_ScheduledAppointment scheduledAppointment)
        {
            _workTicket           = workTicket;
            _part                 = part;
            _pageMode             = pageMode;
            _scheduledAppointment = scheduledAppointment;

            _vm = new PartsEditExtdDescPageViewModel(part, workTicket);

            InitializeComponent();

            SetPageLayout();
        }
 public ExpensesListPageViewModel(App_ScheduledAppointment scheduledAppointment)
 {
     // dch rkl 12/07/2016 catch exception
     try
     {
         _expensesList = new ObservableCollection <App_Expense>();
         SetWorkTicket(App.Database.GetWorkTicket(scheduledAppointment));
     }
     catch (Exception ex)
     {
         // dch rkl 12/07/2016 Log Error
         ErrorReporting errorReporting = new ErrorReporting();
         errorReporting.sendException(ex, "TechDashboard.ExpensesListPageViewModel(App_ScheduledAppointment scheduledAppointment)");
     }
 }
示例#18
0
        protected SO_SalesOrderHeader GetSalesOrderHeader(App_ScheduledAppointment scheduledAppointment)
        {
            SO_SalesOrderHeader salesOrderHeader = null;

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

            return(salesOrderHeader);
        }
        protected void PickerScheduledAppointmentt_SelectedIndexChanged(object sender, EventArgs e)
        {
            App_ScheduledAppointment selectedAppointment = null;

            // I've found that the picker object will remove duplicate entries when displaying on-screen data,
            //  so I need to do a little more work to find the proper object selected.  Will revisit code for
            //  future improvements.
            for (int i = 0; i < _pickerScheduledAppointment.ItemsSource.Count; i++)
            {
                selectedAppointment = _pickerScheduledAppointment.ItemsSource[i] as App_ScheduledAppointment;

                if (selectedAppointment.ServiceTicketNumber == _pickerScheduledAppointment.Items[_pickerScheduledAppointment.SelectedIndex])
                {
                    _vm.SetWorkTicket(selectedAppointment.ServiceTicketNumber);
                    break;
                }
            }
        }
        public ScheduleDetailPageViewModel(App_ScheduledAppointment scheduleDetail)
        {
            // dch rkl 12/07/2016 catch exception
            try
            {
                _scheduleDetail           = scheduleDetail;
                _technicianScheduleDetail = App.Database.GetTechnicianScheduleDetailFromDB().Where(x => x.WTNumber == _scheduleDetail.WorkTicketNumber &&
                                                                                                   x.WTStep == _scheduleDetail.WorkTicketStep).FirstOrDefault();
                _timeEntryDetail = App.Database.GetTimeEntryData(scheduleDetail);

                _timportDetail = App.Database.GetCurrentExport().Where(x => x.RecordType == "L" && x.WTNumber == _scheduleDetail.WorkTicketNumber &&
                                                                       x.WTStep == _scheduleDetail.WorkTicketStep && x.SalesOrderNo == _scheduleDetail.SalesOrderNumber).FirstOrDefault();
            }
            catch (Exception ex)
            {
                // dch rkl 12/07/2016 Log Error
                ErrorReporting errorReporting = new ErrorReporting();
                errorReporting.sendException(ex, "TechDashboard.ScheduleDetailPageViewModel");
            }
        }
        public App_WorkTicket GetWorkTicket2(string formattedWorkTicketNumber)
        {
            string[] brokenTicketNumber = App_WorkTicket.BreakFormattedTicketNumber(formattedWorkTicketNumber);
            string   salesOrderNumber   = brokenTicketNumber[0];
            string   workTicketNumber   = brokenTicketNumber[1];
            string   workTicketStep     = brokenTicketNumber[2];

            JT_TechnicianScheduleDetail scheduleDetail =
                _database.Table <JT_TechnicianScheduleDetail>().Where(
                    sd => (sd.SalesOrderNo == salesOrderNumber) &&
                    (sd.WTNumber == workTicketNumber) &&
                    (sd.WTStep == workTicketStep)
                    ).OrderByDescending(sd => sd.ScheduleDate).FirstOrDefault();

            App_ScheduledAppointment scheduledAppointment =
                new App_ScheduledAppointment(scheduleDetail, GetSalesOrderHeader(scheduleDetail));

            App_WorkTicket workTicket = GetWorkTicket(scheduledAppointment);

            return(workTicket);
        }
        public TicketDetailsPageViewModel(App_ScheduledAppointment scheduledAppointment)
        {
            _scheduledAppointment = scheduledAppointment;
            _workTicket           = App.Database.GetWorkTicket(_scheduledAppointment);
            _customer             = App.Database.GetAppCustomer(_workTicket);
            _salesOrder           = App.Database.GetSalesOrder(_workTicket, _customer);
            if (_workTicket.DtlRepairItemCode != null)
            {
                _repairItem = App.Database.GetItemFromDB(_workTicket.DtlRepairItemCode);
            }
            else
            {
                _repairItem = new CI_Item();
            }
            JT_Technician jt_technician = App.Database.GetCurrentTechnicianFromDb();

            _appTechnician = new App_Technician(jt_technician);
            AR_CustomerContact customerContact = App.Database.GetCustomerContact(_customer.ContactCode);

            _customerContact = new App_CustomerContact(customerContact);
        }
        public ClockInPageViewModel(App_ScheduledAppointment scheduleDetail)
        {
            // dch rkl 12/07/2016 catch exception
            try
            {
                _scheduleDetail          = scheduleDetail;
                _technicianStatusList    = App.Database.GetTechnicianStatusesFromDB();
                _serviceTicketStatusList = App.Database.GetWorkTicketStatusesFromDB();
                _erpOptions = App.Database.GetErpOptions();

                // dch rkl 11/04/2016 Default Arrive Status Code is dependent on JT_FieldServiceOptions or JT_Technician Values BEGIN
                if (_erpOptions.DefaultTechnicianArriveStatusCode != null && _erpOptions.DefaultTechnicianArriveStatusCode.Trim().Length > 0)
                {
                    _defaultArriveStatusCode = _erpOptions.DefaultTechnicianArriveStatusCode;
                }
                else
                {
                    _defaultArriveStatusCode = App.CurrentTechnician.CurrentStatus;
                }
                if (_defaultArriveStatusCode != null && _defaultArriveStatusCode.Trim().Length > 0)
                {
                    JT_TechnicianStatus techStatus = App.Database.GetTechnicianStatusFromDB(_defaultArriveStatusCode);
                    if (techStatus != null && techStatus.StatusDescription != null)
                    {
                        _defaultArriveStatusCodeDescription = techStatus.StatusDescription;
                    }
                }
                else
                {
                    _defaultArriveStatusCodeDescription = "";
                }
                // dch rkl 11/04/2016 Default Arrive Status Code is dependent on JT_FieldServiceOptions or JT_Technician Values END
            }
            catch (Exception ex)
            {
                // dch rkl 12/07/2016 Log Error
                ErrorReporting errorReporting = new ErrorReporting();
                errorReporting.sendException(ex, "TechDashboard.ClockInPageViewModel(App_ScheduledAppointment scheduleDetail)");
            }
        }
示例#24
0
        public App_SalesOrder GetSalesOrder(App_ScheduledAppointment scheduledAppointment, App_Customer customer)
        {
            App_SalesOrder      returnData       = null;
            SO_SalesOrderHeader salesOrderHeader = null;
            SO_ShipToAddress    shipToAddress    = null;

            if (scheduledAppointment != null)
            {
                lock (_locker)
                {
                    salesOrderHeader = GetSalesOrderHeader(scheduledAppointment);
                    if (salesOrderHeader != null)
                    {
                        shipToAddress = GetShipToAddress(salesOrderHeader);
                    }
                }
            }

            returnData = new App_SalesOrder(customer, salesOrderHeader, shipToAddress);

            return(returnData);
        }
示例#25
0
        public JT_DailyTimeEntry GetTimeEntryData(App_ScheduledAppointment scheduledAppointment)
        {
            JT_DailyTimeEntry returnData = null;
            JT_Technician     technician = null;

            lock (_locker)
            {
                technician = GetCurrentTechnicianFromDb();

                if (technician != null)
                {
                    returnData = _database.Table <JT_DailyTimeEntry>().Where(
                        x => x.EmployeeNo == technician.TechnicianNo &&
                        x.DepartmentNo == technician.TechnicianDeptNo &&
                        x.WTNumber == scheduledAppointment.WorkTicketNumber &&
                        x.WTStep == scheduledAppointment.WorkTicketStep
                        ).OrderByDescending(x => x.TransactionDate).FirstOrDefault();
                }
            }

            return(returnData);
        }
        public ClockInPageViewModel(App_ScheduledAppointment scheduleDetail)
        {
            // dch rkl 12/07/2016 catch exception
            try
            {
                _scheduleDetail          = scheduleDetail;
                _technicianStatusList    = App.Database.GetTechnicianStatusesFromDB();
                _serviceTicketStatusList = App.Database.GetAllWorkTicketStatusesFromDB().Where(x => x.CodeType == "ST").ToList();
                _erpOptions = App.Database.GetErpOptions();

                // dch rkl 11/04/2016 Default Arrive Status Code is dependent on JT_FieldServiceOptions or JT_Technician Values BEGIN
                if (_erpOptions.DefaultTechnicianArriveStatusCode != null && _erpOptions.DefaultTechnicianArriveStatusCode.Trim().Length > 0)
                {
                    _defaultArriveStatusCode = _erpOptions.DefaultTechnicianArriveStatusCode;
                }
                else
                {
                    _defaultArriveStatusCode = App.CurrentTechnician.CurrentStatus;
                }
                if (_defaultArriveStatusCode != null && _defaultArriveStatusCode.Trim().Length > 0)
                {
                    JT_TechnicianStatus techStatus = App.Database.GetTechnicianStatusFromDB(_defaultArriveStatusCode);
                    if (techStatus != null && techStatus.StatusDescription != null)
                    {
                        _defaultArriveStatusCodeDescription = techStatus.StatusDescription;
                    }
                }
                else
                {
                    _defaultArriveStatusCodeDescription = "";
                }
                // dch rkl 11/04/2016 Default Arrive Status Code is dependent on JT_FieldServiceOptions or JT_Technician Values END
            }
            catch (Exception ex)
            {
            }
        }
 public ExpensesListPageViewModel(App_ScheduledAppointment scheduledAppointment)
 {
     _expensesList = new ObservableCollection <App_Expense>();
     SetWorkTicket(App.Database.GetWorkTicket(scheduledAppointment));
 }
示例#28
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));
        }
示例#29
0
 public TicketDetailsPage(App_ScheduledAppointment scheduledAppointment)
 {
     _vm = new TicketDetailsPageViewModel(scheduledAppointment);
     InitializePage();
 }
示例#30
0
        public PartsListPageNew(App_WorkTicket workTicket, App_ScheduledAppointment scheduledAppointment)
        {
            _vm = new PartsListPageViewModel(workTicket);
            _scheduledAppointment = scheduledAppointment;
            InitializeComponent();
            labelTitle.FontFamily = Device.OnPlatform("OpenSans-Bold", "sans-serif-black", null);
            BindingContext        = _vm;
            if (workTicket.DtlWarrantyRepair == "Y")
            {
                switchWarrantyRepair.IsToggled = true;
            }
            else
            {
                switchWarrantyRepair.IsToggled = false;
            }

            // Parts Coverred on Warranty
            bool bIsChkd = false;

            if (workTicket.StatusDate != null && workTicket.RepairItem.MfgPartsWarrantyPeriod != null)
            {
                TimeSpan tsDateDiff = workTicket.RepairItem.MfgPartsWarrantyPeriod.Subtract(workTicket.StatusDate);
                if (tsDateDiff.TotalDays > 0 && workTicket.DtlWarrantyRepair == "Y")
                {
                    switchPartsCoveredOnWarranty.IsToggled = true;
                    bIsChkd = true;
                }
                else
                {
                    switchPartsCoveredOnWarranty.IsToggled = false;
                }
            }
            if (workTicket.StatusDate != null && workTicket.RepairItem.MfgPartsWarrantyPeriod != null)
            {
                TimeSpan tsDateDiff = workTicket.RepairItem.MfgPartsWarrantyPeriod.Subtract(workTicket.StatusDate);
                if (tsDateDiff.TotalDays > 0 && workTicket.DtlWarrantyRepair == "Y")
                {
                    switchPartsCoveredOnWarranty.IsToggled = true;
                    bIsChkd = true;
                }
                else
                {
                    switchPartsCoveredOnWarranty.IsToggled = false;
                }
            }

            // Service Agreement Repair
            if (workTicket.DtlCoveredOnContract == "Y")
            {
                switchSvcAgmtRepair.IsToggled = true;
            }
            else
            {
                switchSvcAgmtRepair.IsToggled = false;
            }

            // Parts Covered on Service Agreement
            if (workTicket.IsPreventativeMaintenance && workTicket.ServiceAgreement.ArePreventativeMaintenancePartsCovered)
            {
                switchPartsCoveredonSvcAgmt.IsToggled = true;
            }
            else if (workTicket.IsPreventativeMaintenance == false && workTicket.IsServiceAgreementRepair &&
                     workTicket.ServiceAgreement.ArePartsCovered)
            {
                switchPartsCoveredonSvcAgmt.IsToggled = true;
            }
            else
            {
                switchPartsCoveredonSvcAgmt.IsToggled = false;
            }
        }