Exemplo n.º 1
0
        public bool getAnswer(out byte opcode, out byte[] msg, out int length)
        {
            if (RequestState == eRequestState.eNEW_ANSWER)
            {
                opcode = ReceivedMessage.Opcode;
                length = ReceivedMessage.Length;

                if (ReceivedMessage.Length > 0)
                {
                    msg = new byte[ReceivedMessage.Length];
                    Buffer.BlockCopy(ReceivedMessage.Msg, 0, msg, 0, ReceivedMessage.Length);
                }
                else
                {
                    msg = null;
                }

                RequestState = eRequestState.eSTANDBY;
                MessageState = eMessageState.eSTX;
                RequestTimer.Restart();
                MessageTimer.Restart();
                return(true);
            }

            opcode = 0;
            msg    = null;
            length = 0;

            return(false);
        }
Exemplo n.º 2
0
 public cTexNET()
 {
     MessageState = eMessageState.eSTX;
     RequestState = eRequestState.eSTANDBY;
     MessageTimer = new Stopwatch();
     RequestTimer = new Stopwatch();
     MessageTimer.Start();
     RequestTimer.Start();
 }
Exemplo n.º 3
0
 public void dataSent()
 {
     if (RequestState == eRequestState.eNAK_SENT)
     {
         RequestState = RequestStateBeforeNAK;
         MessageState = eMessageState.eSTX;
         RequestTimer.Restart();
         MessageTimer.Restart();
     }
     else if (RequestState == eRequestState.eANSWER_SENT)
     {
         RequestState = eRequestState.eSTANDBY;
         MessageState = eMessageState.eSTX;
         RequestTimer.Restart();
         MessageTimer.Restart();
     }
     else if (RequestState == eRequestState.eREQUEST_SENT)
     {
         RequestState = eRequestState.eWAITTING_ANSWER;
         MessageState = eMessageState.eSTX;
         RequestTimer.Restart();
         MessageTimer.Restart();
     }
 }
