public ICReceive ICConfirm(ICReceive iCReceive)
        {
            string    msg      = "Success";
            ICReceive ICReturn = iCReceive;

            try
            {
                ReceiptServices            receipt  = new ReceiptServices();
                ICReceiveReceipt           recDM    = new ICReceiveReceipt();
                List <ICReceiveDtlReceipt> recDMDtl = new List <ICReceiveDtlReceipt>();
                recDM.Company = iCReceive.Company;
                ICReceiveDtlReceipt dtl = new ICReceiveDtlReceipt();
                foreach (ICReceiveDtl det in iCReceive.Detail)
                {
                    dtl         = new ICReceiveDtlReceipt();
                    dtl.LineNo  = det.LineNo;
                    dtl.LotNum  = det.LotNum;
                    dtl.PartNum = det.PartNum;
                    dtl.Qty     = det.Qty;
                    dtl.SUOM    = det.SUOM;
                    recDMDtl.Add(dtl);
                }
                recDM.Detail     = recDMDtl;
                recDM.DONum      = iCReceive.DONum;
                recDM.intQue     = iCReceive.intQue;
                recDM.PONum      = iCReceive.PONum;
                recDM.RejComment = iCReceive.RejComment;
                recDM.TranStatus = iCReceive.TranStatus;
                recDM.VendorNum  = iCReceive.VendorNum;
                recDM.SupName    = iCReceive.SupName;
                receipt.Begin(recDM);
            }
            catch (Exception ex)
            {
                msg = ex.Message;
            }
            ICReturn.TranStatus = msg;
            return(ICReturn);
        }
예제 #2
0
        public void ICConfirm(string epicorUserID, string epiorUserPassword, UriBuilder builder, Guid sessionId, ICReceiveReceipt cReceive)
        {
            try
            {
                EndpointBindingType bindingType = EndpointBindingType.BasicHttp;

                builder.Path = $"{Conn.environment}/Erp/BO/Receipt.svc";
                svcReceipt.ReceiptSvcContractClient _svcReceipt = GetClient <svcReceipt.ReceiptSvcContractClient, svcReceipt.ReceiptSvcContract>(
                    builder.Uri.ToString(),
                    epicorUserID,
                    epiorUserPassword,
                    bindingType);

                _svcReceipt.Endpoint.EndpointBehaviors.Add(new HookServiceBehavior(sessionId, epicorUserID));

                svcReceipt.ReceiptTableset dsReceipt = new svcReceipt.ReceiptTableset();

                string purPoint          = string.Empty;
                string packSlip          = string.Empty;
                bool   requiresUserInput = false;
                string legalNumMsg       = string.Empty;
                string closePO           = string.Empty;
                _svcReceipt.ImportReceipt(cReceive.intQue, false, ref dsReceipt, out purPoint,
                                          out packSlip, out requiresUserInput, out legalNumMsg, out closePO);
                _svcReceipt.GetByID(cReceive.VendorNum, "", cReceive.DONum);
                _svcReceipt.CreateMassReceipts(cReceive.VendorNum, "", cReceive.DONum, cReceive.intQue,
                                               cReceive.PONum, ref dsReceipt);
                int Count = dsReceipt.RcvDtl.Count();
                for (int i = 0; i < Count; i++)
                {
                    dsReceipt.RcvDtl[i].Received = true;
                }
                _svcReceipt.Update(ref dsReceipt);
                _svcReceipt.ProcessIM(cReceive.intQue, cReceive.DONum, ref dsReceipt);
            }
            catch (Exception ex)
            {
                throw new Exception($"Epicor Error : {ex.Message.ToString()}");
            }
        }
예제 #3
0
        public void Begin(ICReceiveReceipt cReceive)
        {
            configCompany = cReceive.Company;

            EndpointBindingType bindingType = EndpointBindingType.BasicHttp;
            string epicorUserID             = userName;
            string epiorUserPassword        = password;
            Guid   sessionId = Guid.Empty;

            svcSessionMod.SessionModSvcContractClient sessionModClient = null;

            string scheme = "https";

            if (bindingType == EndpointBindingType.SOAPHttp)
            {
                scheme = "http";
            }
            UriBuilder builder = new UriBuilder(scheme, Conn.hostName);

            builder.Path = $"{Conn.environment}/Ice/Lib/SessionMod.svc";

            try
            {
                sessionModClient = GetClient <svcSessionMod.SessionModSvcContractClient, svcSessionMod.SessionModSvcContract>
                                   (
                    builder.Uri.ToString(),
                    epicorUserID,
                    epiorUserPassword,
                    bindingType
                                   );

                string siteID = "", siteName = "", workstationID = "", workstationDesc = "";
                string employeeID = "", countryGroupCode = "", countryCode = "", tenantID = "";

                sessionId = sessionModClient.Login();

                builder.Path     = $"{Conn.environment}/Ice/Lib/SessionMod.svc";
                sessionModClient = GetClient <svcSessionMod.SessionModSvcContractClient, svcSessionMod.SessionModSvcContract>(builder.Uri.ToString(), epicorUserID, epiorUserPassword, bindingType);

                sessionModClient.Endpoint.EndpointBehaviors.Add(new HookServiceBehavior(sessionId, epicorUserID));

                //** CHANGE configCompany & configPlant to read from input **//
                sessionModClient.SetCompany(configCompany, out siteID, out siteName, out workstationID,
                                            out workstationDesc, out employeeID, out countryGroupCode,
                                            out countryCode, out tenantID);
                sessionModClient.SetPlant(configPlant);


                if (sessionId != Guid.Empty)
                {
                    ICConfirm(epicorUserID, epiorUserPassword, builder, sessionId, cReceive);
                }
                else
                {
                    //Sessionid is Empty!
                }
            }
            catch (Exception ex)
            {
                throw new Exception($"Epicor Error : {ex.Message.ToString()}");
            }
            finally
            {
                if (sessionId != Guid.Empty)
                {
                    sessionModClient.Logout();
                }
            }
        }