示例#1
0
        private static bool CommunicateInstructionsForSubContractor(int jobID, int subContractorId, string userId)
        {
            if (!Globals.Configuration.SubContractorCommunicationsRequired)
            {
                return(false);
            }

            Entities.DriverCommunication communication = new Entities.DriverCommunication();
            communication.Comments = "Communicated via Deliveries ScreSubcontractorCommunicationsRequireden";
            communication.DriverCommunicationStatus = eDriverCommunicationStatus.Accepted;
            string mobileNumber = "unknown";

            communication.DriverCommunicationType = eDriverCommunicationType.Manifest;
            communication.NumberUsed = mobileNumber;

            Facade.IInstruction facInstruction = new Facade.Instruction();
            List <int>          instructionIds = facInstruction.GetInstructionIDsForSubContractor(jobID, subContractorId, false);

            Facade.IJobSubContractor facJob = new Facade.Job();
            foreach (int instructionId in instructionIds)
            {
                communication.DriverCommunicationId = facJob.CreateCommunication(jobID, subContractorId, communication, userId);
            }

            return(true);
        }
        private void DisplayCommunication(int driverCommunicationId)
        {
            // Load the communication
            Entities.DriverCommunication communication = null;
            Entities.Driver driver = null;

            using (Facade.IDriver facDriver = new Facade.Resource())
            {
                communication = ((Facade.IDriverCommunication)facDriver).GetForDriverCommunicationId(driverCommunicationId);
                int driverId = facDriver.GetDriverForDriverCommunicationId(driverCommunicationId);
                driver = facDriver.GetDriverForResourceId(driverId);
            }

            if (communication != null && driver != null)
            {
                lblDriverFullName.Text          = driver.Individual.FullName;
                lblCommunicationStatus.Text     = Utilities.UnCamelCase(communication.DriverCommunicationStatus.ToString());
                lblCommunicationType.Text       = Utilities.UnCamelCase(communication.DriverCommunicationType.ToString());
                lblCommunicationComments.Text   = communication.Comments.Replace("START PLACE", "<br>START PLACE").Replace("STOP", "<br>STOP");
                lblCommunicationText.Text       = communication.Text;
                lblCommunicationNumberUsed.Text = communication.NumberUsed;
            }
        }
示例#3
0
        protected void Communicate()
        {
            if (Page.IsValid)
            {
                string userId = ((Entities.CustomPrincipal)Page.User).UserName;

                Entities.DriverCommunication communication = new Entities.DriverCommunication();
                communication.NumberUsed = txtNumber.Text;
                communication.Comments   = txtComments.Text;
                communication.DriverCommunicationStatus = (eDriverCommunicationStatus)Enum.Parse(typeof(eDriverCommunicationStatus), cboCommunicationStatus.SelectedValue.Replace(" ", ""));

                communication.DriverCommunicationType = (eDriverCommunicationType)int.Parse(cboCommunicationType.SelectedValue);

                if (communication.DriverCommunicationType == eDriverCommunicationType.Text)
                {
                    communication.Text = txtSMSText.Text;
                }

                if (_subContractorId > 0)
                {
                    Facade.IJobSubContractor facSubContractor = new Facade.Job();
                    communication.DriverCommunicationId = facSubContractor.CreateCommunication(_jobId, _instructionID, _subContractorId, communication, userId);
                }
                else
                {
                    Facade.IDriverCommunication facDriverCommunication = new Facade.Resource();

                    if (chkGiveResources.Checked)
                    {
                        communication.DriverCommunicationId = facDriverCommunication.Create(_jobId, _driverId, communication, userId, _instructionID, Convert.ToInt32(hidLastInstructionInvolvedWith.Value), Convert.ToInt32(cboControlArea.SelectedValue), Convert.ToInt32(cboTrafficArea.SelectedValue));
                    }
                    else
                    {
                        communication.DriverCommunicationId = facDriverCommunication.Create(_jobId, _driverId, communication, userId, _instructionID);
                    }
                }

                if (communication.DriverCommunicationId > 0)
                {
                    // The communication was succesfully stored.
                    lblConfirmation.Visible = true;
                    lblConfirmation.Text    = "The communication has been stored.";

                    if (communication.DriverCommunicationType == eDriverCommunicationType.Text)
                    {
                        // Send the text message.
                        eTextAnywhereSendSMS sendSMSStatus = Utilities.SendSMS("dc" + communication.DriverCommunicationId.ToString(), "dc" + communication.DriverCommunicationId.ToString(), eTextAnywhereOriginatorType.SendDescriptiveText, communication.NumberUsed, communication.Text, userId);

                        if (sendSMSStatus != eTextAnywhereSendSMS.SMSSent)
                        {
                            // Display an error to the user
                            lblConfirmation.Text   += "  But the Text message was not sent, the error code was " + Enum.GetName(typeof(eTextAnywhereSendSMS), sendSMSStatus);
                            lblConfirmation.Visible = true;
                        }
                    }
                }
                else
                {
                    // It was not possible to create the communication.
                    lblConfirmation.Visible = true;
                    lblConfirmation.Text    = "The communication has not been stored.";
                }
            }
        }