private string GetRequestXML(EntitySAPOrdenVentaRequest data) { string WSOrdenVentaRequest = System.IO.File.ReadAllText(System.IO.Path.Combine(PATH_XML, "WSOrdenVentaRequest.xml")); string WSOrdenVentaItemRequest = System.IO.File.ReadAllText(System.IO.Path.Combine(PATH_XML, "WSOrdenVentaItemRequest.xml")); string WSOrdenVentaItemRequestComplete = ""; Type type = typeof(EntitySAPOrdenVentaRequestItem); foreach (var item in data.Items) { string Temp = WSOrdenVentaItemRequest; foreach (System.Reflection.PropertyInfo propertyInfo in type.GetProperties()) { Temp = Temp.Replace((propertyInfo.Name.ToUpper() + "_VALUE"), propertyInfo.GetValue(item).ToString()); if (propertyInfo.Name == "ClaseCondicion") { string ClaseCondicion = ""; if (item.ClaseCondicion.Count > 0) { foreach (var itemCC in item.ClaseCondicion) { ClaseCondicion += "<ClaseCondicion>" + "<Clase>" + itemCC.Clase + "</Clase>" + "<Valor>" + itemCC.Valor + "</Valor>" + "</ClaseCondicion>"; } } else { ClaseCondicion += "<ClaseCondicion>" + "<Clase></Clase>" + "<Valor></Valor>" + "</ClaseCondicion>"; } Temp = Temp.Replace("ITEMS_CC_VALUE", ClaseCondicion); } } WSOrdenVentaItemRequestComplete += Temp + Environment.NewLine; } WSOrdenVentaRequest = WSOrdenVentaRequest.Replace("DESTINO_VALUE", data.Destino); WSOrdenVentaRequest = WSOrdenVentaRequest.Replace("SATELITE_VALUE", data.Satelite); WSOrdenVentaRequest = WSOrdenVentaRequest.Replace("ITEMS_VALUE", WSOrdenVentaItemRequestComplete); return(WSOrdenVentaRequest); }
public EntitySAPOrdenVentaResult Send(EntitySAPOrdenVentaRequest data) { string Body = GetRequestXML(data); string msg = "------- BussinesWSOrdenVenta Send Request Inicio -----" + Environment.NewLine; msg += Body; msg += "------- BussinesWSOrdenVenta Send Request Fin -----" + Environment.NewLine; new Security.BusinessLogger().WriteEntry(msg); var result = new ToolConsumingWS().CallWS(URL, ACTION, USER, PASSWORD, Body); msg = "------- BussinesWSOrdenVenta Send Response Inicio -----" + Environment.NewLine; msg += result; msg += "------- BussinesWSOrdenVenta Send Response Fin -----" + Environment.NewLine; new Security.BusinessLogger().WriteEntry(msg); return(GetResult(result)); }