public Guid Login()
 {
     sessionId        = sessionModClient.Login();
     builder.Path     = $"{environment}/Ice/Lib/SessionMod.svc";
     sessionModClient = GetClient <SessionModSvcContractClient, SessionModSvcContract>(builder.Uri.ToString(), epicorUserID, epiorUserPassword, bindingType);
     sessionModClient.Endpoint.EndpointBehaviors.Add(new HookServiceBehavior(sessionId, epicorUserID));
     return(sessionId);
 }
Esempio n. 2
0
        public SessionModSvcContractClient IdentifiesSession(CustomSession session)
        {
            UriBuilder builder = EndpointBinding(out bindingType);

            builder.Path = epiSite + "/Ice/Lib/SessionMod.svc";
            SessionModSvcContractClient sessionModClient = GetClient <SessionModSvcContractClient, SessionModSvcContract>(builder.Uri.ToString(), session.UserId, session.Password, bindingType);

            return(sessionModClient);
        }
Esempio n. 3
0
        public bool NewRunningRow(CustomSession session, EstimateRunningModel model, out string resultMessage)
        {
            Erp.Custom.Core.Session.EndpointBindingSvc.EndpointBindingType bindingType;
            resultMessage = string.Empty;
            bool       result  = false;
            UriBuilder builder = _inst.EndpointBinding(out bindingType);
            SessionModSvcContractClient sessionModClient = _inst.IdentifiesSession(session);

            builder.Path = _inst.epiSite + "/Ice/BO/UD07.svc";
            UD07SvcContractClient ud07Client = _inst.GetClient <UD07SvcContractClient, UD07SvcContract>(builder.Uri.ToString(), session.UserId, session.Password, bindingType);

            Guid sessionId = Guid.Empty;

            try
            {
                sessionId = sessionModClient.Login();
                sessionModClient.Endpoint.Behaviors.Add(new HookServiceBehavior(sessionId, session.UserId));
                ud07Client.Endpoint.Behaviors.Add(new HookServiceBehavior(sessionId, session.UserId));
                var ts = new UD07Tableset();

                ud07Client.GetaNewUD07(ref ts);

                ts.UD07[0].Key1   = model.EstimateNo;
                ts.UD07[0].Key2   = model.RunningNo.ToString();
                ts.UD07[0].Key3   = model.QuoteNumber.ToString();
                ts.UD07[0].Key4   = model.TeamId;
                ts.UD07[0].Key5   = model.GeneratedPerson;
                ts.UD07[0].Date01 = DateTime.Now;
                ts.UD07[0].RowMod = "A";

                try
                {
                    ud07Client.Update(ref ts);
                    result = true;
                }
                catch (FaultException <Erp.Custom.Core.Session.Epicor.ReqSvc.EpicorFaultDetail> ex)
                {
                    if (ex.Detail.ExceptionKindValue.Equals("RecordNotFound", StringComparison.InvariantCultureIgnoreCase))
                    {
                        resultMessage = "Record deleted.";
                    }
                    else
                    {
                        resultMessage = ex.Message;
                    }
                }
            }
            catch (Exception ex)
            {
                resultMessage = "ex" + ex.Message;
                sessionModClient.Logout();
                return(result);
            }

            return(result);
        }
Esempio n. 4
0
        public PartTranService()
        {
            var sessionModService = new SessionModService();
            var sessionId         = sessionModService.Login();

            this.sessionId        = sessionId;
            this.sessionModClient = sessionModService.sessionModClient;
            builder.Path          = $"{environment}/Erp/BO/PartTran.svc";
            partTranClient        = GetClient <PartTranSvcContractClient, PartTranSvcContract>(builder.Uri.ToString(), epicorUserID, epiorUserPassword, bindingType);
            partTranClient.Endpoint.EndpointBehaviors.Add(new HookServiceBehavior(sessionId, epicorUserID));
        }
