public WA.Standard.IF.Data.v2.Common.Appointment.AppointmentGetResponse AppointmentGet(WA.Standard.IF.Data.v2.Common.Appointment.AppointmentGetRequest request) { WA.Standard.IF.Data.v2.Common.Appointment.AppointmentGetResponse response = new WA.Standard.IF.Data.v2.Common.Appointment.AppointmentGetResponse(); #region v2.WA.v2 - WA.Standard.IF.WebService #region AppointmentGet 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.v2.WS_Appointment.Appointment proxyws = new WA.v2.WS_Appointment.Appointment(); proxyws.Credentials = proxycredential; //Create proxy request with appointmentget and transaction WA.v2.WS_Appointment.AppointmentGetRequest proxyrequest = new WA.v2.WS_Appointment.AppointmentGetRequest(); //Create proxy transaction WA.v2.WS_Appointment.TransactionHeader proxytransactionheader = new WA.v2.WS_Appointment.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; proxyws.Url = string.Format("{0}/rtr-atest/ws/Appointment.1cws", proxytransactionheader.DMSServerUrl); #endregion } //Create proxy appointmentget WA.v2.WS_Appointment.AppointmentGet proxyappointmentget = new WA.v2.WS_Appointment.AppointmentGet(); if (request.AppointmentGet != null) { #region//AppointmentGet Set proxyappointmentget.AppointmentDateTimeFromLocal = request.AppointmentGet.AppointmentDateTimeFromLocal; proxyappointmentget.AppointmentDateTimeToLocal = request.AppointmentGet.AppointmentDateTimeFromLocal; proxyappointmentget.DMSAppointmentID = request.AppointmentGet.DMSAppointmentID; proxyappointmentget.DMSAppointmentNo = request.AppointmentGet.DMSAppointmentNo; proxyappointmentget.DMSAppointmentStatus = Map.SetDMSCodeFromWACode(CodeType.DMSAppointmentStatus, request.AppointmentGet.DMSAppointmentStatus); proxyappointmentget.LastModifiedDateTimeFromUTC = request.AppointmentGet.LastModifiedDateTimeFromUTC; proxyappointmentget.LastModifiedDateTimeToUTC = request.AppointmentGet.LastModifiedDateTimeToUTC; proxyappointmentget.SAEmployeeID = request.AppointmentGet.SAEmployeeID; proxyappointmentget.SAEmployeeName = request.AppointmentGet.SAEmployeeName; proxyappointmentget.TCEmployeeID = request.AppointmentGet.TCEmployeeID; proxyappointmentget.TCEmployeeName = request.AppointmentGet.TCEmployeeName; if (request.AppointmentGet.Customer != null) { WA.v2.WS_Appointment.Customer proxycustomer = new WA.v2.WS_Appointment.Customer(); proxycustomer.DMSCustomerNo = request.AppointmentGet.Customer.DMSCustomerNo; proxycustomer.LastName = request.AppointmentGet.Customer.LastName; if (request.AppointmentGet.Customer.Contacts != null && request.AppointmentGet.Customer.Contacts.Count > 0) { int cnt = 0; proxycustomer.Contacts = new WA.v2.WS_Appointment.Contact[request.AppointmentGet.Customer.Contacts.Count]; foreach (WA.Standard.IF.Data.v2.Common.Appointment.Contact contact in request.AppointmentGet.Customer.Contacts) { WA.v2.WS_Appointment.Contact proxycontact = new WA.v2.WS_Appointment.Contact(); proxycontact.ContactType = Map.SetDMSCodeFromWACode(CodeType.ContactType, contact.ContactType); proxycontact.ContactValue = contact.ContactValue; proxycustomer.Contacts[cnt] = proxycontact; cnt++; } } proxyappointmentget.Customer = proxycustomer; } proxyrequest.AppointmentGet = proxyappointmentget; #endregion } #endregion //Run proxy web method with proxy request WA.Standard.IF.Logger.Log.Log.SaveXMLLog(0, request.TransactionHeader.DealerID, "DMS AppointmentGetRequest XML", proxyrequest); WA.v2.WS_Appointment.AppointmentGetResponse proxyresponse = proxyws.AppointmentGet(proxyrequest); WA.Standard.IF.Logger.Log.Log.SaveXMLLog(0, request.TransactionHeader.DealerID, "DMS AppointmentGetResponse XML", proxyresponse); //Mapping with Standard Interface Specification Object if (proxyresponse != null) { if (proxyresponse.TransactionHeader != null) { #region//TransactionHeader Set WA.Standard.IF.Data.v2.Common.Common.TransactionHeader transactionheader = new WA.Standard.IF.Data.v2.Common.Common.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.v2.WS_Appointment.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//AppointmentGetResponse Set if (proxyresponse.Appointments != null && proxyresponse.Appointments.Length > 0) { response.Appointments = new List<WA.Standard.IF.Data.v2.Common.Appointment.Appointment>(); foreach (WA.v2.WS_Appointment.Appointment1 proxyappointment in proxyresponse.Appointments) { #region //Appointment Header WA.Standard.IF.Data.v2.Common.Appointment.Appointment appointment = new WA.Standard.IF.Data.v2.Common.Appointment.Appointment(); appointment.AppointmentDateTimeLocal = proxyappointment.AppointmentDateTimeLocal; appointment.CloseDateTimeLocal = proxyappointment.CloseDateTimeLocal; appointment.CustomerComment = proxyappointment.CustomerComment; appointment.DeliveryDateTimeLocal = proxyappointment.DeliveryDateTimeLocal; appointment.DMSAppointmentID = proxyappointment.DMSAppointmentID; appointment.DMSAppointmentNo = proxyappointment.DMSAppointmentNo; appointment.DMSAppointmentStatus = Map.GetWACodeFromDMSCode(CodeType.DMSAppointmentStatus, proxyappointment.DMSAppointmentStatus); appointment.InMileage = proxyappointment.InMileage; appointment.OpenDateTimeLocal = proxyappointment.OpenDateTimeLocal; appointment.PaymentMethod = Map.GetWACodeFromDMSCode(CodeType.PaymentMethod, proxyappointment.PaymentMethod); appointment.SAEmployeeID = proxyappointment.SAEmployeeID; appointment.SAEmployeeName = proxyappointment.SAEmployeeName; appointment.ServiceType = proxyappointment.ServiceType; appointment.TCEmployeeID = proxyappointment.TCEmployeeID; appointment.TCEmployeeName = proxyappointment.TCEmployeeName; appointment.WorkType = Map.GetWACodeFromDMSCode(CodeType.WorkType, proxyappointment.WorkType); #endregion #region //Appointment AdditionalFields if (proxyappointment.AdditionalFields != null && proxyappointment.AdditionalFields.Length > 0) { appointment.AdditionalFields = new List<WA.Standard.IF.Data.v2.Common.Common.AdditionalField>(); foreach (WA.v2.WS_Appointment.AdditionalField proxyadditionalfield in proxyappointment.AdditionalFields) { WA.Standard.IF.Data.v2.Common.Common.AdditionalField additionalfield = new WA.Standard.IF.Data.v2.Common.Common.AdditionalField(); additionalfield.AdditionalFieldName = proxyadditionalfield.AdditionalFieldName; additionalfield.AdditionalFieldValue = proxyadditionalfield.AdditionalFieldValue; appointment.AdditionalFields.Add(additionalfield); } } #endregion #region//Appointment JobRefs if (proxyappointment.JobRefs != null && proxyappointment.JobRefs.Length > 0) { appointment.JobRefs = new List<WA.Standard.IF.Data.v2.Common.Common.JobRef>(); foreach (WA.v2.WS_Appointment.JobRef proxyjobref in proxyappointment.JobRefs) { WA.Standard.IF.Data.v2.Common.Common.JobRef jobref = new WA.Standard.IF.Data.v2.Common.Common.JobRef(); jobref.DMSJobNo = proxyjobref.DMSJobNo; jobref.DMSJobStatus = Map.GetWACodeFromDMSCode(CodeType.DMSJobStatus, proxyjobref.DMSJobStatus); appointment.JobRefs.Add(jobref); } } #endregion #region//Appointment ManagementFields if (proxyappointment.ManagementFields != null) { WA.Standard.IF.Data.v2.Common.Common.ManagementFields managementfields = new WA.Standard.IF.Data.v2.Common.Common.ManagementFields(); managementfields.CreateDateTimeUTC = proxyappointment.ManagementFields.CreateDateTimeUTC; managementfields.LastModifiedDateTimeUTC = proxyappointment.ManagementFields.LastModifiedDateTimeUTC; appointment.ManagementFields = managementfields; } #endregion #region//Appointment Options if (proxyappointment.Options != null && proxyappointment.Options.Length > 0) { appointment.Options = new List<WA.Standard.IF.Data.v2.Common.Common.Option>(); foreach (WA.v2.WS_Appointment.Option proxyoption in proxyappointment.Options) { WA.Standard.IF.Data.v2.Common.Common.Option option = new WA.Standard.IF.Data.v2.Common.Common.Option(); option.OptionName = proxyoption.OptionName; option.OptionValue = proxyoption.OptionValue; appointment.Options.Add(option); } } #endregion #region//Appointment PriceType if (proxyappointment.PriceType != null) { WA.Standard.IF.Data.v2.Common.Common.PriceType pricetype = new WA.Standard.IF.Data.v2.Common.Common.PriceType(); pricetype.DiscountPrice = proxyappointment.PriceType.DiscountPrice; pricetype.DiscountRate = proxyappointment.PriceType.DiscountRate; pricetype.TotalPrice = proxyappointment.PriceType.TotalPrice; pricetype.TotalPriceIncludeTax = proxyappointment.PriceType.TotalPriceIncludeTax; pricetype.UnitPrice = proxyappointment.PriceType.UnitPrice; appointment.PriceType = pricetype; } #endregion #region//Appointment RORefs if (proxyappointment.RORefs != null && proxyappointment.RORefs.Length > 0) { appointment.RORefs = new List<WA.Standard.IF.Data.v2.Common.Common.RORef>(); foreach (WA.v2.WS_Appointment.RORef proxyroref in proxyappointment.RORefs) { WA.Standard.IF.Data.v2.Common.Common.RORef roref = new WA.Standard.IF.Data.v2.Common.Common.RORef(); roref.DMSRONo = proxyroref.DMSRONo; roref.DMSROStatus = Map.GetWACodeFromDMSCode(CodeType.DMSROStatus, proxyroref.DMSROStatus); appointment.RORefs.Add(roref); } } #endregion #region//Appointment Customers if (proxyappointment.Customers != null && proxyappointment.Customers.Length > 0) { appointment.Customers = new List<WA.Standard.IF.Data.v2.Common.Customer.Customer>(); foreach (WA.v2.WS_Appointment.Customer1 proxycustomer in proxyappointment.Customers) { #region//Appointment Customer Header WA.Standard.IF.Data.v2.Common.Customer.Customer customer = new WA.Standard.IF.Data.v2.Common.Customer.Customer(); customer.CardNo = proxycustomer.CardNo; customer.CorporateInfos = customer.CorporateInfos; customer.CustomerInfoType = Map.GetWACodeFromDMSCode(CodeType.CustomerInfoType, proxycustomer.CustomerInfoType); customer.DMSCustomerNo = proxycustomer.DMSCustomerNo; customer.Email = proxycustomer.Email; customer.FirstName = proxycustomer.FirstName; customer.FullName = proxycustomer.FullName; customer.Gender = Map.GetWACodeFromDMSCode(CodeType.Gender, proxycustomer.Gender); customer.LastName = proxycustomer.LastName; customer.MiddleName = proxycustomer.MiddleName; customer.Salutation = proxycustomer.Salutation; #endregion #region//Appointment Customer Addresses if (proxycustomer.Addresses != null && proxycustomer.Addresses.Length > 0) { customer.Addresses = new List<WA.Standard.IF.Data.v2.Common.Customer.Address>(); foreach (WA.v2.WS_Appointment.Address proxyaddress in proxycustomer.Addresses) { WA.Standard.IF.Data.v2.Common.Customer.Address address = new WA.Standard.IF.Data.v2.Common.Customer.Address(); address.AddressType = Map.GetWACodeFromDMSCode(CodeType.AddressType, proxyaddress.AddressType); address.City = proxyaddress.City; address.District = proxyaddress.District; address.Flat = proxyaddress.Flat; address.FullAddress = proxyaddress.FullAddress; address.House = proxyaddress.House; address.Housing = proxyaddress.Housing; address.Locality = proxyaddress.Locality; address.Region = proxyaddress.Region; address.Street = proxyaddress.Street; address.ZipCode = proxyaddress.ZipCode; customer.Addresses.Add(address); } } #endregion #region//Appointment Customer Contacts if (proxycustomer.Contacts != null && proxycustomer.Contacts.Length > 0) { customer.Contacts = new List<WA.Standard.IF.Data.v2.Common.Customer.Contact>(); foreach (WA.v2.WS_Appointment.Contact1 proxycontact in proxycustomer.Contacts) { WA.Standard.IF.Data.v2.Common.Customer.Contact contact = new WA.Standard.IF.Data.v2.Common.Customer.Contact(); contact.ContactMethodYN = proxycontact.ContactMethodYN; contact.ContactType = Map.GetWACodeFromDMSCode(CodeType.ContactType, proxycontact.ContactType); contact.ContactValue = proxycontact.ContactValue; customer.Contacts.Add(contact); } } #endregion #region//Appointment Customer SpecialMessage if (proxycustomer.SpecialMessage != null) { WA.Standard.IF.Data.v2.Common.Customer.SpecialMessage specialmessage = new WA.Standard.IF.Data.v2.Common.Customer.SpecialMessage(); specialmessage.Message = proxycustomer.SpecialMessage.Message; customer.SpecialMessage = specialmessage; } #endregion #region//Appointment Customer CorporateInfos if (proxycustomer.CorporateInfos != null && proxycustomer.CorporateInfos.Length > 0) { customer.CorporateInfos = new List<WA.Standard.IF.Data.v2.Common.Customer.CorporateInfo>(); foreach (WA.v2.WS_Appointment.CorporateInfo proxycorporateinfo in proxycustomer.CorporateInfos) { WA.Standard.IF.Data.v2.Common.Customer.CorporateInfo corporateinfo = new WA.Standard.IF.Data.v2.Common.Customer.CorporateInfo(); corporateinfo.CorporateInfoName = proxycorporateinfo.CorporateInfoName; corporateinfo.CorporateInfoValue = proxycorporateinfo.CorporateInfoValue; customer.CorporateInfos.Add(corporateinfo); } } #endregion appointment.Customers.Add(customer); } } #endregion #region//Appointment Vehicle if (proxyappointment.Vehicle != null) { if (proxyappointment.Vehicle != null) { #region//Appointment Vehicle Header WA.Standard.IF.Data.v2.Common.Vehicle.Vehicle vehicle = new WA.Standard.IF.Data.v2.Common.Vehicle.Vehicle(); vehicle.Color = proxyappointment.Vehicle.Color; vehicle.Cylinders = proxyappointment.Vehicle.Cylinders; vehicle.DateDelivered = proxyappointment.Vehicle.DateDelivered; vehicle.DateInService = proxyappointment.Vehicle.DateInService; vehicle.DeclinedJob = proxyappointment.Vehicle.DeclinedJob; vehicle.DisplayDescription = proxyappointment.Vehicle.DisplayDescription; vehicle.DMSVehicleNo = proxyappointment.Vehicle.DMSVehicleNo; vehicle.EngineType = proxyappointment.Vehicle.EngineType; vehicle.ExtendedWarranty = proxyappointment.Vehicle.ExtendedWarranty; vehicle.FuelType = proxyappointment.Vehicle.FuelType; vehicle.FullModelName = proxyappointment.Vehicle.FullModelName; vehicle.InsuranceDate = proxyappointment.Vehicle.InsuranceDate; vehicle.LastMileage = proxyappointment.Vehicle.LastMileage; vehicle.LastServiceDate = proxyappointment.Vehicle.LastServiceDate; vehicle.LastSixVIN = proxyappointment.Vehicle.LastSixVIN; vehicle.LicenseNumber = proxyappointment.Vehicle.LicenseNumber; vehicle.LicensePlateNo = proxyappointment.Vehicle.LicensePlateNo; vehicle.Make = proxyappointment.Vehicle.Make; vehicle.ModelCode = proxyappointment.Vehicle.ModelCode; vehicle.ModelName = proxyappointment.Vehicle.ModelName; vehicle.ModelYear = proxyappointment.Vehicle.ModelYear; vehicle.PendingJob = proxyappointment.Vehicle.PendingJob; vehicle.StockNumber = proxyappointment.Vehicle.StockNumber; vehicle.Trim = proxyappointment.Vehicle.Trim; vehicle.VehicleType = Map.GetWACodeFromDMSCode(CodeType.VehicleType, proxyappointment.Vehicle.VehicleType); vehicle.VIN = proxyappointment.Vehicle.VIN; vehicle.WarrantyMiles = proxyappointment.Vehicle.WarrantyMiles; vehicle.WarrantyMonths = proxyappointment.Vehicle.WarrantyMonths; vehicle.WarrantyStartDate = proxyappointment.Vehicle.WarrantyStartDate; #endregion #region//Appointment Vehicle Campaigns if (proxyappointment.Vehicle.Campaigns != null && proxyappointment.Vehicle.Campaigns.Length > 0) { vehicle.Campaigns = new List<WA.Standard.IF.Data.v2.Common.Vehicle.Campaign>(); foreach (WA.v2.WS_Appointment.Campaign proxycampaign in proxyappointment.Vehicle.Campaigns) { WA.Standard.IF.Data.v2.Common.Vehicle.Campaign campaign = new WA.Standard.IF.Data.v2.Common.Vehicle.Campaign(); campaign.CampaignDescription = proxycampaign.CampaignDescription; campaign.CampaignID = proxycampaign.CampaignID; campaign.CampaignPerformed = proxycampaign.CampaignPerformed; vehicle.Campaigns.Add(campaign); } } #endregion appointment.Vehicle = vehicle; } } #endregion #region//Appointment RequestItems if (proxyappointment.RequestItems != null && proxyappointment.RequestItems.Length > 0) { appointment.RequestItems = new List<WA.Standard.IF.Data.v2.Common.Common.RequestItem>(); foreach (WA.v2.WS_Appointment.RequestItem proxyrequestitem in proxyappointment.RequestItems) { #region//Appointment RequestItem Header WA.Standard.IF.Data.v2.Common.Common.RequestItem requestitem = new WA.Standard.IF.Data.v2.Common.Common.RequestItem(); requestitem.CPSIND = proxyrequestitem.CPSIND; requestitem.RequestCode = proxyrequestitem.RequestCode; requestitem.RequestDescription = proxyrequestitem.RequestDescription; requestitem.ServiceLineNumber = proxyrequestitem.ServiceLineNumber; requestitem.ServiceLineStatus = Map.GetWACodeFromDMSCode(CodeType.ServiceLineStatus, proxyrequestitem.ServiceLineStatus); requestitem.ServiceType = Map.GetWACodeFromDMSCode(CodeType.ServiceType, proxyrequestitem.ServiceType); requestitem.TCEmployeeID = proxyrequestitem.TCEmployeeID; requestitem.TCEmployeeName = proxyrequestitem.TCEmployeeName; requestitem.WorkType = Map.GetWACodeFromDMSCode(CodeType.WorkType, proxyrequestitem.WorkType); #endregion #region//Appointment RequestItem Comments if (proxyrequestitem.Comments != null && proxyrequestitem.Comments.Length > 0) { requestitem.Comments = new List<WA.Standard.IF.Data.v2.Common.Common.Comment>(); foreach (WA.v2.WS_Appointment.Comment proxycomment in proxyrequestitem.Comments) { WA.Standard.IF.Data.v2.Common.Common.Comment comment = new WA.Standard.IF.Data.v2.Common.Common.Comment(); comment.DescriptionComment = proxycomment.DescriptionComment; comment.SequenceNumber = proxycomment.SequenceNumber; requestitem.Comments.Add(comment); } } #endregion #region//Appointment RequestItem Descriptions if (proxyrequestitem.Descriptions != null && proxyrequestitem.Descriptions.Length > 0) { requestitem.Descriptions = new List<WA.Standard.IF.Data.v2.Common.Common.Description>(); foreach (WA.v2.WS_Appointment.Description proxydescription in proxyrequestitem.Descriptions) { WA.Standard.IF.Data.v2.Common.Common.Description description = new WA.Standard.IF.Data.v2.Common.Common.Description(); description.DescriptionComment = proxydescription.DescriptionComment; description.SequenceNumber = proxydescription.SequenceNumber; requestitem.Descriptions.Add(description); } } #endregion #region//Appointment RequestItem OPCodes if (proxyrequestitem.OPCodes != null && proxyrequestitem.OPCodes.Length > 0) { requestitem.OPCodes = new List<WA.Standard.IF.Data.v2.Common.Common.OPCode>(); foreach (WA.v2.WS_Appointment.OPCode proxyopcode in proxyrequestitem.OPCodes) { #region//Appointment RequestItem OPCode Header WA.Standard.IF.Data.v2.Common.Common.OPCode opcode = new WA.Standard.IF.Data.v2.Common.Common.OPCode(); opcode.ActualHours = proxyopcode.ActualHours; opcode.Code = proxyopcode.Code; opcode.Description = proxyopcode.Description; opcode.EstimatedHours = proxyopcode.EstimatedHours; opcode.OPCodeType = Map.GetWACodeFromDMSCode(CodeType.OPCodeType, proxyopcode.OPCodeType); opcode.Quantity = proxyopcode.Quantity; opcode.SequenceNumber = proxyopcode.SequenceNumber; opcode.ServiceType = Map.GetWACodeFromDMSCode(CodeType.ServiceType, proxyopcode.ServiceType); opcode.SkillLevel = proxyopcode.SkillLevel; #endregion #region//Appointment RequestItem OPCode Descriptions if (proxyopcode.Descriptions != null && proxyopcode.Descriptions.Length > 0) { opcode.Descriptions = new List<WA.Standard.IF.Data.v2.Common.Common.Description>(); foreach (WA.v2.WS_Appointment.Description proxydescription in proxyopcode.Descriptions) { WA.Standard.IF.Data.v2.Common.Common.Description description = new WA.Standard.IF.Data.v2.Common.Common.Description(); description.DescriptionComment = proxydescription.DescriptionComment; description.SequenceNumber = proxydescription.SequenceNumber; opcode.Descriptions.Add(description); } } #endregion #region//Appointment RequestItem OPCode Causes if (proxyopcode.Causes != null && proxyopcode.Causes.Length > 0) { opcode.Causes = new List<WA.Standard.IF.Data.v2.Common.Common.Cause>(); foreach (WA.v2.WS_Appointment.Cause proxycause in proxyopcode.Causes) { WA.Standard.IF.Data.v2.Common.Common.Cause cause = new WA.Standard.IF.Data.v2.Common.Common.Cause(); cause.CauseLaborOpCode = proxycause.CauseLaborOpCode; cause.Comment = proxycause.Comment; cause.SequenceNumber = proxycause.SequenceNumber; opcode.Causes.Add(cause); } } #endregion #region//Appointment RequestItem OPCode Corrections if (proxyopcode.Corrections != null && proxyopcode.Corrections.Length > 0) { opcode.Corrections = new List<WA.Standard.IF.Data.v2.Common.Common.Correction>(); foreach (WA.v2.WS_Appointment.Correction proxycorrection in proxyopcode.Corrections) { WA.Standard.IF.Data.v2.Common.Common.Correction correction = new WA.Standard.IF.Data.v2.Common.Common.Correction(); correction.CorrectionLaborOpCode = proxycorrection.CorrectionLaborOpCode; correction.Comment = proxycorrection.Comment; correction.SequenceNumber = proxycorrection.SequenceNumber; opcode.Corrections.Add(correction); } } #endregion #region//Appointment RequestItem OPCode PriceType if (proxyopcode.PriceType != null) { WA.Standard.IF.Data.v2.Common.Common.PriceType pricetype = new WA.Standard.IF.Data.v2.Common.Common.PriceType(); pricetype.DiscountPrice = proxyopcode.PriceType.DiscountPrice; pricetype.DiscountRate = proxyopcode.PriceType.DiscountRate; pricetype.TotalPrice = proxyopcode.PriceType.TotalPrice; pricetype.TotalPriceIncludeTax = proxyopcode.PriceType.TotalPriceIncludeTax; pricetype.UnitPrice = proxyopcode.PriceType.UnitPrice; opcode.PriceType = pricetype; } #endregion #region//Appointment RequestItem OPCode Parts if (proxyopcode.Parts != null && proxyopcode.Parts.Length > 0) { opcode.Parts = new List<WA.Standard.IF.Data.v2.Common.Common.Part>(); foreach (WA.v2.WS_Appointment.Part proxypart in proxyopcode.Parts) { #region//Appointment RequestItem OPCode Parts Header WA.Standard.IF.Data.v2.Common.Common.Part part = new WA.Standard.IF.Data.v2.Common.Common.Part(); part.DisplayPartNumber = proxypart.DisplayPartNumber; part.PartDescription = proxypart.PartDescription; part.PartNumber = proxypart.PartNumber; part.PartType = Map.GetWACodeFromDMSCode(CodeType.PartType, proxypart.PartType); part.Quantity = proxypart.Quantity; part.SequenceNumber = proxypart.SequenceNumber; part.ServiceType = Map.GetWACodeFromDMSCode(CodeType.ServiceType, proxypart.ServiceType); part.StockQuantity = proxypart.StockQuantity; part.StockStatus = proxypart.StockStatus; part.UnitOfMeasure = proxypart.UnitOfMeasure; #endregion #region//Appointment RequestItem OPCode Parts Descriptions if (proxypart.Descriptions != null && proxypart.Descriptions.Length > 0) { part.Descriptions = new List<WA.Standard.IF.Data.v2.Common.Common.Description>(); foreach (WA.v2.WS_Appointment.Description proxydescription in proxypart.Descriptions) { WA.Standard.IF.Data.v2.Common.Common.Description description = new WA.Standard.IF.Data.v2.Common.Common.Description(); description.DescriptionComment = proxydescription.DescriptionComment; description.SequenceNumber = proxydescription.SequenceNumber; part.Descriptions.Add(description); } } #endregion #region//Appointment RequestItem OPCode Parts PriceType if (proxypart.PriceType != null) { WA.Standard.IF.Data.v2.Common.Common.PriceType pricetype = new WA.Standard.IF.Data.v2.Common.Common.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 opcode.Parts.Add(part); } } #endregion #region//Appointment RequestItem OPCode Sublets if (proxyopcode.Sublets != null && proxyopcode.Sublets.Length > 0) { opcode.Sublets = new List<WA.Standard.IF.Data.v2.Common.Common.Sublet>(); foreach (WA.v2.WS_Appointment.Sublet proxysublet in proxyopcode.Sublets) { #region//Appointment RequestItem OPCode Sublet Header WA.Standard.IF.Data.v2.Common.Common.Sublet sublet = new WA.Standard.IF.Data.v2.Common.Common.Sublet(); sublet.SequenceNumber = proxysublet.SequenceNumber; sublet.ServiceType = Map.GetWACodeFromDMSCode(CodeType.ServiceType, proxysublet.ServiceType); #endregion #region//Appointment RequestItem OPCode Sublets Descriptions if (proxysublet.Descriptions != null && proxysublet.Descriptions.Length > 0) { sublet.Descriptions = new List<WA.Standard.IF.Data.v2.Common.Common.Description>(); foreach (WA.v2.WS_Appointment.Description proxydescription in proxysublet.Descriptions) { WA.Standard.IF.Data.v2.Common.Common.Description description = new WA.Standard.IF.Data.v2.Common.Common.Description(); description.DescriptionComment = proxydescription.DescriptionComment; description.SequenceNumber = proxydescription.SequenceNumber; sublet.Descriptions.Add(description); } } #endregion #region//Appointment RequestItem OPCode Sublets PriceType if (proxysublet.PriceType != null) { WA.Standard.IF.Data.v2.Common.Common.PriceType pricetype = new WA.Standard.IF.Data.v2.Common.Common.PriceType(); pricetype.DiscountPrice = proxysublet.PriceType.DiscountPrice; pricetype.DiscountRate = proxysublet.PriceType.DiscountRate; pricetype.TotalPrice = proxysublet.PriceType.TotalPrice; pricetype.TotalPriceIncludeTax = proxysublet.PriceType.TotalPriceIncludeTax; pricetype.UnitPrice = proxysublet.PriceType.UnitPrice; sublet.PriceType = pricetype; } #endregion opcode.Sublets.Add(sublet); } } #endregion #region//Appointment RequestItem OPCode MISCs if (proxyopcode.MISCs != null && proxyopcode.MISCs.Length > 0) { opcode.MISCs = new List<WA.Standard.IF.Data.v2.Common.Common.MISC>(); foreach (WA.v2.WS_Appointment.MISC proxymisc in proxyopcode.MISCs) { #region//Appointment RequestItem OPCode MISC Header WA.Standard.IF.Data.v2.Common.Common.MISC misc = new WA.Standard.IF.Data.v2.Common.Common.MISC(); misc.SequenceNumber = proxymisc.SequenceNumber; misc.ServiceType = Map.GetWACodeFromDMSCode(CodeType.ServiceType, proxymisc.ServiceType); #endregion #region//Appointment RequestItem OPCode MISCs Descriptions if (proxymisc.Descriptions != null && proxymisc.Descriptions.Length > 0) { misc.Descriptions = new List<WA.Standard.IF.Data.v2.Common.Common.Description>(); foreach (WA.v2.WS_Appointment.Description proxydescription in proxymisc.Descriptions) { WA.Standard.IF.Data.v2.Common.Common.Description description = new WA.Standard.IF.Data.v2.Common.Common.Description(); description.DescriptionComment = proxydescription.DescriptionComment; description.SequenceNumber = proxydescription.SequenceNumber; misc.Descriptions.Add(description); } } #endregion #region//Appointment RequestItem OPCode MISCs PriceType if (proxymisc.PriceType != null) { WA.Standard.IF.Data.v2.Common.Common.PriceType pricetype = new WA.Standard.IF.Data.v2.Common.Common.PriceType(); pricetype.DiscountPrice = proxymisc.PriceType.DiscountPrice; pricetype.DiscountRate = proxymisc.PriceType.DiscountRate; pricetype.TotalPrice = proxymisc.PriceType.TotalPrice; pricetype.TotalPriceIncludeTax = proxymisc.PriceType.TotalPriceIncludeTax; pricetype.UnitPrice = proxymisc.PriceType.UnitPrice; misc.PriceType = pricetype; } #endregion opcode.MISCs.Add(misc); } } #endregion requestitem.OPCodes.Add(opcode); } } #endregion appointment.RequestItems.Add(requestitem); } } #endregion response.Appointments.Add(appointment); } } else { response.ResultMessage = GetResultMessageData(WA.Standard.IF.Data.v2.Common.Common.ResponseCode.NoResult, WA.Standard.IF.Data.v2.Common.Common.ResponseMessage.NoResult); } #endregion } } #endregion return response; }
public WA.Standard.IF.Data.v2.Common.Part.PartsGetResponse PartsGet(WA.Standard.IF.Data.v2.Common.Part.PartsGetRequest request) { WA.Standard.IF.Data.v2.Common.Part.PartsGetResponse response = new WA.Standard.IF.Data.v2.Common.Part.PartsGetResponse(); #region v2.WA.v2 - WA.Standard.IF.WebService #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.v2.WS_Parts.Parts proxyws = new WA.v2.WS_Parts.Parts(); proxyws.Credentials = proxycredential; //Create proxy request with partget and transaction WA.v2.WS_Parts.PartsGetRequest proxyrequest = new WA.v2.WS_Parts.PartsGetRequest(); //Create proxy transaction WA.v2.WS_Parts.TransactionHeader proxytransactionheader = new WA.v2.WS_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; proxyws.Url = string.Format("{0}/rtr-atest/ws/Parts.1cws", proxytransactionheader.DMSServerUrl); #endregion } //Create proxy partget WA.v2.WS_Parts.PartsGet proxypartsget = new WA.v2.WS_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.Standard.IF.Logger.Log.Log.SaveXMLLog(0, request.TransactionHeader.DealerID, "DMS PartsGetRequest XML", proxyrequest); WA.v2.WS_Parts.PartsGetResponse proxyresponse = proxyws.PartsGet(proxyrequest); WA.Standard.IF.Logger.Log.Log.SaveXMLLog(0, request.TransactionHeader.DealerID, "DMS PartsGetResponse XML", proxyresponse); //Mapping with Standard Interface Specification Object if (proxyresponse != null) { if (proxyresponse.TransactionHeader != null) { #region//TransactionHeader Set WA.Standard.IF.Data.v2.Common.Common.TransactionHeader transactionheader = new WA.Standard.IF.Data.v2.Common.Common.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.v2.WS_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<WA.Standard.IF.Data.v2.Common.Part.Part>(); foreach (WA.v2.WS_Parts.Part proxypart in proxyresponse.Parts) { #region //Part Header WA.Standard.IF.Data.v2.Common.Part.Part part = new WA.Standard.IF.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; part.QuantityOnHand = proxypart.QuantityOnHand; #endregion #region //Part PriceType if (proxypart.PriceType != null) { WA.Standard.IF.Data.v2.Common.Common.PriceType pricetype = new WA.Standard.IF.Data.v2.Common.Common.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(WA.Standard.IF.Data.v2.Common.Common.ResponseCode.NoResult, WA.Standard.IF.Data.v2.Common.Common.ResponseMessage.NoResult); } #endregion } } #endregion return response; }
public WA.Standard.IF.Data.v2.HMCIS.Price.PriceCheckResponse PriceCheck(WA.Standard.IF.Data.v2.HMCIS.Price.PriceCheckRequest request) { WA.Standard.IF.Data.v2.HMCIS.Price.PriceCheckResponse response = new WA.Standard.IF.Data.v2.HMCIS.Price.PriceCheckResponse(); #region v2.WA.v2 - WA.Standard.IF.WebService #region PriceCheck 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.v2.WS_Price.Price proxyws = new WA.v2.WS_Price.Price(); proxyws.Credentials = proxycredential; //Create proxy request with pricecheck and transaction WA.v2.WS_Price.PriceCheckRequest proxyrequest = new WA.v2.WS_Price.PriceCheckRequest(); //Create proxy transaction WA.v2.WS_Price.TransactionHeader proxytransactionheader = new WA.v2.WS_Price.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; proxyws.Url = string.Format("{0}/rtr-atest/ws/Price.1cws", proxytransactionheader.DMSServerUrl); #endregion } //Create proxy pricecheck WA.v2.WS_Price.PriceCheck proxypricecheck = new WA.v2.WS_Price.PriceCheck(); if (request.PriceCheck != null) { #region//PriceCheck Header proxypricecheck.DMSRONo = request.PriceCheck.DMSRONo; #endregion #region//PriceCheck OPCodes if (request.PriceCheck.OPCodes != null && request.PriceCheck.OPCodes.Count > 0) { int opcodescnt = 0; WA.v2.WS_Price.OPCode[] proxyopcodes = new WA.v2.WS_Price.OPCode[request.PriceCheck.OPCodes.Count]; foreach (WA.Standard.IF.Data.v2.HMCIS.Price.OPCode opcode in request.PriceCheck.OPCodes) { #region//PriceCheck OPCode Header WA.v2.WS_Price.OPCode proxyopcode = new WA.v2.WS_Price.OPCode(); proxyopcode.Code = opcode.Code; proxyopcode.Engine = opcode.Engine; proxyopcode.Make = opcode.Make; proxyopcode.Mileage = opcode.Mileage; proxyopcode.Model = opcode.Model; proxyopcode.Period = opcode.Period; proxyopcode.Year = opcode.Year; proxyopcode.Quantity = opcode.Quantity; #endregion #region//PriceCheck OPCode PriceType if (opcode.PriceType != null) { WA.v2.WS_Price.PriceType proxypricetype = new WA.v2.WS_Price.PriceType(); proxypricetype.DiscountPrice = opcode.PriceType.DiscountPrice; proxypricetype.DiscountRate = opcode.PriceType.DiscountRate; proxypricetype.TotalPrice = opcode.PriceType.TotalPrice; proxypricetype.TotalPriceIncludeTax = opcode.PriceType.TotalPriceIncludeTax; proxypricetype.UnitPrice = opcode.PriceType.UnitPrice; proxyopcode.PriceType = proxypricetype; } #endregion #region//PriceCheck OPCode Parts if (opcode.Parts != null && opcode.Parts.Count > 0) { int partscnt = 0; WA.v2.WS_Price.Part[] proxyparts = new WA.v2.WS_Price.Part[opcode.Parts.Count]; foreach (WA.Standard.IF.Data.v2.HMCIS.Price.Part part in opcode.Parts) { #region//PriceCheck OPCode Parts Header WA.v2.WS_Price.Part proxypart = new WA.v2.WS_Price.Part(); proxypart.Manufacturer = part.Manufacturer; proxypart.PartNumber = part.PartNumber; proxypart.Quantity = part.Quantity; //proxypart.ServiceType = part.ServiceType; #endregion #region//PriceCheck OPCode Parts PriceType if (part.PriceType != null) { WA.v2.WS_Price.PriceType proxypricetype = new WA.v2.WS_Price.PriceType(); proxypricetype.DiscountPrice = part.PriceType.DiscountPrice; proxypricetype.DiscountRate = part.PriceType.DiscountRate; proxypricetype.TotalPrice = part.PriceType.TotalPrice; proxypricetype.TotalPriceIncludeTax = part.PriceType.TotalPriceIncludeTax; proxypricetype.UnitPrice = part.PriceType.UnitPrice; proxypart.PriceType = proxypricetype; } #endregion proxyparts[partscnt] = proxypart; partscnt++; } proxyopcode.Parts = proxyparts; } #endregion proxyopcodes[opcodescnt] = proxyopcode; opcodescnt++; } proxypricecheck.OPCodes = proxyopcodes; } #endregion proxyrequest.PriceCheck = proxypricecheck; } #endregion //Run proxy web method with proxy request WA.Standard.IF.Logger.Log.Log.SaveXMLLog(0, request.TransactionHeader.DealerID, "DMS PriceCheckRequest XML", proxyrequest); WA.v2.WS_Price.PriceCheckResponse proxyresponse = proxyws.PriceCheck(proxyrequest); WA.Standard.IF.Logger.Log.Log.SaveXMLLog(0, request.TransactionHeader.DealerID, "DMS PriceCheckResponse XML", proxyresponse); //Mapping with Standard Interface Specification Object if (proxyresponse != null) { if (proxyresponse.TransactionHeader != null) { #region//TransactionHeader Set WA.Standard.IF.Data.v2.Common.Common.TransactionHeader transactionheader = new WA.Standard.IF.Data.v2.Common.Common.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.v2.WS_Price.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 //OPCodeGetResponse Set if (proxyresponse.Price != null) { #region//PricesGetResponse Set WA.v2.WS_Price.Price1 proxyprice = proxyresponse.Price; #region //Prices Header WA.Standard.IF.Data.v2.HMCIS.Price.Price price = new WA.Standard.IF.Data.v2.HMCIS.Price.Price(); price.LaborCampaignDiscountAmount = proxyprice.LaborCampaignDiscountAmount; price.PartsCampaignDiscountAmount = proxyprice.PartsCampaignDiscountAmount; price.TotalAmount = proxyprice.TotalAmount; price.TotalCampaignDiscountAmount = proxyprice.TotalCampaignDiscountAmount; price.VATAmount = proxyprice.VATAmount; price.AdditionalRepairOrderSummary = proxyprice.AdditionalRepairOrderSummary; #endregion if (proxyprice.OPCodes != null && proxyprice.OPCodes.Length > 0) { #region//Prices OPCode price.OPCodes = new List<Standard.IF.Data.v2.Common.OPCode.OPCode>(); foreach (WA.v2.WS_Price.OPCode1 proxyopcode in proxyprice.OPCodes) { #region //Prices OPCode Header WA.Standard.IF.Data.v2.Common.OPCode.OPCode opcode = new WA.Standard.IF.Data.v2.Common.OPCode.OPCode(); opcode.Code = proxyopcode.Code; opcode.Engine = proxyopcode.Engine; opcode.Make = proxyopcode.Make; opcode.Mileage = proxyopcode.Mileage; opcode.Model = proxyopcode.Model; opcode.Period = proxyopcode.Period; opcode.Year = proxyopcode.Year; opcode.Quantity = proxyopcode.Quantity; #endregion #region //Prices OPCode PriceType if (proxyopcode.PriceType != null) { WA.Standard.IF.Data.v2.Common.Common.PriceType pricetype = new WA.Standard.IF.Data.v2.Common.Common.PriceType(); pricetype.DiscountPrice = proxyopcode.PriceType.DiscountPrice; pricetype.DiscountRate = proxyopcode.PriceType.DiscountRate; pricetype.TotalPrice = proxyopcode.PriceType.TotalPrice; pricetype.TotalPriceIncludeTax = proxyopcode.PriceType.TotalPriceIncludeTax; pricetype.UnitPrice = proxyopcode.PriceType.UnitPrice; opcode.PriceType = pricetype; } #endregion #region //Prices OPCode Parts if (proxyopcode.Parts != null && proxyopcode.Parts.Length > 0) { opcode.Parts = new List<Standard.IF.Data.v2.Common.Part.Part>(); foreach (WA.v2.WS_Price.Part1 proxypart in proxyopcode.Parts) { #region //Prices OPCode Part Header WA.Standard.IF.Data.v2.Common.Part.Part part = new WA.Standard.IF.Data.v2.Common.Part.Part(); //part.Manufacturer = proxypart.Manufacturer; part.PartNumber = proxypart.PartNumber; part.Quantity = proxypart.Quantity; //part.ServiceType = proxypart.ServiceType; #endregion #region //Prices OPCode Part PriceType if (proxypart.PriceType != null) { WA.Standard.IF.Data.v2.Common.Common.PriceType pricetype = new WA.Standard.IF.Data.v2.Common.Common.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 opcode.Parts.Add(part); } } #endregion price.OPCodes.Add(opcode); } #endregion } response.Price = price; #endregion } else { response.ResultMessage = GetResultMessageData(WA.Standard.IF.Data.v2.Common.Common.ResponseCode.NoResult, WA.Standard.IF.Data.v2.Common.Common.ResponseMessage.NoResult); } #endregion } } #endregion return response; }
public WA.Standard.IF.Data.v2.Common.PackageCode.PackageCodeGetResponse PackageCodeGet(WA.Standard.IF.Data.v2.Common.PackageCode.PackageCodeGetRequest request) { WA.Standard.IF.Data.v2.Common.PackageCode.PackageCodeGetResponse response = new WA.Standard.IF.Data.v2.Common.PackageCode.PackageCodeGetResponse(); #region v2.WA.v2 - WA.Standard.IF.WebService #region PackageCodeGet 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.v2.WS_PackageCode.PackageCode proxyws = new WA.v2.WS_PackageCode.PackageCode(); proxyws.Credentials = proxycredential; //Create proxy request with packagecodeget and transaction WA.v2.WS_PackageCode.PackageCodeGetRequest proxyrequest = new WA.v2.WS_PackageCode.PackageCodeGetRequest(); //Create proxy transaction WA.v2.WS_PackageCode.TransactionHeader proxytransactionheader = new WA.v2.WS_PackageCode.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; proxyws.Url = string.Format("{0}/rtr-atest/ws/PackageCode.1cws", proxytransactionheader.DMSServerUrl); #endregion } //Create proxy packagecodeget WA.v2.WS_PackageCode.PackageCodeGet proxypackagecodeget = new WA.v2.WS_PackageCode.PackageCodeGet(); if (request.PackageCodeGet != null) { #region//PackageCodeGet Set proxypackagecodeget.Category = request.PackageCodeGet.Category; proxypackagecodeget.Code = request.PackageCodeGet.Code; proxypackagecodeget.Description = request.PackageCodeGet.Description; proxypackagecodeget.EngineCode = request.PackageCodeGet.EngineCode; proxypackagecodeget.Engine = request.PackageCodeGet.Engine; proxypackagecodeget.LastModifiedDateTimeFromUTC = request.PackageCodeGet.LastModifiedDateTimeFromUTC; proxypackagecodeget.LastModifiedDateTimeToUTC = request.PackageCodeGet.LastModifiedDateTimeToUTC; proxypackagecodeget.Make = request.PackageCodeGet.Make; proxypackagecodeget.Mileage = request.PackageCodeGet.Mileage; proxypackagecodeget.ModelCode = request.PackageCodeGet.ModelCode; proxypackagecodeget.Model = request.PackageCodeGet.Model; proxypackagecodeget.Year = request.PackageCodeGet.Year; proxyrequest.PackageCodeGet = proxypackagecodeget; #endregion } #endregion //Run proxy web method with proxy request WA.Standard.IF.Logger.Log.Log.SaveXMLLog(0, request.TransactionHeader.DealerID, "DMS PackageCodeGetRequest XML", proxyrequest); WA.v2.WS_PackageCode.PackageCodeGetResponse proxyresponse = proxyws.PackageCodeGet(proxyrequest); WA.Standard.IF.Logger.Log.Log.SaveXMLLog(0, request.TransactionHeader.DealerID, "DMS PackageCodeGetResponse XML", proxyresponse); //Mapping with Standard Interface Specification Object if (proxyresponse != null) { if (proxyresponse.TransactionHeader != null) { #region//TransactionHeader Set WA.Standard.IF.Data.v2.Common.Common.TransactionHeader transactionheader = new WA.Standard.IF.Data.v2.Common.Common.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.v2.WS_PackageCode.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 //PackageCodeGetResponse Set if (proxyresponse.PackageCodes != null && proxyresponse.PackageCodes.Length > 0) { #region//PackageCodesGetResponse Set response.PackageCodes = new List<WA.Standard.IF.Data.v2.Common.PackageCode.PackageCode>(); foreach (WA.v2.WS_PackageCode.PackageCode1 proxypackagecode in proxyresponse.PackageCodes) { #region //PackageCodes Header WA.Standard.IF.Data.v2.Common.PackageCode.PackageCode packagecode = new WA.Standard.IF.Data.v2.Common.PackageCode.PackageCode(); packagecode.Code = proxypackagecode.Code; packagecode.DefLinePaymentMethod = proxypackagecode.DefLinePaymentMethod; packagecode.Description = proxypackagecode.Description; packagecode.PackageCodeType = Map.GetWACodeFromDMSCode(CodeType.PackageCodeType, proxypackagecode.PackageCodeType); packagecode.DisplayPackageCode = proxypackagecode.DisplayPackageCode; packagecode.DisplayPackageDescription = proxypackagecode.DisplayPackageDescription; packagecode.EngineCode = proxypackagecode.EngineCode; packagecode.Engine = proxypackagecode.Engine; packagecode.EstimatedHours = proxypackagecode.EstimatedHours; packagecode.Make = proxypackagecode.Make; packagecode.Mileage = proxypackagecode.Mileage; packagecode.ModelCode = proxypackagecode.ModelCode; packagecode.Model = proxypackagecode.Model; packagecode.Period = proxypackagecode.Period; packagecode.Year = proxypackagecode.Year; #endregion #region //PackageCodes ManagementFields if (proxypackagecode.ManagementFields != null) { WA.Standard.IF.Data.v2.Common.Common.ManagementFields managementfields = new WA.Standard.IF.Data.v2.Common.Common.ManagementFields(); managementfields.CreateDateTimeUTC = proxypackagecode.ManagementFields.CreateDateTimeUTC; managementfields.LastModifiedDateTimeUTC = proxypackagecode.ManagementFields.LastModifiedDateTimeUTC; packagecode.ManagementFields = managementfields; } #endregion #region //PackageCodes PriceType if (proxypackagecode.PriceType != null) { WA.Standard.IF.Data.v2.Common.Common.PriceType pricetype = new WA.Standard.IF.Data.v2.Common.Common.PriceType(); pricetype.DiscountPrice = proxypackagecode.PriceType.DiscountPrice; pricetype.DiscountRate = proxypackagecode.PriceType.DiscountRate; pricetype.TotalPrice = proxypackagecode.PriceType.TotalPrice; pricetype.TotalPriceIncludeTax = proxypackagecode.PriceType.TotalPriceIncludeTax; pricetype.UnitPrice = proxypackagecode.PriceType.UnitPrice; packagecode.PriceType = pricetype; } #endregion if (proxypackagecode.OPCodes != null && proxypackagecode.OPCodes.Length > 0) { #region//PackageCodes OPCode packagecode.OPCodes = new List<WA.Standard.IF.Data.v2.Common.PackageCode.OPCode>(); foreach (WA.v2.WS_PackageCode.OPCode proxyopcode in proxypackagecode.OPCodes) { #region //PackageCodes OPCode Header WA.Standard.IF.Data.v2.Common.PackageCode.OPCode opcode = new WA.Standard.IF.Data.v2.Common.PackageCode.OPCode(); opcode.Code = proxyopcode.Code; opcode.CorrectionLOP = proxyopcode.CorrectionLOP; opcode.CPSIND = proxyopcode.CPSIND; opcode.DefLinePaymentMethod = proxyopcode.DefLinePaymentMethod; opcode.Description = proxyopcode.Description; opcode.DisplayOPCode = proxyopcode.DisplayOPCode; opcode.DisplayOPDescription = proxyopcode.DisplayOPDescription; opcode.Engine = proxyopcode.Engine; opcode.EstimatedHours = proxyopcode.EstimatedHours; opcode.HazardMaterialCharge = proxyopcode.HazardMaterialCharge; opcode.MandatoryYN = proxyopcode.MandatoryYN; opcode.Make = proxyopcode.Make; opcode.Mileage = proxyopcode.Mileage; opcode.Model = proxyopcode.Model; opcode.OPCodeType = Map.GetWACodeFromDMSCode(CodeType.OPCodeType, proxyopcode.OPCodeType); opcode.Quantity = proxyopcode.Quantity; opcode.Period = proxyopcode.Period; opcode.PredefinedCauseDescription = proxyopcode.PredefinedCauseDescription; opcode.SkillLevel = proxyopcode.SkillLevel; opcode.Year = proxyopcode.Year; #endregion #region //PackageCodes OPCode PriceType if (proxyopcode.PriceType != null) { WA.Standard.IF.Data.v2.Common.Common.PriceType pricetype = new WA.Standard.IF.Data.v2.Common.Common.PriceType(); pricetype.DiscountPrice = proxyopcode.PriceType.DiscountPrice; pricetype.DiscountRate = proxyopcode.PriceType.DiscountRate; pricetype.TotalPrice = proxyopcode.PriceType.TotalPrice; pricetype.TotalPriceIncludeTax = proxyopcode.PriceType.TotalPriceIncludeTax; pricetype.UnitPrice = proxyopcode.PriceType.UnitPrice; opcode.PriceType = pricetype; } #endregion #region //PackageCodes OPCode Parts if (proxyopcode.Parts != null && proxyopcode.Parts.Length > 0) { opcode.Parts = new List<WA.Standard.IF.Data.v2.Common.PackageCode.Part>(); foreach (WA.v2.WS_PackageCode.Part proxypart in proxyopcode.Parts) { #region //PackageCodes OPCode Part Header WA.Standard.IF.Data.v2.Common.PackageCode.Part part = new WA.Standard.IF.Data.v2.Common.PackageCode.Part(); part.DisplayPartNumber = proxypart.DisplayPartNumber; part.MandatoryYN = proxypart.MandatoryYN; part.PartDescription = proxypart.PartDescription; part.PartNumber = proxypart.PartNumber; part.PartType = Map.GetWACodeFromDMSCode(CodeType.PartType, proxypart.PartType); part.Quantity = proxypart.Quantity; //part.ServiceType = Map.GetWACodeFromDMSCode(CodeType.ServiceType, proxypart.ServiceType); part.StockQuantity = proxypart.StockQuantity; part.StockStatus = proxypart.StockStatus; part.UnitOfMeasure = proxypart.UnitOfMeasure; part.QuantityOnHand = proxypart.QuantityOnHand; #endregion #region //PackageCodes OPCode Part PriceType if (proxypart.PriceType != null) { WA.Standard.IF.Data.v2.Common.Common.PriceType pricetype = new WA.Standard.IF.Data.v2.Common.Common.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 opcode.Parts.Add(part); } } #endregion packagecode.OPCodes.Add(opcode); } #endregion } response.PackageCodes.Add(packagecode); } #endregion } else { response.ResultMessage = GetResultMessageData(WA.Standard.IF.Data.v2.Common.Common.ResponseCode.NoResult, WA.Standard.IF.Data.v2.Common.Common.ResponseMessage.NoResult); } #endregion } } #endregion return response; }