예제 #1
0
        public App_ServiceAgreement GetServiceAgreement(App_Customer customer)
        {
            JT_ServiceAgreementHeader   serviceAgreementHeader   = null;
            JT_ServiceAgreementDetail   serviceAgreementDetail   = null;
            JT_ServiceAgreementPMDetail serviceAgreementPmDetail = null;

            lock (_locker)
            {
                serviceAgreementHeader =
                    _database.Table <JT_ServiceAgreementHeader>().Where(
                        sah => (sah.ARDivisionNo == customer.ARDivisionNo) &&
                        (sah.CustomerNo == customer.CustomerNo)
                        ).FirstOrDefault();

                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));
        }
 protected void SetDataItems()
 {
     _workTicket       = App.Database.GetCurrentWorkTicket();
     _salesOrderHeader = App.Database.RetrieveSalesOrderHeaderFromCurrentWorkTicket();
     _customer         = App.Database.GetCustomerFromCurrentWorkTicket();
     _repairItem       = App.Database.RetrieveRepairItemFromCurrentWorkTicket();
 }
        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();
 }
 public CustomerDetailsPageViewModel(App_WorkTicket workTicket)
 {
     _customer         = App.Database.GetCustomerFromCurrentWorkTicket();
     _customerContacts = App.Database.GetAppCustomerContacts(_customer.CustomerNo);
     //_salesOrder = App.Database.GetSalesOrderForCurrentWorkTicket(_customer);
     _salesOrder = App.Database.GetSalesOrder(workTicket, _customer);
 }
예제 #6
0
 public CustomerMapPage(XmlDocument customerLocation, App_ScheduledAppointment scheduledAppointment, App_Customer customer, string parentPage = "CustomerDetails")
 {
     _vm = new CustomerMapPageViewModel(customerLocation);
     _scheduledAppointment = scheduledAppointment;
     _parentPage           = parentPage;
     _customer             = customer;
     InitializeComponent();
     Initialize();
 }
        private void SetRefRate()
        {
            decimal billingRate = 0;

            decimal         billingRateMultiplier = 1;
            JT_ActivityCode activityCode          = (JT_ActivityCode)_pickerActivityCode.SelectedItem;

            if (activityCode != null)
            {
                billingRateMultiplier = activityCode.BillingRateMultiplier;
                if (billingRateMultiplier == 0)
                {
                    billingRateMultiplier = 1;
                }
            }

            if (_vm.WorkTicket.DtlCoverageExceptionCode != null && _vm.WorkTicket.DtlCoverageExceptionCode.Trim().Length > 0)
            {
                billingRate = _vm.WorkTicket.DtlCoverageExceptionFixedRate;
            }
            if (_vm.WorkTicket.IsPreventativeMaintenance)
            {
                billingRate = Math.Round(_vm.WorkTicket.ServiceAgreement.PmDetail.Rate * billingRateMultiplier, 2, MidpointRounding.AwayFromZero);
            }
            else
            {
                if (_vm.WorkTicket.ServiceAgreement.DetailRate != 0)
                {
                    billingRate = Math.Round(_vm.WorkTicket.ServiceAgreement.DetailRate * billingRateMultiplier, 2, MidpointRounding.AwayFromZero);
                }
                else
                {
                    billingRate = Math.Round(_vm.WorkTicket.ServiceAgreement.StandardLaborRate * billingRateMultiplier, 2, MidpointRounding.AwayFromZero);
                }
            }

            if (activityCode != null)
            {
                App_Customer            customer     = App.Database.GetAppCustomer(_vm.WorkTicket);
                JT_CustomerBillingRates custBillRate = App.Database.GetJT_CustomerBillingRate(customer.ARDivisionNo, customer.CustomerNo, activityCode.ActivityCode);
                if (custBillRate != null)
                {
                    billingRate = Math.Round(custBillRate.BillRatePerHour * billingRateMultiplier, 2, MidpointRounding.AwayFromZero);
                }
            }

            if (billingRate == 0)
            {
                JT_Technician technician = App.Database.GetCurrentTechnicianFromDb();
                billingRate = Math.Round(technician.StandardBillingRate * billingRateMultiplier, 2, MidpointRounding.AwayFromZero);
            }

            _editorRefRate.Text = billingRate.ToString("C2");

            SetBillableRate();
        }
예제 #8
0
        public App_SalesOrder GetSalesOrderForCurrentWorkTicket(App_Customer customer)
        {
            App_SalesOrder returnData = null;

            lock (_locker)
            {
                App_WorkTicket currentWorkTicket = GetCurrentWorkTicket();
                returnData = GetSalesOrder(currentWorkTicket, customer);
            }

            return(returnData);
        }