Esempio n. 5
0
        public bool ReqToPOSug(CustomSession _session, out string resultMessage)
        {
            Erp.Custom.Core.Session.EndpointBindingSvc.EndpointBindingType bindingType;
            resultMessage = string.Empty;
            bool       result  = false;
            UriBuilder builder = _inst.EndpointBinding(out bindingType);
            SessionModSvcContractClient sessionModClient = _inst.IdentifiesSession(_session);

            builder.Path = _inst.epiSite + "/Erp/BO/Req.svc";
            ReqSvcContractClient reqClient = _inst.GetClient <ReqSvcContractClient, ReqSvcContract>(builder.Uri.ToString(), _session.UserId, _session.Password, bindingType);

            Guid sessionId = Guid.Empty;

            try
            {
                sessionId = sessionModClient.Login();
                sessionModClient.Endpoint.Behaviors.Add(new HookServiceBehavior(sessionId, epiSession.UserId));
                reqClient.Endpoint.Behaviors.Add(new HookServiceBehavior(sessionId, epiSession.UserId));
                var ts = new ReqTableset();
                ts = reqClient.GetByID(108);

                if (ts != null && ts.ReqHead.Any())
                {
                    ReqHeadRow backupRow = new ReqHeadRow();
                    var        fields    = backupRow.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public);
                    foreach (var field in fields)
                    {
                        if (field.PropertyType == typeof(System.Runtime.Serialization.ExtensionDataObject))
                        {
                            continue;
                        }

                        var fieldValue = field.GetValue(ts.ReqHead[0]);
                        field.SetValue(backupRow, fieldValue);
                    }
                    ts.ReqHead.Add(backupRow);
                }

                ts.ReqHead[0].NextActionID   = "03";
                ts.ReqHead[0].NextActionDesc = "Send to Procurement Dept";
                ts.ReqHead[0].ReplyOption    = "A";
                ts.ReqHead[0].ReqUserId      = "Manager";
                ts.ReqHead[0].RowMod         = "U";

                try
                {
                    reqClient.Update(ref ts);
                    result = true;
                }
                catch (FaultException <Epicor.ReqSvc.EpicorFaultDetail> ex)
                {
                    if (ex.Detail.ExceptionKindValue.Equals("RecordNotFound", StringComparison.InvariantCultureIgnoreCase))
                    {
                        resultMessage = "Record deleted.";
                    }
                    else
                    {
                        resultMessage = ex.Message;
                    }
                }
            }
            catch (Exception ex)
            {
                resultMessage = "ex" + ex.Message;
                sessionModClient.Logout();
                return(result);
            }

            return(result);
        }
Esempio n. 6
0
        static void Main()
        {
            ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, errors) => { return true; };

            EndpointBindingType bindingType = EndpointBindingType.BasicHttp;

            string epicorUserID = epiUser;
            string epiorUserPassword = epiPassword;

            string scheme = "http";
            if (bindingType == EndpointBindingType.BasicHttp)
            {
                scheme = "https";
            }
            UriBuilder builder = new UriBuilder(scheme, epiServer);

            builder.Path = epiSite + "/Ice/Lib/SessionMod.svc";

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

            builder.Path = epiSite + "/Erp/BO/SalesOrder.svc";
            SalesOrderSvcContractClient salesOrderClient = GetClient<SalesOrderSvcContractClient, SalesOrderSvcContract>(builder.Uri.ToString(), epiorUserPassword, epicorUserID, bindingType);

            Guid sessionId = Guid.Empty;
