Esempio n. 1
0
        public void TransferFromAdvanceToEr(int id)
        {
            List <ExpenseReport> advances      = GetAdvances();
            ExpenseReport        expenseReport = GetExpenseReport(id);

            foreach (ExpenseReport er in advances)
            {
                if (er.Collaborator == expenseReport.Collaborator)
                {
                    foreach (ExpenseLine el in er.ExpenseLines.ToList())
                    {
                        if (el.Validated /*&& el.Mission.Status == MissionStatus.COMPLETED*/)                         //To check
                        {
                            expenseReport.Collaborator.AdvanceCost += el.Cost;
                            expenseReport.AddLine(el);
                            er.RemoveLine(el);
                        }
                    }

                    if (er.ExpenseLines.Count == 0)
                    {
                        Db.ExpenseReports.Remove(er);
                        Db.SaveChanges();
                    }
                }
            }
        }