Note that there are some explanatory texts on larger screens.

plurals
  1. POInsert List into XML File
    primarykey
    data
    text
    <p><strong>I created an xml file as shown below as well as I have a list of elements that i got using linq query.</strong></p> <pre><code> public bool createXMLFile() { bool myval; try { var xEle = new XElement("Plist"); string path1 = AppDomain.CurrentDomain.GetData("DataDirectory").ToString(); string un = "\\" + GlobalClass.GlobalVar + "empFinance.xml"; GlobalClass.GlobalUrl = path1 + un; xEle.Save(GlobalClass.GlobalUrl); Debug.WriteLine("*************************************************************************"); Debug.WriteLine("Success! Converted to XML " + GlobalClass.GlobalUrl); myval = true; } catch (Exception ex) { Debug.WriteLine("**********************************************************************"); Debug.WriteLine("EmployeeForEmpFinance exception" + ex.Message); myval = false; } return myval; } </code></pre> <hr> <pre><code>public void BeginPayrollRunProcess(List&lt;EmployeeEmploy&gt; PrepList) { Debug.WriteLine("EmployeeFinance"); Debug.WriteLine("*****************************************************************"); var finalList = new List&lt;EmployeeEmploy&gt;(); var context = new SSPModel.sspEntities(); foreach (var xEle in PrepList) { var query = from c in context.Employee_Employ join d in context.Employee_Financial on c.Employee_Personal_InfoEmp_id equals d.Employee_Personal_InfoEmp_id where d.Employee_Personal_InfoEmp_id == xEle.Employee_Personal_InfoEmp_id //&amp;&amp; d.Approved_on != null select new EmployeeFinance { Base_Pay = d.Base_Pay, Housing_Allowance = d.Housing_Allowance, Base_Pay_Currency = d.Base_Pay_Currency, Employee_Personal_InfoEmp_id = d.Employee_Personal_InfoEmp_id }; var empfinance = query.SingleOrDefault(); if (query.Count() == 1) { xEle.Housing_Allowance = empfinance.Housing_Allowance.GetValueOrDefault(); xEle.Base_Pay = empfinance.Base_Pay; xEle.Base_Pay_Currency = empfinance.Base_Pay_Currency; xEle.Gross_Pay = xEle.Housing_Allowance.GetValueOrDefault() + xEle.Base_Pay; // suppose to get gross pay up to this point finalList.Add(xEle); } } Misc_Classes.XMLCreator wer = new Misc_Classes.XMLCreator(); bool myVal = wer.createXMLFile(); if (myVal == true) { insertInitialList(finalList); // method call to insert list into xml file. } else { Security.ErrorControl aa = new Security.ErrorControl(); aa.displayErrorMsg = " Creating XML"; aa.endRequest(HttpContext.Current, 2); Security.ErrorControl.CaptureErrorMessage(0, 0, "my val return false", "BeginPayrollRunProcess", GlobalClass.GlobalVar); return; } } </code></pre> <p>--</p> <pre><code>public void insertInitialList(List&lt;EmployeeEmploy&gt; finalList) { XDocument doc = XDocument.Load(GlobalClass.GlobalUrl); XElement xelement = XElement.Load(GlobalClass.GlobalUrl); try { var result = from element in doc.Descendants("Plist") select element; foreach (var ele in result) { ele.Element("Plist").Add(from emp in finalList select new XElement("EmployeeFinance", new XElement("EmployeeEmploy_Id", emp.ID), new XElement("EmpPersonal_Id", emp.Employee_Personal_InfoEmp_id), new XElement("Employee_Number", emp.Employee_No), new XElement("Gross_Pay", emp.Gross_Pay), new XElement("Grade_Id", emp.Grade_Id), new XElement("Position_Id", emp.Substantive_designation), new XElement("Basic_Pay", 0), new XElement("Housing", emp.Housing_Allowance.GetValueOrDefault()), new XElement("Base_Pay", emp.Base_Pay), new XElement("PAYE", 0), new XElement("NetPay", 0), new XElement("Sum_AllGrade", 0), new XElement("Sum_AllPosition", 0), new XElement("Allowance-Grade"), new XElement("TotalTaxableAllowance-Grade", 0), new XElement("TotalNonTaxableAllowance-Grade", 0), new XElement("Allowance-Position", 0), new XElement("TotalTaxableAllowance-Position", 0), new XElement("TotalNonTaxableAllowance-Position", 0), new XElement("TotalNonTaxableAllowance"), new XElement("TotalTaxableAllowance"), new XElement("Add_Earnings_NonTaxableTotal", 0), new XElement("Add_Earnings_NonTaxable"), new XElement("Add_Earnings_TaxableTotal", 0), new XElement("Add_Earnings_Taxable"), new XElement("Benefits_TaxableTotal", 0), new XElement("Benefits_Taxable"), new XElement("Benefits_NonTaxableTotal", 0), new XElement("Benefits_NonTaxable"), new XElement("NIS_Gross", 0), new XElement("CHMS"), new XElement("CHMSTotal"), new XElement("PensionEmp", 0), new XElement("PensionEmpr", 0), new XElement("NISEmp", 0), new XElement("NISEmpr", 0), new XElement("TotalNonStatDedct", 0), new XElement("NonStatDedct"), new XElement("TotalDeduction", 0), new XElement("TotalTaxableEarnings", 0), new XElement("TotalNonTaxableEarnings", 0), new XElement("No_DaysWorked", emp.NoDaysWorked), new XElement("Payperiod_EndDate", emp.endDate.ToShortDateString()), new XElement("Exchange_Rate", emp.Exchange_rate), new XElement("Currency", emp.Base_Pay_Currency), new XElement("Date_Appointment", emp.Date_of_Appointment.GetValueOrDefault().ToShortDateString()), new XElement("Date_Employment", emp.Date_of_Employment.ToShortDateString()), new XElement("Date_Termination", emp.Termination_date_actual.GetValueOrDefault().ToShortDateString()), new XElement("Payperiod_StartDate", emp.startDate.ToShortDateString()), new XElement("BatchNumber", emp.BatchNumber), new XElement("PAYE_ToDate_Computed", 0), new XElement("Income_Tax_RateID", 0), new XElement("NIS_RateID", 0), new XElement("NIS_weeks_worked", 0) )); doc.Save(GlobalClass.GlobalUrl); } } catch (Exception e){ Debug.WriteLine("********************************************************"); Debug.WriteLine("EmployeeForEmpFinance exception" + e.Message); } } </code></pre> <p>In this last method i am trying to iterate thought my list (finallist) and insert it into my xml file. I am getting an error saying that i need to instantiate the object. I know i am doing something wrong with my method that i am using to insert the list into the xml file. Some ideas are welcome. thank you</p> <p>**EDITED</p> <hr> <p>in a shorten version of the problem above .. i figure it out and list the code below. thank you**</p> <pre><code>public void insertInitialList(List&lt;EmployeeEmploy&gt; finalList) { Debug.WriteLine("insertInitialList" + finalList.Count()); XDocument doc = XDocument.Load(GlobalClass.GlobalUrl); var result = from element in doc.Descendants("Plist") select element; foreach (var ele in result) { ele.Add(from a in finalList select new XElement("EmployeeFinance", new XElement("EmployeeEmploy_Id"), new XElement("EmpPersonal_Id"), new XElement("Employee_Number"))); doc.Save(GlobalClass.GlobalUrl); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload