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); }
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); }
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); }
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)); }
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); }
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(); } }
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); }
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(); }