Ejemplo n.º 1
0
        ///	<summary>
        /// Load Driver
        ///	</summary>
        private void LoadDriver()
        {
            if (ViewState["driver"] == null)
            {
                IDriver facDriver = new Facade.Resource();
                _driver = facDriver.GetDriverForIdentityId(_identityId);

                ViewState["driver"] = _driver;
            }
            else
            {
                _driver = (Entities.Driver)ViewState["driver"];
            }

            if (_driver != null)
            {
                hypAddNewVehicle.Visible = true;
                cboTitle.SelectedValue   = Utilities.UnCamelCase(_driver.Individual.Title.ToString());
                txtFirstNames.Text       = _driver.Individual.FirstNames;
                txtLastName.Text         = _driver.Individual.LastName;
                txtPasscode.Text         = _driver.Passcode;

                dteDOB.SelectedDate = _driver.Individual.DOB;

                if (_driver.Individual.Contacts != null && _driver.Individual.Contacts.Count > 0)
                {
                    Entities.Contact telephone      = _driver.Individual.Contacts.GetForContactType(eContactType.Telephone);
                    Entities.Contact mobile         = _driver.Individual.Contacts.GetForContactType(eContactType.MobilePhone);
                    Entities.Contact personalMobile = _driver.Individual.Contacts.GetForContactType(eContactType.PersonalMobile);

                    if (telephone != null)
                    {
                        txtTelephone.Text = telephone.ContactDetail;
                    }
                    if (mobile != null)
                    {
                        txtMobilePhone.Text = mobile.ContactDetail;
                    }
                    if (personalMobile != null)
                    {
                        txtPersonalMobile.Text = personalMobile.ContactDetail;
                    }
                }

                if (_driver.Individual.Address != null)
                {
                    txtAddressLine1.Text = _driver.Individual.Address.AddressLine1;
                    txtAddressLine2.Text = _driver.Individual.Address.AddressLine2;
                    txtAddressLine3.Text = _driver.Individual.Address.AddressLine3;

                    txtPostTown.Text = _driver.Individual.Address.PostTown;
                    txtCounty.Text   = _driver.Individual.Address.County;
                    txtPostCode.Text = _driver.Individual.Address.PostCode;

                    if (_driver.Individual.Address.TrafficArea != null)
                    {
                        hidTrafficArea.Value = _driver.Individual.Address.TrafficArea.TrafficAreaId.ToString();
                    }
                }

                foreach (Entities.Contact contact in _driver.Individual.Contacts)
                {
                    if (contact.ContactType == eContactType.Telephone)
                    {
                        txtTelephone.Text = contact.ContactDetail;
                    }
                    if (contact.ContactType == eContactType.MobilePhone)
                    {
                        txtMobilePhone.Text = contact.ContactDetail;
                    }
                    if (contact.ContactType == eContactType.PersonalMobile)
                    {
                        txtPersonalMobile.Text = contact.ContactDetail;
                    }
                }

                Facade.IPoint  facPoint = new Facade.Point();
                Entities.Point point    = facPoint.GetPointForPointId(_driver.HomePointId);

                if (point != null && point.PointId > 0)
                {
                    cboOrganisation.Text          = point.OrganisationName;
                    cboOrganisation.SelectedValue = point.IdentityId.ToString();
                    m_organisationId = point.IdentityId;

                    m_startTown   = point.PostTown.TownName;
                    m_startTownId = point.PostTown.TownId;

                    cboPoint.Text          = point.Description;
                    cboPoint.SelectedValue = point.PointId.ToString();
                    m_pointId = point.PointId;
                }

                cboDriverType.Items.FindByValue(_driver.DriverType.DriverTypeID.ToString()).Selected = true;

                cboVehicle.ClearSelection();
                if (_driver.AssignedVehicleId != 0)
                {
                    ListItem vehicle = cboVehicle.Items.FindByValue(_driver.AssignedVehicleId.ToString());
                    if (vehicle != null)
                    {
                        vehicle.Selected = true;
                    }
                }

                txtDigitalTachoCardId.Text = _driver.DigitalTachoCardId;
                chkAgencyDriver.Checked    = _driver.IsAgencyDriver;

                if (_driver.Individual.IdentityStatus == eIdentityStatus.Deleted)
                {
                    chkDelete.Checked = true;
                }

                if (_driver.Point != null)
                {
                    txtLatitude.Text      = _driver.Point.Latitude.ToString();
                    txtLongitude.Text     = _driver.Point.Longitude.ToString();
                    cboTown.SelectedValue = _driver.Point.PostTown.TownId.ToString();
                    cboTown.Text          = _driver.Point.PostTown.TownName;
                }

                Entities.ControlArea ca = null;
                Entities.TrafficArea ta = null;

                using (Facade.IResource facResource = new Facade.Resource())
                    facResource.GetControllerForResourceId(_driver.ResourceId, ref ca, ref ta);

                cboDepot.ClearSelection();
                if (_driver.DepotId > 0)
                {
                    cboDepot.FindItemByValue(_driver.DepotId.ToString()).Selected = true;
                }

                if (ca != null && ta != null)
                {
                    cboControlArea.ClearSelection();
                    cboControlArea.FindItemByValue(ca.ControlAreaId.ToString()).Selected = true;
                    cboTrafficArea.ClearSelection();
                    cboTrafficArea.FindItemByValue(ta.TrafficAreaId.ToString()).Selected = true;
                }

                chkDelete.Visible        = true;
                pnlDriverDeleted.Visible = true;

                if (_driver.DefaultCommunicationTypeID == 0)
                {
                    rblDefaultCommunicationType.Items.FindByText("None").Selected = true;
                }
                else
                {
                    rblDefaultCommunicationType.Items.FindByText(((eDriverCommunicationType)_driver.DefaultCommunicationTypeID).ToString()).Selected = true;
                }
                txtPayrollNo.Text  = _driver.PayrollNo;
                dteSD.SelectedDate = _driver.StartDate;

                if (telematicsOption.Visible)
                {
                    cboTelematicsSolution.ClearSelection();
                    if (_driver.TelematicsSolution.HasValue)
                    {
                        cboTelematicsSolution.Items.FindByText(_driver.TelematicsSolution.ToString()).Selected = true;
                    }
                }

                //Find all tree nodes that correspond to the org units
                var treeNodesToCheck = m_orgUnitTreeNodes.Where(x => _driver.OrgUnitIDs.Contains(x.OrgUnitId.Value));
                foreach (var treeNode in treeNodesToCheck)
                {
                    treeNode.Checked = true;
                }

                if (_driver.PlannerIdentityID != null)
                {
                    cboDriverPlanner.ClearSelection();
                    cboDriverPlanner.FindItemByValue(_driver.PlannerIdentityID.ToString()).Selected = true;
                }

                if (_driver.AgencyId != null)
                {
                    cboAgency.ClearSelection();
                    cboAgency.FindItemByValue(_driver.AgencyId.ToString()).Selected = true;
                }
            }

            btnAdd.Text = "Update";
        }