Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        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);
            }
        }