예제 #9
0
 public CustomerDetailsPageViewModel(App_Customer customer)
 {
     // dch rkl 12/07/2016 catch exception
     try
     {
         _customer         = customer;
         _customerContacts = App.Database.GetAppCustomerContacts(_customer.CustomerNo);
     }
     catch (Exception ex)
     {
         // dch rkl 12/07/2016 Log Error
         ErrorReporting errorReporting = new ErrorReporting();
         errorReporting.sendException(ex, "TechDashboard.CustomerDetailsPageViewModel(App_Customer customer)");
     }
 }
 protected void SetDataItems()
 {
     // dch rkl 12/07/2016 catch exception
     try
     {
         _workTicket       = App.Database.GetCurrentWorkTicket();
         _salesOrderHeader = App.Database.RetrieveSalesOrderHeaderFromCurrentWorkTicket();
         _customer         = App.Database.GetCustomerFromCurrentWorkTicket();
         _repairItem       = App.Database.RetrieveRepairItemFromCurrentWorkTicket();
     }
     catch (Exception ex)
     {
         // dch rkl 12/07/2016 Log Error
         ErrorReporting errorReporting = new ErrorReporting();
         errorReporting.sendException(ex, "TechDashboard.RootPageViewModel.SetDataItems");
     }
 }
        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);
        }
예제 #12
0
        public App_SalesOrder GetSalesOrder(App_WorkTicket workTicket, App_Customer customer)
        {
            App_SalesOrder      returnData       = null;
            SO_SalesOrderHeader salesOrderHeader = null;
            SO_ShipToAddress    shipToAddress    = null;

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

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

            return(returnData);
        }
예제 #13
0
        public CustomerDetailsPage(App_Customer customer, App_WorkTicket workTicket)
        {
            _vm = new CustomerDetailsPageViewModel(customer, workTicket);

            SetPageDisplay();
        }
        // dch rkl 12/02/2016 Set Ref Rate
        private void SetRefRate()
        {
            decimal billingRate = 0;

            string  sActivityCode         = "";
            decimal billingRateMultiplier = 1;

            if (pickerActivityCode.SelectedIndex > -1 && pickerActivityCode.SelectedValue != null)
            {
                sActivityCode = pickerActivityCode.SelectedValue.ToString();
            }
            if (sActivityCode.Length > 0)
            {
                JT_ActivityCode activityCode = App.Database.GetActivityCodeFromDB(sActivityCode);
                billingRateMultiplier = activityCode.BillingRateMultiplier;
                if (billingRateMultiplier == 0)
                {
                    billingRateMultiplier = 1;
                }
            }

            if (_workTicket.DtlCoverageExceptionCode != null && _workTicket.DtlCoverageExceptionCode.Trim().Length > 0)
            {
                billingRate = _workTicket.DtlCoverageExceptionFixedRate;
            }
            if (_workTicket.IsPreventativeMaintenance)
            {
                billingRate = Math.Round(_workTicket.ServiceAgreement.PmDetail.Rate * billingRateMultiplier, 2, MidpointRounding.AwayFromZero);
            }
            else
            {
                if (_workTicket.ServiceAgreement.DetailRate != 0)
                {
                    billingRate = Math.Round(_workTicket.ServiceAgreement.DetailRate * billingRateMultiplier, 2, MidpointRounding.AwayFromZero);
                }
                else
                {
                    billingRate = Math.Round(_workTicket.ServiceAgreement.StandardLaborRate * billingRateMultiplier, 2, MidpointRounding.AwayFromZero);
                }
            }

            // Look for customer billing rates
            if (sActivityCode.Trim().Length > 0)
            {
                App_Customer            customer     = App.Database.GetAppCustomer(_workTicket);
                JT_CustomerBillingRates custBillRate = App.Database.GetJT_CustomerBillingRate(customer.ARDivisionNo, customer.CustomerNo,
                                                                                              sActivityCode);
                if (custBillRate != null)
                {
                    billingRate = Math.Round(custBillRate.BillRatePerHour * billingRateMultiplier, 2, MidpointRounding.AwayFromZero);
                }
            }

            // Set Rate based on Technician
            if (billingRate == 0)
            {
                JT_Technician technician = App.Database.GetCurrentTechnicianFromDb();

                billingRate = Math.Round(technician.StandardBillingRate * billingRateMultiplier, 2, MidpointRounding.AwayFromZero);
            }

            // Set the value in the rate box
            editorRefRate.Text = billingRate.ToString("C2");

            // Billable Rate
            SetBillableRate();
        }
예제 #15
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);
        }
 public CustomerDetailsPageViewModel(App_Customer customer, App_ScheduledAppointment scheduledAppointment)
 {
     _customer         = customer;
     _customerContacts = App.Database.GetAppCustomerContacts(_customer.CustomerNo);
     _salesOrder       = App.Database.GetSalesOrder(scheduledAppointment, _customer);
 }