Exemplo n.º 4
0
        //-----------------------------------------------------------------------------------------------------------

        protected void grdOrders_ItemDataBound(object sender, GridItemEventArgs e)
        {
            if (e.Item is GridDataItem)
            {
                DataRowView row     = (DataRowView)e.Item.DataItem;
                int         orderId = int.Parse(row["OrderID"].ToString());
                string      runId   = row["JobId"].ToString();

                using (CheckBox chk = (CheckBox)e.Item.FindControl("chkSelectOrder"))
                {
                    chk.Attributes.Add("onClick", string.Format("javascript:HandleSelection(this, {0});",
                                                                e.Item.ItemIndex));

                    chk.Attributes.Add("OrderId", orderId.ToString());
                }

                orderCount++;
                totalPalletCount     += (int)row["NoPallets"];
                totalPalletSpaces    += Convert.ToDouble(row["PalletSpaces"]);
                totalWeight          += Convert.ToDouble(row["Weight"]);
                QtrPalletsTotal      += Convert.ToDouble(row["QtrPallets"]);
                HalfPalletsTotal     += Convert.ToDouble(row["HalfPallets"]);
                FullPalletsTotal     += Convert.ToDouble(row["FullPallets"]);
                OverPalletsTotal     += Convert.ToDouble(row["OverPallets"]);
                OrderRateTotal       += (row["ForeignRate"] != DBNull.Value) ? Convert.ToDouble(row["ForeignRate"]) : 0.00;
                SubContractCostTotal += (row["SubContractRate"] != DBNull.Value) ? Convert.ToDouble(row["SubContractRate"]) : 0.00;
                HubChargeTotal       += (row["SubContractRate"] != DBNull.Value) ? Convert.ToDouble(row["HubCharge"]) : 0.00;

                // Delivery At column
                Label    lblDeliverAt = (Label)e.Item.FindControl("lblDeliverAt");
                DateTime delFrom      = Convert.ToDateTime(row["DeliveryFromDateTime"].ToString());
                DateTime delBy        = Convert.ToDateTime(row["DeliveryDateTime"].ToString());

                if (lblDeliverAt != null)
                {
                    if (delFrom == delBy)
                    {
                        // Timed booking... only show a single date.
                        lblDeliverAt.Text = GetDate(Convert.ToDateTime(row["DeliveryDateTime"].ToString()), false);
                    }
                    else
                    {
                        // If the times span from mignight to 23:59 on the same day then
                        // it's an 'anytime' window.
                        if (delFrom.Date == delBy.Date && delFrom.Hour == 0 && delFrom.Minute == 0 && delBy.Hour == 23 && delBy.Minute == 59)
                        {
                            // It's anytime
                            lblDeliverAt.Text = GetDate(Convert.ToDateTime(row["DeliveryDateTime"].ToString()), true);
                        }
                        else
                        {
                            // It's a booking window
                            lblDeliverAt.Text = GetDate(Convert.ToDateTime(row["DeliveryFromDateTime"].ToString()), false) + " to " + GetDate(Convert.ToDateTime(row["DeliveryDateTime"].ToString()), false);
                        }
                    }
                }

                //if (row["IsTariffOverride"] != DBNull.Value && Convert.ToBoolean(row["IsTariffOverride"]))
                //    e.Item.Cells[grdOrders.Columns.FindByUniqueName("Rate").OrderIndex].BackColor = System.Drawing.Color.Yellow;

                if (row["MessageStateId"] != DBNull.Value)
                {
                    eMessageState messageState = (eMessageState)row["MessageStateId"];
                    switch (messageState)
                    {
                    case eMessageState.Unprocessed:
                        e.Item.BackColor = System.Drawing.Color.Pink;
                        break;

                    case eMessageState.Processed:
                    case eMessageState.NotProcessed:
                        e.Item.BackColor = System.Drawing.Color.Violet;
                        break;

                    case eMessageState.Error:
                        e.Item.BackColor = System.Drawing.Color.Red;
                        break;
                    }
                }

                CheckBoxList cblsurcharges = e.Item.FindControl("cblSurcharges") as CheckBoxList;

                EF.VigoOrder vigoOrder = EF.DataContext.Current.VigoOrderSet.Include("VigoOrderExtras.ExtraType").FirstOrDefault(v => v.OrderId == orderId);

                Orchestrator.Facade.ExtraType facExtraType = new Orchestrator.Facade.ExtraType();
                List <Entities.ExtraType>     extraTypes   = facExtraType.GetForIsDisplayedOnAddUpdateOrder();
                cblsurcharges.DataSource     = extraTypes.OrderBy(et => et.ShortDescription);
                cblsurcharges.DataTextField  = "ShortDescription";
                cblsurcharges.DataValueField = "ExtraTypeId";
                cblsurcharges.DataBind();

                //Tick the PalletForce Surcharge checkboxes for each VigoOrderExtra
                foreach (var extra in vigoOrder.VigoOrderExtras)
                {
                    ListItem item = cblsurcharges.Items.FindByValue(extra.ExtraType.ExtraTypeId.ToString());
                    if (item != null)
                    {
                        item.Selected = true;
                    }
                }
            }
            else if (e.Item is GridEditableItem)
            {
                DataRowView row = (DataRowView)e.Item.DataItem;

                RadNumericTextBox txtRate = e.Item.FindControl("txtRate") as RadNumericTextBox;
                if (txtRate != null)
                {
                    CultureInfo culture = new CultureInfo(int.Parse(row["LCID"].ToString()));
                    txtRate.Culture = culture;

                    //if (row["TariffRateId"] == null)
                    //{
                    //    txtRate.BackColor = System.Drawing.Color.Yellow;
                    //}
                }
            }
        }