#if NORMAL
            try
            {
                sessionId = sessionModClient.Login();
                sessionModClient.Endpoint.Behaviors.Add(new HookServiceBehavior(sessionId, epicorUserID));
                salesOrderClient.Endpoint.Behaviors.Add(new HookServiceBehavior(sessionId, epicorUserID));


                string dirName = @"Z:\e10\EDI_Data\IN_XML";
                string[] filePaths = Directory.GetFiles(dirName);
                string message = "";
                bool AllOk = true;
                TestData testData = new TestData();
                string result = "";
                foreach (string fileName in filePaths)
                {
                    try
                    {
                        XmlReader reader = new XmlReader(fileName);
                        SalesOrder salesOrder = reader.GetSalesOrder();
                        result = "";
                        LoadSalesOrder(salesOrderClient, salesOrder, out result);
                    }
                    catch (Exception e)
                    {
                        message = e.Message;
                        AllOk = false;
                    }
                    if (AllOk)
                    {
                        testData.MoveFile(fileName, result);
                    }
                    else
                    {
                        testData.MoveFile(fileName, result);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("ex" + ex.Message);
                sessionModClient.Logout();
            }
            if (sessionId != Guid.Empty)
            {
                sessionModClient.Logout();
            }
        }
Esempio n. 7
0
        public CostRequestModel Save(CustomSession session, CostRequestModel model, bool insertFlag, out string resultMessage)
        {
            CostRequestModel result      = new CostRequestModel();
            CustomSession    custSession = _s.GetSessionForWCFAccount();

            Erp.Custom.Core.Session.EndpointBindingSvc.EndpointBindingType bindingType;
            resultMessage = "Save Completed.";// +Environment.NewLine +
            //"EstimateNo = " + model.GKCStadardFlag + Environment.NewLine +
            //"ReviseNo = " + model.ReviseNo + Environment.NewLine +
            //"RevisionStr = " + model.RevisionStr;


            string sRowMod = string.Empty;

            UriBuilder builder = _inst.EndpointBinding(out bindingType);
            SessionModSvcContractClient sessionModClient = _inst.IdentifiesSession(custSession);

            builder.Path = _inst.epiSite + "/Ice/BO/UD07.svc";
            UD07SvcContractClient ud07Client = _inst.GetClient <UD07SvcContractClient, UD07SvcContract>(builder.Uri.ToString(), custSession.UserId, custSession.Password, bindingType);

            //resultMessage = resultMessage + Environment.NewLine + "Binded.";
            Guid sessionId = Guid.Empty;

            try
            {
                sessionId = sessionModClient.Login();
                sessionModClient.Endpoint.Behaviors.Add(new HookServiceBehavior(sessionId, custSession.UserId));
                ud07Client.Endpoint.Behaviors.Add(new HookServiceBehavior(sessionId, custSession.UserId));

                //resultMessage = resultMessage + Environment.NewLine + "GUID : " + sessionId;
                var ts = new UD07Tableset();

                if (!insertFlag)
                {
                    var row = GetRowByID(model.EstimateNo, model.ReviseNo);
                    ts      = ud07Client.GetByID(row.EstimateNo, row.RevisionStr.Trim(), row.RunningNo.ToString(), row.TeamId, row.GeneratedPerson);
                    sRowMod = "U";
                }
                else
                {
                    int iRn = 1;
                    ud07Client.GetaNewUD07(ref ts);
                    sRowMod = "A";
                    if (string.IsNullOrEmpty(model.EstimateNo))
                    {
                        var res = GetLastRow(model.TeamId);
                        if (model != null)
                        {
                            iRn = ((res == null) ? 0 : res.RunningNo) + 1;
                        }
                        model.EstimateNo = string.Format(@"{0}E{1:00}{2:00}{3:000}", model.TeamId, DateTime.Now.ToString("yy"), DateTime.Now.ToString("MM"), iRn);
                        model.ReviseNo   = 0;
                        model.RunningNo  = iRn;
                        model.RequestBy  = session.UserId;
                    }
                    else
                    {
                        model.ReviseNo = GetLastRow(model.TeamId).ReviseNo + 1;
                    }

                    ts.UD07[0].Key1     = model.EstimateNo;
                    ts.UD07[0].Key2     = string.IsNullOrEmpty(Enum.GetName(typeof(RevisionEnum), Convert.ToInt32(Convert.ToInt32((model.ReviseNo.GetInt() == 0) ? 0 : model.ReviseNo)))) ? string.Empty : Enum.GetName(typeof(RevisionEnum), Convert.ToInt32(Convert.ToInt32((model.ReviseNo.GetInt() == 0) ? 0 : model.ReviseNo)));
                    ts.UD07[0].Key3     = model.RunningNo.GetString();
                    ts.UD07[0].Number02 = model.ReviseNo.GetInt();
                    ts.UD07[0].Key4     = model.TeamId;
                    ts.UD07[0].Key5     = model.RequestBy;
                }

                ts.UD07[0].Character01 = string.IsNullOrEmpty(model.ProjectName) ? "" : model.ProjectName;
                ts.UD07[0].Character03 = string.IsNullOrEmpty(model.OtherRemark) ? "" : model.OtherRemark;
                ts.UD07[0].Character04 = string.IsNullOrEmpty(model.Remarks) ? "" : model.Remarks;
                ts.UD07[0].Character05 = string.IsNullOrEmpty(model.Location) ? "" : model.Location;
                ts.UD07[0].Number01    = model.Budget;
                ts.UD07[0].CheckBox01  = model.GKCStadardFlag;
                ts.UD07[0].CheckBox02  = model.JisFlag;
                ts.UD07[0].CheckBox03  = model.ANSFlag;
                ts.UD07[0].CheckBox04  = model.CustomerSpecFlag;
                ts.UD07[0].CheckBox05  = model.DinFlag;
                ts.UD07[0].CheckBox06  = model.OtherFlag;
                ts.UD07[0].CheckBox07  = model.EstimateByCostFlag;
                //ts.UD07[0].CheckBox08 = model.EstimateByOwner;
                ts.UD07[0].ShortChar01 = string.IsNullOrEmpty(model.CustomerName) ? "" : model.CustomerName;
                ts.UD07[0].ShortChar02 = string.IsNullOrEmpty(model.Ref_ProjectID) ? "" : model.Ref_ProjectID;

                ts.UD07[0].Date01 = model.RequestDate;
                ts.UD07[0].RowMod = sRowMod;
                //resultMessage = resultMessage + Environment.NewLine + "RowMod : " + sRowMod + model.ToString();

                try
                {
                    ud07Client.Update(ref ts);
                }
                catch (FaultException <Erp.Custom.Core.Session.Epicor.ReqSvc.EpicorFaultDetail> ex)
                {
                    if (ex.Detail.ExceptionKindValue.Equals("RecordNotFound", StringComparison.InvariantCultureIgnoreCase))
                    {
                        resultMessage = "Record deleted.";
                    }
                    else
                    {
                        resultMessage = ex.Message;
                    }
                }
                catch (Exception x)
                {
                    resultMessage = x.Message;
                }
                result = GetEstimateByID(model.EstimateNo, model.ReviseNo.GetString());
            }
            catch (Exception ex)
            {
                resultMessage = "Error Code : 20055 " + ex.Message + Environment.NewLine + "Source : " + ex.Source + Environment.NewLine + "StackTrace : " + ex.StackTrace;
                sessionModClient.Logout();
            }

            //sessionModClient.Logout();
            return(result);
        }
 public SessionModService()
 {
     builder.Path     = $"{environment}/Ice/Lib/SessionMod.svc";
     sessionModClient = GetClient <SessionModSvcContractClient, SessionModSvcContract>(builder.Uri.ToString(), epicorUserID, epiorUserPassword, bindingType);
 }
Esempio n. 9
0
        public void GetSessionModClient(CustomSession session)
        {
            ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, errors) => { return(true); };

            bindingType = EndpointBindingType.BasicHttp;

            scheme = "http";
            if (bindingType == EndpointBindingType.BasicHttp)
            {
                scheme = "https";
            }
            UriBuilder builder = new UriBuilder(scheme, epiServer);

            builder.Path = epiSite + "/Ice/Lib/SessionMod.svc";
            SessionModSvcContractClient sessionModClient = GetClient <SessionModSvcContractClient, SessionModSvcContract>(builder.Uri.ToString(), session.UserId, session.Password, bindingType);

            builder.Path = epiSite + "/Erp/BO/Req.svc";
            ReqSvcContractClient reqClient = GetClient <ReqSvcContractClient, ReqSvcContract>(builder.Uri.ToString(), session.UserId, session.Password, bindingType);

            Guid sessionId = Guid.Empty;

            try
            {
                sessionId = sessionModClient.Login();
                sessionModClient.Endpoint.Behaviors.Add(new HookServiceBehavior(sessionId, epiSession.UserId));
                reqClient.Endpoint.Behaviors.Add(new HookServiceBehavior(sessionId, epiSession.UserId));
                var ts = new ReqTableset();
                ts = reqClient.GetByID(86);

                if (ts != null && ts.ReqHead.Any())
                {
                    ReqHeadRow backupRow = new ReqHeadRow();
                    var        fields    = backupRow.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public);
                    foreach (var field in fields)
                    {
                        if (field.PropertyType == typeof(System.Runtime.Serialization.ExtensionDataObject))
                        {
                            continue;
                        }

                        var fieldValue = field.GetValue(ts.ReqHead[0]);
                        field.SetValue(backupRow, fieldValue);
                    }
                    ts.ReqHead.Add(backupRow);
                }

                ts.ReqHead[0].NextActionID   = "03";
                ts.ReqHead[0].NextActionDesc = "Send to Procurement Dept";
                ts.ReqHead[0].ReplyOption    = "A";
                ts.ReqHead[0].ReqUserId      = "Manager";
                ts.ReqHead[0].Note           = "";
                ts.ReqHead[0].RowMod         = "U";

                try
                {
                    reqClient.Update(ref ts);
                }
                catch (FaultException <Epicor.ReqSvc.EpicorFaultDetail> ex)
                {
                    if (ex.Detail.ExceptionKindValue.Equals("RecordNotFound", StringComparison.InvariantCultureIgnoreCase))
                    {
                        Console.WriteLine("Record deleted.");
                    }
                    else
                    {
                        Console.WriteLine(ex.Message);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("ex" + ex.Message);
                sessionModClient.Logout();
            }

            if (sessionId != Guid.Empty)
            {
                sessionModClient.Logout();
            }

            sessionModClient.Logout();
        }