public PartsGetResponse PartsGet(PartsGetRequest request) { PartsGetResponse response = new PartsGetResponse(); //DMS information set by dealer information string proxypath = string.Format("{0}.{1}.{2}", request.TransactionHeader.DocumentVersion, request.TransactionHeader.DMSCode, request.TransactionHeader.DMSVersion); switch (proxypath) { case "v2.WA.v2": { WA.v2.ProxyService proxyservice = new WA.v2.ProxyService(); response = proxyservice.PartsGet(request); } break; case "v2.1C.v8241": { _1C.v8241.ProxyService proxyservice = new _1C.v8241.ProxyService(); response = proxyservice.PartsGet(request); } break; default: response.TransactionHeader = request.TransactionHeader; response.Errors = new List<Error>() { new Error() { Code = ResponseCode.WA_NoMatchedProxy, Message = ResponseMessage.NoMatchedProxy } }; break; } return response; }
public PartsGetResponse PartsGet(PartsGetRequest request) { PartsGetResponse response = new PartsGetResponse(); try { //Request body-header object validation response.Errors = GetErrorDataListFromRequestTransactionHeader(request.TransactionHeader); if (response.Errors != null) { response.TransactionHeader = new Data.v2.Common.Common.TransactionHeader(); return response; } response.Errors = GetErrorDataListFromRequest(request.PartsGet); if (response.Errors != null) { response.TransactionHeader = request.TransactionHeader; return response; } using (Parts_Biz biz = new Parts_Biz()) { response = biz.PartsGet(request); } } catch (Exception ex) { response.Errors = GetErrorDataListFromException(ex); WA.Standard.IF.Logger.Log.Log.RootLogger.ErrorFormat("PartsGetResponse Error {0}: ", ex); } return response; }
public PartsGetResponse PartsGet(PartsGetRequest request) { PartsGetResponse response = new PartsGetResponse(); try { WA.Standard.IF.Logger.Log.Log.SaveXMLLog(0, request.TransactionHeader.DealerID, "WA PartsGetRequest XML", request); //Request body-header object validation response.Errors = GetErrorDataListFromRequestTransactionHeader(request.TransactionHeader); if (response.Errors != null) { response.TransactionHeader = new Data.v2.Common.Common.TransactionHeader(); } response.Errors = GetErrorDataListFromRequest(request.PartsGet); if (response.Errors != null) { response.TransactionHeader = request.TransactionHeader; } if (response.Errors == null) { using (Parts_Biz biz = new Parts_Biz()) { response = biz.PartsGet(request); } WA.Standard.IF.Logger.Log.Log.SaveXMLLog(0, request.TransactionHeader.DealerID, "WA PartsGetResponse XML", response); } } catch (Exception ex) { response.Errors = GetErrorDataListFromException(ex); WA.Standard.IF.Logger.Log.Log.SaveErrorLog(null, "PartsGet", request, ex.Message, ex); } return response; }
public PartsGetResponse PartsGet(PartsGetRequest request) { PartsGetResponse response = new PartsGetResponse(); if (base.RunningMode.Equals(Base.RunningMode.Mapper)) { #region For Mapper Process WA.Standard.IF.Proxy.v2.Common.Parts_Proxy proxy = new Proxy.v2.Common.Parts_Proxy(); response = proxy.PartsGet(request); #endregion } else if (base.RunningMode.Equals(Base.RunningMode.XMLDMS)) { response.TransactionHeader = request.TransactionHeader; #region For XML Process List<WA.Standard.IF.Data.v2.Common.Part.Part> Parts = Util.DataHelper.GetListByElementName<WA.Standard.IF.Data.v2.Common.Part.Part>(System.Web.HttpContext.Current.Server.MapPath("/v2/Repository/Parts.xml"), "Part"); if (Parts != null && Parts.Count > 0) { List<WA.Standard.IF.Data.v2.Common.Part.Part> resultlist = Parts .Where(item => (string.IsNullOrEmpty(request.PartsGet.Category) || true) && (string.IsNullOrEmpty(request.PartsGet.Engine) || true) && (string.IsNullOrEmpty(request.PartsGet.Make) || true) && (string.IsNullOrEmpty(request.PartsGet.Manufacturer) || request.PartsGet.Year == item.Manufacturer) && (string.IsNullOrEmpty(request.PartsGet.Mileage) || true) && (string.IsNullOrEmpty(request.PartsGet.Model) || true) && (string.IsNullOrEmpty(request.PartsGet.PartDescription) || item.PartDescription.Contains(request.PartsGet.PartDescription)) && (string.IsNullOrEmpty(request.PartsGet.PartNumber) || item.PartNumber.Contains(request.PartsGet.PartNumber)) && (string.IsNullOrEmpty(request.PartsGet.Year) || true) ).ToList<WA.Standard.IF.Data.v2.Common.Part.Part>(); response.Parts = resultlist; if (resultlist.Count > 0) response.ResultMessage = GetResultMessageData(ResponseCode.Success, ResponseMessage.Success); else response.ResultMessage = GetResultMessageData(ResponseCode.NoResult, ResponseMessage.NoResult); } else { response.ResultMessage = GetResultMessageData(ResponseCode.NoResult, ResponseMessage.NoResult); } #endregion } else if (base.RunningMode.Equals(Base.RunningMode.DBDMS)) { #region For DB Process /* DataSet resultDS = new DataSet(); using (Parts_Dac dac = new Parts_Dac()) { resultDS = dac.SelectPart(request.TransactionHeader.CountryID , request.TransactionHeader.DistributorID , request.TransactionHeader.GroupID , request.TransactionHeader.DealerID , request.TransactionHeader.Language , request.PartsGet ); } //0. Parts Data if (resultDS.Tables != null && resultDS.Tables.Count == 1) { List<WA.Standard.IF.Data.v2.Common.Part.Part> Parts = null; if (resultDS.Tables[0].Rows.Count > 0) { #region Part Parts = resultDS.Tables[0].AsEnumerable() .Select(row => new WA.Standard.IF.Data.v2.Common.Part.Part { DisplayPartNumber = Util.DataHelper.ConvertObjectToString(row["DisplayPartNumber"]), DisplayRemarks = Util.DataHelper.ConvertObjectToString(row["DisplayRemarks"]), Manufacturer = Util.DataHelper.ConvertObjectToString(row["Manufacturer"]), PartDescription = Util.DataHelper.ConvertObjectToString(row["PartDescription"]), PartNumber = Util.DataHelper.ConvertObjectToString(row["PartNumber"]), PartStatus = Util.DataHelper.ConvertObjectToString(row["PartStatus"]), PartType = Util.DataHelper.ConvertObjectToString(row["PartType"]), Quantity = Util.DataHelper.ConvertObjectToDouble(row["Quantity"]), QuantityOnHand = Util.DataHelper.ConvertObjectToDouble(row["QuantityOnHand"]), Remarks = Util.DataHelper.ConvertObjectToString(row["Remarks"]), ServiceType = Util.DataHelper.ConvertObjectToString(row["ServiceType"]), StockQuantity = Util.DataHelper.ConvertObjectToDouble(row["StockQuantity"]), StockStatus = Util.DataHelper.ConvertObjectToString(row["StockStatus"]), UnitOfMeasure = Util.DataHelper.ConvertObjectToString(row["UnitOfMeasure"]), PriceType = new PriceType() { DiscountPrice = Util.DataHelper.ConvertObjectToDouble(row["DiscountPrice"]), DiscountRate = Util.DataHelper.ConvertObjectToDouble(row["DiscountRate"]), TotalPrice = Util.DataHelper.ConvertObjectToDouble(row["TotalPrice"]), TotalPriceIncludeTax = Util.DataHelper.ConvertObjectToDouble(row["TotalPriceIncludeTax"]), UnitPrice = Util.DataHelper.ConvertObjectToDouble(row["UnitPrice"]) }, }).ToList(); if (Parts != null) { response.ResultMessage = GetResultMessageData(PredefinedCode._SuccessDone, PredefinedMessage._SuccessDone); response.Parts = Parts; } else { response.ResultMessage = GetResultMessageData(PredefinedCode._SuccessNoResult, PredefinedMessage._SuccessNoResult); } #endregion } else { response.ResultMessage = GetResultMessageData(PredefinedCode._SuccessNoResult, PredefinedMessage._SuccessNoResult); } } else { response.ResultMessage = GetResultMessageData(PredefinedCode._SuccessNoResult, PredefinedMessage._SuccessNoResult); } */ #endregion } return response; }
public PartsGetResponse PartsGet(PartsGetRequest request) { PartsGetResponse response = new PartsGetResponse(); //DMS information set by dealer information string proxypath = string.Format("{0}.{1}.{2}.{3}", request.TransactionHeader.DocumentVersion, request.TransactionHeader.DistributorID, request.TransactionHeader.DMSCode, request.TransactionHeader.DMSVersion); switch (proxypath) { case "v2.Common.WA.v2": { #region v2.Common.WA.v2 - Standard (Proxy Class Dll Name : _WA.Mapper.v2) #region PartGet Request Set //Create proxy credential NetworkCredential proxycredential = new NetworkCredential(request.TransactionHeader.Username, request.TransactionHeader.Password); //Create proxy web service from dms web service with credential _WA.Mapper.v2.Parts.Parts proxyws = new _WA.Mapper.v2.Parts.Parts(request.TransactionHeader.DMSServerUrl); proxyws.Credentials = proxycredential; //Create proxy request with partget and transaction _WA.Mapper.v2.Parts.PartsGetRequest proxyrequest = new _WA.Mapper.v2.Parts.PartsGetRequest(); //Create proxy transaction _WA.Mapper.v2.Parts.TransactionHeader proxytransactionheader = new _WA.Mapper.v2.Parts.TransactionHeader(); if (request.TransactionHeader != null) { #region//TransactionHeader Set proxytransactionheader.CountryID = request.TransactionHeader.CountryID; proxytransactionheader.DealerID = request.TransactionHeader.DealerID; proxytransactionheader.DistributorID = request.TransactionHeader.DistributorID; proxytransactionheader.DMSCode = request.TransactionHeader.DMSCode; proxytransactionheader.DMSServerUrl = request.TransactionHeader.DMSServerUrl; proxytransactionheader.DMSVersion = request.TransactionHeader.DMSVersion; proxytransactionheader.DocumentVersion = request.TransactionHeader.DocumentVersion; proxytransactionheader.GroupID = request.TransactionHeader.GroupID; proxytransactionheader.IneterfaceID = request.TransactionHeader.IneterfaceID; proxytransactionheader.Password = request.TransactionHeader.Password; proxytransactionheader.PollingToken = request.TransactionHeader.PollingToken; proxytransactionheader.RequestPollingToken = request.TransactionHeader.RequestPollingToken; proxytransactionheader.RequestType = request.TransactionHeader.RequestType; proxytransactionheader.TransactionId = request.TransactionHeader.TransactionId; proxytransactionheader.TransactionDateTimeLocal = request.TransactionHeader.TransactionDateTimeLocal; proxytransactionheader.TransactionDateTimeUTC = request.TransactionHeader.TransactionDateTimeUTC; proxytransactionheader.TransactionType = request.TransactionHeader.TransactionType; proxytransactionheader.Username = request.TransactionHeader.Username; proxytransactionheader.VenderTrackingCode = request.TransactionHeader.VenderTrackingCode; proxyrequest.TransactionHeader = proxytransactionheader; #endregion } //Create proxy partget _WA.Mapper.v2.Parts.PartsGet proxypartsget = new _WA.Mapper.v2.Parts.PartsGet(); if (request.PartsGet != null) { #region//PartsGet Set proxypartsget.Category = request.PartsGet.Category; proxypartsget.Engine = request.PartsGet.Engine; proxypartsget.Make = request.PartsGet.Make; proxypartsget.Manufacturer = request.PartsGet.Manufacturer; proxypartsget.Mileage = request.PartsGet.Mileage; proxypartsget.Model = request.PartsGet.Model; proxypartsget.PartDescription = request.PartsGet.PartDescription; proxypartsget.PartNumber = request.PartsGet.PartNumber; proxypartsget.Year = request.PartsGet.Year; proxyrequest.PartsGet = proxypartsget; #endregion } #endregion //Run proxy web method with proxy request _WA.Mapper.v2.Parts.PartsGetResponse proxyresponse = proxyws.PartsGet(proxyrequest); //Mapping with Standard Interface Specification Object if (proxyresponse != null) { if (proxyresponse.TransactionHeader != null) { #region//TransactionHeader Set TransactionHeader transactionheader = new TransactionHeader(); transactionheader.CountryID = proxyresponse.TransactionHeader.CountryID; transactionheader.DealerID = proxyresponse.TransactionHeader.DealerID; transactionheader.DistributorID = proxyresponse.TransactionHeader.DistributorID; transactionheader.DMSCode = proxyresponse.TransactionHeader.DMSCode; transactionheader.DMSServerUrl = proxyresponse.TransactionHeader.DMSServerUrl; transactionheader.DMSVersion = proxyresponse.TransactionHeader.DMSVersion; transactionheader.DocumentVersion = proxyresponse.TransactionHeader.DocumentVersion; transactionheader.GroupID = proxyresponse.TransactionHeader.GroupID; transactionheader.IneterfaceID = proxyresponse.TransactionHeader.IneterfaceID; transactionheader.Password = proxyresponse.TransactionHeader.Password; transactionheader.PollingToken = proxyresponse.TransactionHeader.PollingToken; transactionheader.RequestPollingToken = proxyresponse.TransactionHeader.RequestPollingToken; transactionheader.RequestType = proxyresponse.TransactionHeader.RequestType; transactionheader.TransactionId = proxyresponse.TransactionHeader.TransactionId; transactionheader.TransactionDateTimeLocal = proxyresponse.TransactionHeader.TransactionDateTimeLocal; transactionheader.TransactionDateTimeUTC = proxyresponse.TransactionHeader.TransactionDateTimeUTC; transactionheader.TransactionType = proxyresponse.TransactionHeader.TransactionType; transactionheader.Username = proxyresponse.TransactionHeader.Username; transactionheader.VenderTrackingCode = proxyresponse.TransactionHeader.VenderTrackingCode; response.TransactionHeader = transactionheader; #endregion } //ResultMessage Set if (proxyresponse.ResultMessage != null) { response.ResultMessage = GetResultMessageData(proxyresponse.ResultMessage.Code, proxyresponse.ResultMessage.Message); } if (proxyresponse.Errors != null) { //Error List Set foreach (_WA.Mapper.v2.Parts.Error proxyerror in proxyresponse.Errors) { if (response.Errors != null) response.Errors.Add(GetErrorData(proxyerror.Code, proxyerror.Message)); else response.Errors = GetErrorDataList(proxyerror.Code, proxyerror.Message); } } else { #region //PartsGetResponse Set if (proxyresponse.Parts != null && proxyresponse.Parts.Length > 0) { #region //PartsGetResponse Parts response.Parts = new List<Data.v2.Common.Part.Part>(); foreach (_WA.Mapper.v2.Parts.Part proxypart in proxyresponse.Parts) { #region //Part Header Data.v2.Common.Part.Part part = new Data.v2.Common.Part.Part(); part.DisplayPartNumber = proxypart.DisplayPartNumber; part.PartDescription = proxypart.PartDescription; part.PartNumber = proxypart.PartNumber; part.PartType = proxypart.PartType; part.Quantity = proxypart.Quantity; part.ServiceType = proxypart.ServiceType; part.StockQuantity = proxypart.StockQuantity; part.StockStatus = proxypart.StockStatus; part.UnitOfMeasure = proxypart.UnitOfMeasure; #endregion #region //Part PriceType if (proxypart.PriceType != null) { PriceType pricetype = new PriceType(); pricetype.DiscountPrice = proxypart.PriceType.DiscountPrice; pricetype.DiscountRate = proxypart.PriceType.DiscountRate; pricetype.TotalPrice = proxypart.PriceType.TotalPrice; pricetype.TotalPriceIncludeTax = proxypart.PriceType.TotalPriceIncludeTax; pricetype.UnitPrice = proxypart.PriceType.UnitPrice; part.PriceType = pricetype; } #endregion response.Parts.Add(part); } #endregion } else { response.ResultMessage = GetResultMessageData(ResponseCode.NoResult, ResponseMessage.NoResult); } #endregion } } else { if (response.Errors != null) response.Errors.Add(GetErrorData(ResponseCode.Fail, ResponseMessage.Fail)); else response.Errors = GetErrorDataList(ResponseCode.Fail, ResponseMessage.Fail); } #endregion } break; case "v2.HMCIS.1C.v4": { #region v2.HMCIS.1C.v4 - RTR (Proxy Class Dll Name : _1C.v4) #region PartGet Request Set //Create proxy credential NetworkCredential proxycredential = new NetworkCredential(request.TransactionHeader.Username, request.TransactionHeader.Password); //Create proxy web service from dms web service with credential _1C.v4.Parts.Parts proxyws = new _1C.v4.Parts.Parts(request.TransactionHeader.DMSServerUrl); proxyws.Credentials = proxycredential; //Create proxy request with partget and transaction _1C.v4.Parts.PartsGetRequest proxyrequest = new _1C.v4.Parts.PartsGetRequest(); //Create proxy transaction _1C.v4.Parts.TransactionHeader proxytransactionheader = new _1C.v4.Parts.TransactionHeader(); if (request.TransactionHeader != null) { #region//TransactionHeader Set proxytransactionheader.CountryID = request.TransactionHeader.CountryID; proxytransactionheader.DealerID = request.TransactionHeader.DealerID; proxytransactionheader.DistributorID = request.TransactionHeader.DistributorID; proxytransactionheader.DMSCode = request.TransactionHeader.DMSCode; proxytransactionheader.DMSServerUrl = request.TransactionHeader.DMSServerUrl; proxytransactionheader.DMSVersion = request.TransactionHeader.DMSVersion; proxytransactionheader.DocumentVersion = request.TransactionHeader.DocumentVersion; proxytransactionheader.GroupID = request.TransactionHeader.GroupID; proxytransactionheader.IneterfaceID = request.TransactionHeader.IneterfaceID; proxytransactionheader.Password = request.TransactionHeader.Password; proxytransactionheader.PollingToken = request.TransactionHeader.PollingToken; proxytransactionheader.RequestPollingToken = request.TransactionHeader.RequestPollingToken; proxytransactionheader.RequestType = request.TransactionHeader.RequestType; proxytransactionheader.TransactionId = request.TransactionHeader.TransactionId; proxytransactionheader.TransactionDateTimeLocal = request.TransactionHeader.TransactionDateTimeLocal; proxytransactionheader.TransactionDateTimeUTC = request.TransactionHeader.TransactionDateTimeUTC; proxytransactionheader.TransactionType = request.TransactionHeader.TransactionType; proxytransactionheader.Username = request.TransactionHeader.Username; proxytransactionheader.VenderTrackingCode = request.TransactionHeader.VenderTrackingCode; proxyrequest.TransactionHeader = proxytransactionheader; #endregion } //Create proxy partget _1C.v4.Parts.PartsGet proxypartsget = new _1C.v4.Parts.PartsGet(); if (request.PartsGet != null) { #region//PartsGet Set proxypartsget.Category = request.PartsGet.Category; proxypartsget.Engine = request.PartsGet.Engine; proxypartsget.Make = request.PartsGet.Make; proxypartsget.Manufacturer = request.PartsGet.Manufacturer; proxypartsget.Mileage = request.PartsGet.Mileage; proxypartsget.Model = request.PartsGet.Model; proxypartsget.PartDescription = request.PartsGet.PartDescription; proxypartsget.PartNumber = request.PartsGet.PartNumber; proxypartsget.Year = request.PartsGet.Year; proxyrequest.PartsGet = proxypartsget; #endregion } #endregion //Run proxy web method with proxy request _1C.v4.Parts.PartsGetResponse proxyresponse = proxyws.PartsGet(proxyrequest); //Mapping with Standard Interface Specification Object if (proxyresponse != null) { if (proxyresponse.TransactionHeader != null) { #region//TransactionHeader Set TransactionHeader transactionheader = new TransactionHeader(); transactionheader.CountryID = proxyresponse.TransactionHeader.CountryID; transactionheader.DealerID = proxyresponse.TransactionHeader.DealerID; transactionheader.DistributorID = proxyresponse.TransactionHeader.DistributorID; transactionheader.DMSCode = proxyresponse.TransactionHeader.DMSCode; transactionheader.DMSServerUrl = proxyresponse.TransactionHeader.DMSServerUrl; transactionheader.DMSVersion = proxyresponse.TransactionHeader.DMSVersion; transactionheader.DocumentVersion = proxyresponse.TransactionHeader.DocumentVersion; transactionheader.GroupID = proxyresponse.TransactionHeader.GroupID; transactionheader.IneterfaceID = proxyresponse.TransactionHeader.IneterfaceID; transactionheader.Password = proxyresponse.TransactionHeader.Password; transactionheader.PollingToken = proxyresponse.TransactionHeader.PollingToken; transactionheader.RequestPollingToken = proxyresponse.TransactionHeader.RequestPollingToken; transactionheader.RequestType = proxyresponse.TransactionHeader.RequestType; transactionheader.TransactionId = proxyresponse.TransactionHeader.TransactionId; transactionheader.TransactionDateTimeLocal = proxyresponse.TransactionHeader.TransactionDateTimeLocal; transactionheader.TransactionDateTimeUTC = proxyresponse.TransactionHeader.TransactionDateTimeUTC; transactionheader.TransactionType = proxyresponse.TransactionHeader.TransactionType; transactionheader.Username = proxyresponse.TransactionHeader.Username; transactionheader.VenderTrackingCode = proxyresponse.TransactionHeader.VenderTrackingCode; response.TransactionHeader = transactionheader; #endregion } //ResultMessage Set if (proxyresponse.ResultMessage != null) { response.ResultMessage = GetResultMessageData(proxyresponse.ResultMessage.Code, proxyresponse.ResultMessage.Message); } if (proxyresponse.Errors != null) { //Error List Set foreach (_1C.v4.Parts.Error proxyerror in proxyresponse.Errors) { if (response.Errors != null) response.Errors.Add(GetErrorData(proxyerror.Code, proxyerror.Message)); else response.Errors = GetErrorDataList(proxyerror.Code, proxyerror.Message); } } else { #region //PartsGetResponse Set if (proxyresponse.Parts != null && proxyresponse.Parts.Length > 0) { #region //PartsGetResponse Parts response.Parts = new List<Data.v2.Common.Part.Part>(); foreach (_1C.v4.Parts.Part proxypart in proxyresponse.Parts) { #region //Part Header Data.v2.Common.Part.Part part = new Data.v2.Common.Part.Part(); part.DisplayPartNumber = proxypart.DisplayPartNumber; part.PartDescription = proxypart.PartDescription; part.PartNumber = proxypart.PartNumber; part.PartType = proxypart.PartType; part.Quantity = proxypart.Quantity; part.ServiceType = proxypart.ServiceType; part.StockQuantity = proxypart.StockQuantity; part.StockStatus = proxypart.StockStatus; part.UnitOfMeasure = proxypart.UnitOfMeasure; #endregion #region //Part PriceType if (proxypart.PriceType != null) { PriceType pricetype = new PriceType(); pricetype.DiscountPrice = proxypart.PriceType.DiscountPrice; pricetype.DiscountRate = proxypart.PriceType.DiscountRate; pricetype.TotalPrice = proxypart.PriceType.TotalPrice; pricetype.TotalPriceIncludeTax = proxypart.PriceType.TotalPriceIncludeTax; pricetype.UnitPrice = proxypart.PriceType.UnitPrice; part.PriceType = pricetype; } #endregion response.Parts.Add(part); } #endregion } else { response.ResultMessage = GetResultMessageData(ResponseCode.NoResult, ResponseMessage.NoResult); } #endregion } } else { if (response.Errors != null) response.Errors.Add(GetErrorData(ResponseCode.Fail, ResponseMessage.Fail)); else response.Errors = GetErrorDataList(ResponseCode.Fail, ResponseMessage.Fail); } #endregion } break; default: response.Errors = new List<Error>() { new Error() { Code = ResponseCode.NoMatchedProxy, Message = ResponseMessage.NoMatchedProxy } }; break; } return response; }