public string Post([FromBody] List <JObject> value) { string result; try { //llama la estructura del conector DataSet structure = new DataSet(); SQLTransaction ejecutar = new SQLTransaction(); structure = ejecutar.GetStruct(); planeBuild = new PlaneBuilder(); if (value != null) { plane.Append(planeBuild.BuildInitial(structure, value[0])); //construye linea inicial for (int j = 0; j < value.Count; j++) //recorre la lista de registros a enviar { string ConectorType = (string)value[j]["Conector"]; //extrae el nombre del conector JObject json = value[j]; //extrae json del conector a enviar plane.Append(planeBuild.BuildMasters(structure, json, ref consectLine)); //construye encabezados o maestros string Pano = plane.ToString(); plane.Append(planeBuild.BuildDetails(structure, json, ref consectLine)); //construye movimientos } plane.Append(planeBuild.BuildFinal(structure, value[0], ref consectLine));//construye linea final string Plano = plane.ToString(); String PlanoSinEtiquetas = Plano.Replace("<Linea>", "").Replace("</Linea>", ""); string cia = PlanoSinEtiquetas.Substring(17, 1); //var SavePlane = new StreamWriter($@"C:\inetpub\wwwroot\SKYApi\planos\Pedido{DateTime.Now.ToString("ddMMyyyy")}.txt"); //SavePlane.WriteLine(PlanoSinEtiquetas); //SavePlane.Close(); result = planeBuild.SendInformationWS(Plano, cia); return(result); } return("No se envio ningun Body.."); } catch (Exception e) { return(e.Message); } }
private void Form1_Load(object sender, EventArgs e) { SQLTransaction ejecutar = new SQLTransaction(); DataSet structure = new DataSet(); PlaneBuilder planeBuild = new PlaneBuilder(); string filePath = @"C:\Interfaz_tu_compra\Excel_de_carque";//RUTA DONDE VA A LEER EXCEL try { //MessageBox.Show("inicio proceso"); DirectoryInfo di = new DirectoryInfo(filePath); foreach (var fi in di.GetFiles("*.xlsx")) { //MessageBox.Show("leyo archivo"); var file = filePath + @"\" + fi.Name; SLDocument s1 = new SLDocument(file); int idRow = 2; List <DoctoContable> jsonExcel = new List <DoctoContable>(); while (!string.IsNullOrEmpty(s1.GetCellValueAsString(idRow, 1)))//RECORRE EL EXCEL LEIDO { DoctoContable reg = new DoctoContable(); var cuenta = s1.GetCellValueAsString(idRow, 1);//VALIDA PARA QUE CUENTA SE VA A IR if (cuenta == "11100503") { reg.F351_ID_AUXILIAR = "11100503"; reg.F351_ID_FE = "110201"; reg.F351_ID_TERCERO = ""; reg.F351_DOCTO_BANCO = "CG"; reg.F351_NRO_DOCTO_BANCO = s1.GetCellValueAsDateTime(idRow, 3).ToString("yyyyMMdd"); } else if (cuenta == "53051502") { reg.F351_ID_AUXILIAR = "53051502"; reg.F351_ID_FE = ""; reg.F351_ID_TERCERO = "890300279"; reg.F351_DOCTO_BANCO = ""; reg.F351_NRO_DOCTO_BANCO = "0"; } else { reg.F351_ID_AUXILIAR = "28050502"; reg.F351_ID_FE = ""; reg.F351_ID_TERCERO = "890300279"; reg.F351_DOCTO_BANCO = ""; reg.F351_NRO_DOCTO_BANCO = "0"; } reg.F351_NOTAS = "SE RECLASIFICAN PAGOS TU COMPRA DEL DIA " + DateTime.Now.ToString("yyyyMMdd"); var tipo = s1.GetCellValueAsString(idRow, 4);//VALIDA SI ES DEBITO O CREDITO if (tipo == "DB") { reg.F351_VALOR_DB = s1.GetCellValueAsString(idRow, 2); } else { reg.F351_VALOR_CR = s1.GetCellValueAsString(idRow, 2); } jsonExcel.Add(reg); idRow++; } string fecha = DateTime.Now.ToString("yyyyMMdd"); fecha = @"""" + fecha + @""""; //COMILLA DOBLE EN FECHA string jsonDocto = JsonConvert.SerializeObject(jsonExcel); //CONVERSION OBJETO EN JSON jsonDocto = @"{ ""Conector"": ""Docto_Contable"",""F350_FECHA"":" + fecha //ADICION DE ENCABEZADO EN JSON DE DOCTO CONTABLE + @",""F350_NOTAS"": ""SE RECLASIFICAN PAGOS TU COMPRA DEL DIA " + DateTime.Now.ToString("yyyyMMdd") + @" "",""Movto_Contable"":" + jsonDocto + "}"; structure = ejecutar.GetStruct();//CONSULTA LA ESTRUCTURA StringBuilder plane = new StringBuilder(); int consectLine = 1; JObject jsonValue = JObject.Parse(jsonDocto); List <JObject> value = new List <JObject>(); value.Add(jsonValue); //MessageBox.Show("armo json"); if (value != null) //ARMA EL PLANO CON BASE EN EL JSON Y LA ESTRUCTURA { plane.Append(planeBuild.BuildInitial(structure, value[0])); //construye linea inicial for (int j = 0; j < value.Count; j++) //recorre la lista de registros a enviar { string ConectorType = (string)value[j]["Conector"]; //extrae el nombre del conector JObject json = value[j]; //extrae json del conector a enviar plane.Append(planeBuild.BuildMasters(structure, json, ref consectLine)); //construye encabezados o maestros string Pano = plane.ToString(); plane.Append(planeBuild.BuildDetails(structure, json, ref consectLine)); //construye movimientos } plane.Append(planeBuild.BuildFinal(structure, value[0], ref consectLine));//construye linea final //MessageBox.Show("armo plano"); string Plano = plane.ToString(); var SavePlane = new StreamWriter($@"C:\Interfaz_tu_compra\Txt_unoee\{fi.Name}.txt"); SavePlane.WriteLine(Plano); SavePlane.Close(); //MessageBox.Show("guardo plano"); fi.MoveTo($@"C:\Interfaz_tu_compra\Excel_de_carque\procesados\{fi.Name}"); //MessageBox.Show("movio plano"); } } } catch (Exception ex) { MessageBox.Show(ex.Message); throw ex; } finally { Application.Exit(); } }