Exemplo n.º 5
0
        public void process()
        {
            if (MessageState == eMessageState.eNAK_TO_SEND)
            {
                if ((RequestState == eRequestState.eSTANDBY) ||
                    (RequestState == eRequestState.eWAITTING_ANSWER))
                {
                    RequestStateBeforeNAK = RequestState;
                    RequestState          = eRequestState.eSENDING_NAK;
                    RequestTimer.Start();
                    RequestTimer.Restart();
                }
            }

            switch (RequestState)
            {
            case eRequestState.eSTANDBY:
            {
                if (MessageState == eMessageState.eNEW_MSG)
                {
                    RequestState = eRequestState.eNEW_REQUEST;
                    RequestTimer.Restart();
                }
                else if (MessageState == eMessageState.eNAK_RECEIVED)
                {
                    if (retry > 0)
                    {
                        RequestState = eRequestState.eSENDING_ANSWER;
                        RequestTimer.Restart();

                        retry--;
                    }
                    else
                    {
                        MessageState = eMessageState.eSTX;
                        MessageTimer.Restart();
                    }
                }
                break;
            }

            case eRequestState.eNEW_REQUEST:
            {
                if (RequestTimer.ElapsedMilliseconds > Timeout)
                {
                    RequestState = eRequestState.eSTANDBY;
                    MessageState = eMessageState.eSTX;
                    RequestTimer.Restart();
                    MessageTimer.Restart();
                }

                break;
            }

            case eRequestState.eSENDING_ANSWER:
            case eRequestState.eANSWER_SENT:
            {
                if (RequestTimer.ElapsedMilliseconds > Timeout)
                {
                    RequestState = eRequestState.eSTANDBY;
                    MessageState = eMessageState.eSTX;
                    RequestTimer.Restart();
                    MessageTimer.Restart();
                }

                break;
            }

            case eRequestState.eSENDING_NAK:
            case eRequestState.eNAK_SENT:
            {
                if (RequestTimer.ElapsedMilliseconds > Timeout)
                {
                    RequestState = RequestStateBeforeNAK;
                    MessageState = eMessageState.eSTX;
                    RequestTimer.Restart();
                    MessageTimer.Restart();
                }

                break;
            }

            case eRequestState.eWAITTING_ANSWER:
            {
                if (MessageState == eMessageState.eNEW_MSG)
                {
                    RequestTimer.Start();
                    RequestTimer.Restart();
                    RequestState = eRequestState.eNEW_ANSWER;
                }
                else
                {
                    if (RequestTimer.ElapsedMilliseconds > Timeout)
                    {
                        if (retry > 0)
                        {
                            RequestState = eRequestState.eSENDING_REQUEST;
                            MessageState = eMessageState.eSTX;
                            RequestTimer.Restart();
                            MessageTimer.Restart();
                            retry--;
                        }
                        else
                        {
                            RequestState = eRequestState.eSTANDBY;
                            MessageState = eMessageState.eSTX;
                            RequestTimer.Restart();
                            MessageTimer.Restart();
                        }
                    }
                }
                break;
            }

            case eRequestState.eNEW_ANSWER:
            {
                if (RequestTimer.ElapsedMilliseconds > Timeout)
                {
                    RequestState = eRequestState.eSTANDBY;
                    MessageState = eMessageState.eSTX;
                    RequestTimer.Restart();
                    MessageTimer.Restart();
                }

                break;
            }
            }
        }
Exemplo n.º 6
0
        public void messagePoll(int data)
        {
            switch (MessageState)
            {
            default:
            case eMessageState.eSTX:
            {
                if (data >= 0)
                {
                    if ((byte)data == STX)
                    {
                        MessageState = eMessageState.eOPCODE;
                        MessageTimer.Restart();
                    }
                    else if ((byte)data == NAK)
                    {
                        MessageState = eMessageState.eNAK_RECEIVED;
                        MessageTimer.Restart();
                    }
                }
                break;
            }

            case eMessageState.eOPCODE:
            {
                if (data >= 0)
                {
                    ReceivedMessage.Opcode = (byte)data;
                    MessageTimer.Restart();
                    MessageState = eMessageState.eLENGTH;
                }
                else if (MessageTimer.ElapsedMilliseconds > Timeout)
                {
                    MessageState = eMessageState.eSTX;
                }
                break;
            }

            case eMessageState.eLENGTH:
            {
                if (data >= 0)
                {
                    ReceivedMessage.Length = (byte)data;
                    MessageTimer.Restart();

                    if (ReceivedMessage.Length > 0)
                    {
                        MessageReceivedBytes = 0;
                        MessageState         = eMessageState.eMSG;
                    }
                    else
                    {
                        MessageState = eMessageState.eCHKS;
                    }
                }
                else if (MessageTimer.ElapsedMilliseconds > Timeout)
                {
                    MessageState = eMessageState.eSTX;
                }
                break;
            }

            case eMessageState.eMSG:
            {
                if (data >= 0)
                {
                    ReceivedMessage.Msg[MessageReceivedBytes] = (byte)data;
                    MessageReceivedBytes++;
                    MessageTimer.Restart();

                    if (MessageReceivedBytes == ReceivedMessage.Length)
                    {
                        MessageState = eMessageState.eCHKS;
                    }
                    else if (MessageReceivedBytes > ReceivedMessage.Length)
                    {
                        MessageState = eMessageState.eSTX;
                    }
                }
                else if (MessageTimer.ElapsedMilliseconds > Timeout)
                {
                    MessageState = eMessageState.eSTX;
                }

                break;
            }

            case eMessageState.eCHKS:
            {
                if (data >= 0)
                {
                    MessageTimer.Restart();

                    if ((byte)data == ReceivedMessage.chks())
                    {
                        MessageState = eMessageState.eNEW_MSG;
                    }
                    else
                    {
                        MessageState = eMessageState.eNAK_TO_SEND;
                    }
                }
                else if (MessageTimer.ElapsedMilliseconds > Timeout)
                {
                    MessageState = eMessageState.eSTX;
                }
                break;
            }

            case eMessageState.eNEW_MSG:
            case eMessageState.eNAK_RECEIVED:
            case eMessageState.eNAK_TO_SEND:
            {
                break;
            }
            }
        }
Exemplo n.º 7
0
        //-----------------------------------------------------------------------------------------------------------

        protected void grdOrders_ItemDataBound(object sender, GridItemEventArgs e)
        {
            if (e.Item is GridDataItem)
            {
                DataRowView row     = (DataRowView)e.Item.DataItem;
                string      orderId = row["OrderID"].ToString();
                string      runId   = row["JobId"].ToString();

                using (CheckBox chk = (CheckBox)e.Item.FindControl("chkSelectOrder"))
                {
                    chk.Attributes.Add("onClick", string.Format("javascript:HandleSelection(this, {0});",
                                                                e.Item.ItemIndex));

                    chk.Attributes.Add("OrderId", orderId);
                }

                HyperLink hypUpdateOrder = e.Item.FindControl("hypUpdateOrder") as HyperLink;
                hypUpdateOrder.NavigateUrl = string.Format("javascript:ViewOrderProfile({0});", orderId);
                hypUpdateOrder.Text        = orderId;

                HyperLink hypRun = e.Item.FindControl("hypRun") as HyperLink;
                hypRun.NavigateUrl = string.Format("javascript:ViewRun({0});", runId);
                hypRun.Text        = runId;

                CultureInfo CurrentCulture = new CultureInfo(int.Parse(row["LCID"].ToString()));

                Label lblRate = e.Item.FindControl("lblRate") as Label;
                if (lblRate != null && row["ForeignRate"] != DBNull.Value)
                {
                    lblRate.Text = ((decimal)row["ForeignRate"]).ToString("C", CurrentCulture);
                }

                Label lblSubContractRate = e.Item.FindControl("lblSubContractCost") as Label;
                Label lblHubCharge       = e.Item.FindControl("lblHubCharge") as Label;

                if (row["SubContractLCID"] != DBNull.Value)
                {
                    CultureInfo subContractCulture = new CultureInfo(int.Parse(row["SubContractLCID"].ToString()));

                    if (lblSubContractRate != null && row["SubContractRate"] != DBNull.Value)
                    {
                        lblSubContractRate.Text = ((decimal)row["SubContractRate"]).ToString("C", subContractCulture);
                    }

                    if (lblHubCharge != null && row["HubCharge"] != DBNull.Value)
                    {
                        lblHubCharge.Text = ((decimal)row["HubCharge"]).ToString("C", subContractCulture);
                    }
                }
                else
                {
                    lblSubContractRate.Text = decimal.Zero.ToString("C", CurrentCulture);
                    lblHubCharge.Text       = decimal.Zero.ToString("C", CurrentCulture);
                }

                //if (row["IsTariffOverride"] != DBNull.Value && Convert.ToBoolean(row["IsTariffOverride"]))
                //    e.Item.Cells[grdOrders.Columns.FindByUniqueName("Rate").OrderIndex].BackColor = System.Drawing.Color.Yellow;

                if (row["MessageStateId"] != DBNull.Value)
                {
                    eMessageState messageState = (eMessageState)row["MessageStateId"];
                    switch (messageState)
                    {
                    case eMessageState.Unprocessed:
                        e.Item.BackColor = System.Drawing.Color.Pink;
                        break;

                    case eMessageState.Processed:
                    case eMessageState.NotProcessed:
                        e.Item.BackColor = System.Drawing.Color.Violet;
                        break;

                    case eMessageState.Error:
                        e.Item.BackColor = System.Drawing.Color.Red;
                        break;
                    }
                }
            }
            else if (e.Item is GridEditableItem)
            {
                DataRowView row = (DataRowView)e.Item.DataItem;

                RadNumericTextBox txtRate = e.Item.FindControl("txtRate") as RadNumericTextBox;
                if (txtRate != null)
                {
                    CultureInfo culture = new CultureInfo(int.Parse(row["LCID"].ToString()));
                    txtRate.Culture = culture;

                    //if (row["TariffRateId"] == null)
                    //{
                    //    txtRate.BackColor = System.Drawing.Color.Yellow;
                    //}
                }
            }
        }