Example #1
0
        public ReplyUploadSAPSN UploadSapCustSN(IList<UploadSAPSN> uploadSAPSNList)
        {
            string connectionDB = "SD_DBServer";
            string methodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
            logger.DebugFormat("BEGIN: {0}()", methodName);
            try
            {
                var deliveryList=uploadSAPSNList.GroupBy(y=> new {DeliveryNo=y.DN+y.DLV_ITM}).Select(p=> new {Delivery=p.First(), Qty =p.Count()}).ToList();
                string txnId  =uploadSAPSNList[0].SERIALNUMBER;
                logger.InfoFormat("[Upload CustSN - Input] TxnId:{0}", txnId);

                foreach(var p in deliveryList)
                {
                    string deliveryNo = p.Delivery.DN + p.Delivery.DLV_ITM;
                    logger.InfoFormat("[Upload CustSN - Input] DeliveryNo:{0} Qty:{1}", deliveryNo, p.Qty.ToString());

                    SQL.InsertTxnDataLog_DB(connectionDB, 0,
                                                            IMES.Service.Common.EnumMsgCategory.Send,
                                                            "SendUpdateCustSN",
                                                            deliveryNo,
                                                            p.Qty.ToString(),
                                                            txnId.Trim(),
                                                            "",
                                                            "",
                                                            IMES.Service.Common.EnumMsgState.Success,
                                                            "");

                }
               
                ReplyUploadSAPSN ret = new ReplyUploadSAPSN() { HeaderList = new List<ReplyUploadSAPSNHeader>(), ItemList = new List<ReplyUploadSAPSNItem>() };
                //to do for send SAP Webservice: 
                #region 1.prepare web service structure
                SAPUploadSN.ZWS_CO_SN_UPLOADClient SAPClient = new SAPUploadSN.ZWS_CO_SN_UPLOADClient("SAPUploadSN");
                SAPClient.ClientCredentials.UserName.UserName = ConfigurationManager.AppSettings["ECCUserName"].ToString();
                SAPClient.ClientCredentials.UserName.Password = ConfigurationManager.AppSettings["ECCUserPwd"].ToString();
                //Request format 

                SAPUploadSN.ZWS_SN_UPLOAD request = new IMES.SAP.Implementation.SAPUploadSN.ZWS_SN_UPLOAD();
                IList<SAPUploadSN.ZWS_ZSDSN_IN_LINE> input = new List<SAPUploadSN.ZWS_ZSDSN_IN_LINE>();
                foreach(UploadSAPSN sn in  uploadSAPSNList)
                {
                    input.Add(copyUploadSAPSN(sn));

                    logger.DebugFormat("\r\n[Upload CustSN - Input]==== \r\n{0}", ObjectTool.ObjectTostring(sn));
                    
                }
                request.IN = input.ToArray(); 
                #endregion

                #region 2.Send Data  and get reply data to iMES
                SAPUploadSN.ZWS_SN_UPLOADResponse resp=  SAPClient.ZWS_SN_UPLOAD(request);
                ReplyUploadSAPSN reply =new ReplyUploadSAPSN();
                foreach(var p in resp.OUT_HEADER)
                {
                    logger.InfoFormat("[Upload CustSN - Output] TxnId:{0} DeliveryNo:{1} Result:{2} Message:{3} ", p.SERIALNUMBER, p.DLV_NO+p.DLV_ITM, p.RESULT, p.MESSAGE);

                    SQL.InsertTxnDataLog_DB(connectionDB, 0,
                                                            IMES.Service.Common.EnumMsgCategory.Receive,
                                                            "ReceiveUploadCustSN",
                                                            p.DLV_NO + p.DLV_ITM,
                                                            "",
                                                            p.SERIALNUMBER,
                                                            p.RESULT,
                                                            p.MESSAGE,
                                                            IMES.Service.Common.EnumMsgState.Fail,
                                                            "");
                }
              
                foreach(var x in resp.OUT_ITEM)
                {
                    logger.InfoFormat("[Upload CustSN - Output] TxnId:{0} DeliveryNo:{1} SN:{2} Result:{3} Message:{4}  ", x.SERIALNUMBER, x.DLV_NO + x.DLV_ITM, x.SERNO, x.RESULT, x.MESSAGE);
                }

                return copyUploadSNReply(resp);
                #endregion
               
            }
            catch (Exception e)
            {
                logger.Error(e.Message, e);
                throw;
            }
            finally
            {
                logger.DebugFormat("END: {0}()", methodName);
            }
			
           
        }
Example #2
0
        ReplyUploadSAPSN copyUploadSNReply(SAPUploadSN.ZWS_SN_UPLOADResponse resp)
        {
            ReplyUploadSAPSN ret = new ReplyUploadSAPSN();
            ret.HeaderList = new List<ReplyUploadSAPSNHeader>();
            ret.ItemList = new List<ReplyUploadSAPSNItem>();

            foreach (SAPUploadSN.ZWS_ZSDSN_OUT_LINE line in resp.OUT_HEADER)
            {
                ret.HeaderList.Add(new ReplyUploadSAPSNHeader()
                {
                     DLV_ITM=line.DLV_ITM,
                     DLV_NO =line.DLV_NO,
                     MESSAGE = line.MESSAGE,
                     RESULT = line.RESULT,
                     SERIALNUMBER = line.SERIALNUMBER                        
                });   
            }

            foreach(SAPUploadSN.ZWS_ZSDSN_OUT_ITEM_LINE item in resp.OUT_ITEM)
            {
                  ret.ItemList.Add(new ReplyUploadSAPSNItem()
                {
                     DLV_ITM = item.DLV_ITM,
                     DLV_NO =item.DLV_NO,
                     MESSAGE = item.MESSAGE,
                     RESULT = item.RESULT,
                     SERIALNUMBER= item.SERIALNUMBER,
                     SERNO=item.SERNO
                });
            }

            return ret;
        }