static public Boolean SerializeToXML(gastosPersonales data, string ruta) { try { XmlSerializer serializer = new XmlSerializer(typeof(gastosPersonales)); TextWriter textWriter = new StreamWriter(@ruta); serializer.Serialize(textWriter, data); textWriter.Close(); return(true); } catch (Exception ex) { MessageBox.Show(ex.ToString()); return(false); } }
public Boolean GuardarXml() { try { int controlaRuta = 1; int secuencia = 0; string rut = ""; int error = 0;//lo uso para ver si encontro algun error al momento de comparacion del xsd y el xml Boolean retorna = true; gastosPersonales DataGastos = new gastosPersonales(); List <ro_empleado_gastos_perso_Info> EGPError = new List <ro_empleado_gastos_perso_Info>(); //pasa el archivo de la base de datos hacia una variable con el mismo tipo paraminfo = new List <ro_Config_Rubros_ParametrosGenerales_Info>(parambus.ObtenerParamGenerales()); foreach (var item2 in paraminfo) { if (item2.IdTipoParametro == "FILEXSD107") { XSD = item2.File; } } foreach (var item in xmlinfoGastosPersonales) { if (item.check == true) { //DataGastos = CargaDatos(); string ruta = ""; DataGastos = empBus.Get_GastosPersonales_x_Empleado(param.IdEmpresa, item.IdEmpleado, item.Anio_fiscal); string Nombre = "AGP" + item.Anio_fiscal + item.Num_Identificacion + ".xml"; saveFileDialog1 = new SaveFileDialog(); //saveFileDialog1.FileName = Nombre; saveFileDialog1.FileName = "Archivos"; saveFileDialog1.Filter = "Todos los archivos (*.xml)|*.xml"; saveFileDialog1.InitialDirectory = @direcDoc; //Obtener Ruta de Carpetas if (controlaRuta == 1) { if (saveFileDialog1.ShowDialog() == DialogResult.Cancel) { retorna = false; break; } System.IO.DirectoryInfo s = new DirectoryInfo(saveFileDialog1.FileName); rut = s.Parent.FullName; controlaRuta++; } ruta = rut + "\\" + Nombre; if (File.Exists(ruta)) { File.Delete(ruta); } if (SerializeToXML(DataGastos, ruta)) { ////progressBar1.Value = 100; if (XSD != null) { string msg = ""; if (XSD == null) { MessageBox.Show("No puede realizar la validacón del xml con el XSD, debido a que el archivo XSD no se ha ingresado.. \nIngréselos desde la pantalla de parámetros Cuentas por Pagar,o comuníquese con sistemas", "SISTEMA", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { if (!validaXmlConXsd(ruta, XSD, ref msg)) { secuencia++; ro_empleado_gastos_perso_Info infoError = new ro_empleado_gastos_perso_Info(); infoError.Secuencia = secuencia; infoError.RutaArchivo = ruta; infoError.Error = msg; EGPError.Add(infoError); error++; } //MessageBox.Show("Archivo AGP XML generado en la ruta:" + ruta + ", pero tiene los Siguientes errores:\n " + msg, "Errores en Validación con XSD", MessageBoxButtons.OK, MessageBoxIcon.Information); //else // MessageBox.Show("Archivo AGP XML generado correctamente en la ruta:" + ruta, "SISTEMA", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("Archivo AGP XML generado en la ruta:" + ruta + "\n No se realizo la validación XSD no ingresado", "SISTEMA", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { //progressBar1.Value = 0; MessageBox.Show("Ocurrio un inconveniente al guardar el archivo AGP XML", "SISTEMA", MessageBoxButtons.OK, MessageBoxIcon.Error); } //StreamReader sr = new StreamReader(saveFileDialog1.FileName, System.Text.Encoding.Default); //this.richTextBox1.Text = sr.ReadToEnd(); } } if (error >= 1) { MessageBox.Show("Se han detectado errores", "SISTEMA", MessageBoxButtons.OK, MessageBoxIcon.Error); frmRo_Empleado_Gastos_Personales_Cons_Xml errorForm = new frmRo_Empleado_Gastos_Personales_Cons_Xml(); errorForm.SETINFO_ = EGPError; errorForm.Show(); } //else //{ // MessageBox.Show("Archivos Almacenados Correctamente", "Operación Correcta"); //} return(retorna); } catch (Exception ex) { MessageBox.Show(ex.Message); Log_Error_bus.Log_Error(ex.Message); return(false); } }