/// <summary> /// Get Payment Element Total Amounts for A and B payment /// </summary> /// <param name="payment"></param> /// <returns></returns> public static SalaryTotals GetPaymentABAmounts(XElement payment) { decimal Aplhroteo; decimal Bplhroteo; string alpha = "", bhta = ""; SalaryTotals totals = new SalaryTotals(); XElement amount1 = (from s in payment.Descendants(nsDefault + "netAmount1") select s).SingleOrDefault(); if (amount1 != null) { alpha = (string)amount1.Attribute("value").Value.ToString(); } XElement amount2 = (from s in payment.Descendants(nsDefault + "netAmount2") select s).SingleOrDefault(); if (amount2 != null) { bhta = (string)amount2.Attribute("value").Value.ToString(); } bool aOK = Decimal.TryParse(alpha, out Aplhroteo); bool bOK = Decimal.TryParse(bhta, out Bplhroteo); if (aOK && bOK) { totals.AtotalAmount = Aplhroteo; totals.BtotalAmount = Bplhroteo; } return(totals); }
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); } }