/// <summary> /// Επιστρέφει τα προσωπικά στοιχεία του υπαλλήλου από το Identity XElement /// </summary> /// <param name="employeeIdentity"></param> /// <returns>ενα SalaryEmployeeInfo αντικείμενο</returns> public static SalaryEmployeeInfo GetEmployeeInfoFromElement(XElement employeeIdentity) { SalaryEmployeeInfo info = new SalaryEmployeeInfo(); if (employeeIdentity != null) { info.Afm = (string)employeeIdentity.Element(nsDefault + "tin").Value.ToString(); info.Amka = (string)employeeIdentity.Element(nsDefault + "amka").Value.ToString(); info.FirstName = (string)employeeIdentity.Element(nsDefault + "firstName").Value.ToString(); info.LastName = (string)employeeIdentity.Element(nsDefault + "lastName").Value.ToString(); info.Am = (string)employeeIdentity.Element(nsDefault + "amm").Value.ToString(); info.ArTaut = (string)employeeIdentity.Element(nsDefault + "policeId").Value.ToString(); info.IsNewInsured = (employeeIdentity.Element(nsDefault + "newInsured") == null ? false : true); } return(info); }
public static SalaryDetailsViewModel GetSalaryDetailsViewModel(XDocument xml, string tin) { SalaryDetailsViewModel model; // Διαβάζουμε για τον υπαλληλο το Indentification XElement και το αντίστοιχο SalaryEmployeeInfo instance XElement identification = EapXMLTool.GetEmployeeIdentification(xml, tin); if (identification != null) { SalaryEmployeeInfo employee = EapXMLTool.GetEmployeeInfoFromElement(identification); // Διαβάζουμε το payment parent XElement του Identification XElement payment = EapXMLTool.GetEmployeePaymentParent(identification); // και παίρνουμε όλα τα incomes του υπαλληλου IEnumerable <XElement> incomes = EapXMLTool.GetPaymentIncomes(payment); // κρατάμε τα incomes τακτικής μισθοδοσίας και αναδρομικών IEnumerable <XElement> incomesTaktikhs = EapXMLTool.GetPaymentIncomesOfType(incomes, 0); IEnumerable <XElement> incomesAnadromikwn = EapXMLTool.GetPaymentIncomesOfType(incomes, 1); IEnumerable <XElement> incomesTrimhnes = EapXMLTool.GetPaymentIncomesOfType(incomes, 2); IEnumerable <XElement> incomesEkpApodoxwn = EapXMLTool.GetPaymentIncomesOfType(incomes, 3); IEnumerable <XElement> incomesApozhmiwsh = EapXMLTool.GetPaymentIncomesOfType(incomes, 4); IEnumerable <XElement> incomesApozhmiwshAdeias = EapXMLTool.GetPaymentIncomesOfType(incomes, 5); IEnumerable <XElement> incomesEteroxronismenh = EapXMLTool.GetPaymentIncomesOfType(incomes, 6); SalaryEmployeeDetails detailsTaktikwn = EapXMLTool.GetPaymentTaktikisAmounts(incomesTaktikhs.ToList(), 0); SalaryEmployeeDetails detailsAnadromikwn = EapXMLTool.GetPaymentTaktikisAmounts(incomesAnadromikwn.ToList(), 1); SalaryEmployeeDetails detailsTrimhnesApodoxes = EapXMLTool.GetPaymentTaktikisAmounts(incomesTrimhnes.ToList(), 2); SalaryEmployeeDetails detailsEkpaidApodoxes = EapXMLTool.GetPaymentTaktikisAmounts(incomesEkpApodoxwn.ToList(), 3); SalaryEmployeeDetails detailsApozhmiwsh = EapXMLTool.GetPaymentTaktikisAmounts(incomesApozhmiwsh.ToList(), 4); SalaryEmployeeDetails detailsApozhmiwshAdeias = EapXMLTool.GetPaymentTaktikisAmounts(incomesApozhmiwshAdeias.ToList(), 5); SalaryEmployeeDetails detailsEteroxronismenh = EapXMLTool.GetPaymentTaktikisAmounts(incomesEteroxronismenh.ToList(), 6); SalaryTotals ABamounts = EapXMLTool.GetPaymentABAmounts(payment); model = new SalaryDetailsViewModel(); model.SalaryEmployee = employee; model.SalaryTotalAmounts = ABamounts; model.SalaryDetalis = new List <SalaryEmployeeDetails>(); if (detailsTaktikwn != null) { model.SalaryDetalis.Add(detailsTaktikwn); } if (detailsAnadromikwn != null) { model.SalaryDetalis.Add(detailsAnadromikwn); } if (detailsTrimhnesApodoxes != null) { model.SalaryDetalis.Add(detailsTrimhnesApodoxes); } if (detailsEkpaidApodoxes != null) { model.SalaryDetalis.Add(detailsEkpaidApodoxes); } if (detailsApozhmiwsh != null) { model.SalaryDetalis.Add(detailsApozhmiwsh); } if (detailsApozhmiwshAdeias != null) { model.SalaryDetalis.Add(detailsApozhmiwshAdeias); } if (detailsEteroxronismenh != null) { model.SalaryDetalis.Add(detailsEteroxronismenh); } return(model); } else { return(null); } }