Exemplo n.º 1
0
        /// <summary>
        /// Perform Process.
        /// </summary>
        /// <returns>message</returns>
        protected override String DoIt()
        {
            MRfQResponse response = new MRfQResponse(GetCtx(), _C_RfQResponse_ID, Get_TrxName());

            log.Info("doIt - " + response);
            String error = response.GetRfQ().CheckQuoteTotalAmtOnly();

            if (error != null && error.Length > 0)
            {
                throw new Exception(error);
            }
            //	Send it
            if (response.SendRfQ())
            {
                return("OK");
            }
            //
            return("@Error@");
        }
Exemplo n.º 2
0
        /// <summary>
        /// Perform Process.
        /// </summary>
        /// <returns>Message (translated text)</returns>
        protected override String DoIt()
        {
            MRfQ rfq = new MRfQ(GetCtx(), _C_RfQ_ID, Get_TrxName());

            log.Info("doIt - " + rfq + ", Send=" + _IsSendRfQ);
            ////ErrorLog.FillErrorLog("", "", "doIt - " + rfq + ", Send=" + _IsSendRfQ, VAdvantage.Framework.Message.MessageType.INFORMATION);
            String error = rfq.CheckQuoteTotalAmtOnly();

            if (error != null && error.Length > 0)
            {
                throw new Exception(error);
            }

            int counter = 0;
            int sent    = 0;
            int notSent = 0;

            //	Get all existing responses
            MRfQResponse[] responses = rfq.GetResponses(false, false);

            //	Topic
            MRfQTopic topic = new MRfQTopic(GetCtx(), rfq.GetC_RfQ_Topic_ID(), Get_TrxName());

            MRfQTopicSubscriber[] subscribers = topic.GetSubscribers();
            for (int i = 0; i < subscribers.Length; i++)
            {
                MRfQTopicSubscriber subscriber = subscribers[i];
                bool skip = false;
                //	existing response
                for (int r = 0; r < responses.Length; r++)
                {
                    if (subscriber.GetC_BPartner_ID() == responses[r].GetC_BPartner_ID() &&
                        subscriber.GetC_BPartner_Location_ID() == responses[r].GetC_BPartner_Location_ID())
                    {
                        skip = true;
                        break;
                    }
                }
                if (skip)
                {
                    continue;
                }

                //	Create Response
                MRfQResponse response = new MRfQResponse(rfq, subscriber);
                if (response.Get_ID() == 0)     //	no lines
                {
                    continue;
                }

                counter++;
                if (_IsSendRfQ)//send mail check
                {
                    if (response.SendRfQ())
                    {
                        sent++;
                    }
                    else
                    {
                        notSent++;
                    }
                }
            }   //	for all subscribers

            String retValue = "@Created@ " + counter;

            if (_IsSendRfQ)
            {
                retValue += " - @IsSendRfQ@=" + sent + " - @Error@=" + notSent;
            }
            return(retValue);
        }