public static bool validarDevolucion(string url, DevolucionBean devolucion) { var exists = false; try { IRestResponse response = makeRequest(url, Method.GET); if (response.StatusCode == System.Net.HttpStatusCode.OK) { if (response.Content.Contains(Constant.STATUS_SUCCESS)) { JObject objResponse = JObject.Parse(response.Content.ToString()); int objCount = (int)objResponse["ResponseCount"]; if (objCount == 1) { exists = true; string docEntry = objResponse["Response"]["message"]["value"].ToString(); actualizarPropiedades(devolucion.ClaveMovil, MainProcess.mConn.urlPatchDevolucion + "?empId=" + devolucion.EMPRESA + "&rtId=" + devolucion.ClaveMovil, "{\"MIGRADO\":\"Y\", \"DOCENTRY\": \"" + docEntry + "\", \"MENSAJE\":\"" + ("Documento creado") + "\"}"); } else if (objCount > 1) { exists = true; MainProcess.log.Error("DevolucionDAO > validarDevolucion() > Document " + devolucion.ClaveMovil + " > El documento ya fue creado en SAP"); } } } } catch (Exception ex) { exists = true; MainProcess.log.Error("DevolucionDAO > validarDevolucion() > " + ex.Message); } return(exists); }
public static int registrarDevolucion(string sessionId, string routeId, string urlSL, DevolucionBean devolucion) { int res = -1; try { var document = transformOrdn(devolucion); if (document != null) { File.WriteAllText(Util.castURL(MainProcess.mConn.pathJSONLog, "\\") + "DEVOLUCION_" + devolucion.ClaveMovil + ".json", SimpleJson.SerializeObject(document)); IRestResponse response = makeRequest(Util.castURL(urlSL, "/") + Constant.RETURNS, Method.POST, sessionId, routeId, document); if (response.StatusCode == System.Net.HttpStatusCode.Created) { JObject jObject = JObject.Parse(response.Content.ToString()); res = int.Parse(jObject["DocEntry"].ToString().Trim()); } else { res = -1; MainProcess.log.Error("DevolucionDAO > registrarDevolucion() > Document Return " + devolucion.ClaveMovil + " > " + response.Content); actualizarPropiedades(devolucion.ClaveMovil, MainProcess.mConn.urlPatchDevolucion + "?empId=" + devolucion.EMPRESA + "&rtId=" + devolucion.ClaveMovil, "{\"MIGRADO\":\"N\", \"MENSAJE\": \"" + Util.replaceEscChar(response.Content) + "\"}"); } } } catch (Exception ex) { res = -1; MainProcess.log.Error("DevolucionDAO > registrarDevolucion() > " + ex.Message); } return(res); }
public static ReturnBean transformOrdn(DevolucionBean ordn) { try { var oReturn = new ReturnBean(); oReturn.CardCode = ordn.SocioNegocio; oReturn.DocDate = DateTime.ParseExact(ordn.FechaContable, "yyyyMMdd", CultureInfo.InvariantCulture); oReturn.DocDueDate = DateTime.ParseExact(ordn.FechaVencimiento, "yyyyMMdd", CultureInfo.InvariantCulture); oReturn.TaxDate = oReturn.DocDate; oReturn.DocCurrency = ordn.Moneda; oReturn.SalesPersonCode = int.Parse(ordn.EmpleadoVenta); oReturn.PayToCode = ordn.DireccionFiscal; oReturn.ShipToCode = ordn.DireccionEntrega; oReturn.PaymentGroupCode = int.Parse(ordn.CondicionPago); oReturn.Indicator = ordn.Indicador; oReturn.Comments = ordn.Comentario; oReturn.U_MSSM_CRM = "Y"; oReturn.U_MSSM_CLM = ordn.ClaveMovil; var detalle = new List <ReturnLineBean>(); foreach (var l in ordn.Lineas) { List <BatchNumberBean> lotes = new List <BatchNumberBean>(); if (l.Lotes != null) { foreach (var lot in l.Lotes) { BatchNumberBean batchNumber = new BatchNumberBean(); batchNumber.BaseLineNumber = lot.LineaBase; batchNumber.Quantity = lot.Cantidad; batchNumber.BatchNumber = lot.Lote; lotes.Add(batchNumber); } } detalle.Add(new ReturnLineBean() { LineNum = l.Linea, ItemCode = l.Articulo, WarehouseCode = l.Almacen, Quantity = int.Parse(l.Cantidad, NumberStyles.AllowDecimalPoint), UnitPrice = double.Parse(l.PrecioUnitario), DiscountPercent = double.Parse(l.PorcentajeDescuento), TaxCode = l.Impuesto, BaseLine = int.Parse(l.LineaBase), BaseEntry = int.Parse(ordn.ClaveBase), BatchNumbers = lotes }); } oReturn.DocumentLines = detalle; return(oReturn); } catch (Exception ex) { MainProcess.log.Error("DevolucionDAO > transformOrdn() > " + ex.Message); return(null); } }