public ActionResult FeedBack(FolderUserAnswer Answer)
        {
            Folder Folder = reposetory.GetFolder(Answer.FolderID);
            Folder.Teams = Folder.Teams.OrderBy(T => T.Start).ToList();
            Person Person = reposetory.GetPersonComplete(Answer.PersonID);
            if (Folder == null | Person == null) return HttpNotFound();

            //Check if person has membership with the association
            if (Person.Memberships.Where(m => m.Association.AssociationID == Folder.Association.AssociationID && !m.Absent && m.Type == PersonType.Active).Count() < 1) return HttpNotFound();

            FolderUserAnswer dbAnswer = reposetory.GetFolderUserAnswer(Person.PersonID, Folder.FolderID);

            if (ModelState.IsValid)
            {
                if (dbAnswer == null)
                {
                    dbAnswer = new FolderUserAnswer
                    {
                        //Folder = Folder,
                        FolderID = Folder.FolderID,
                        Answers = new List<TeamUserAnswer>(),
                        //Person = Person,
                        PersonID = Person.PersonID
                    };
                }

                dbAnswer.Pass = Answer.Pass == null ? false : Answer.Pass;
                dbAnswer.MaxTeams = Answer.MaxTeams;
                if (Answer.Answers != null && Answer.Answers.Any())
                { 
                foreach (TeamUserAnswer T in Answer.Answers)
                {
                    TeamUserAnswer dbT = T.AnswerID == Guid.Empty ? null : dbAnswer.Answers.Where(A => A.AnswerID == T.AnswerID).FirstOrDefault();
                    if (dbT == null)
                    {
                        dbAnswer.Answers.Add(new TeamUserAnswer
                        {
                            OK = T.OK,
                            //PersonID = Person.PersonID,
                            TeamID = T.TeamID
                            //,
                            //FolderUserAnswer = dbAnswer
                        });
                    }
                    else
                    {
                        dbT.OK = T.OK;
                    }
                }
                }
                else
                { 
                }
                if (reposetory.SaveFolderUserAnswer(dbAnswer))
                {
                    ViewBag.FormSucces = true;
                    Notification not = reposetory.Notify(Folder, String.Format(Notifications.FolderFedbackCompleated, Person.FullName, Folder.FoldereName));
                    reposetory.NotifyAddPlanner(not, Folder.Association.AssociationID);
                    reposetory.NotifySave(not);
                }
                Answer = dbAnswer;

            }



            Answer.Folder = Folder;
            Answer.Person = Person;
            foreach (Team T in Folder.Teams)
            {
                TeamUserAnswer TA = Answer.Answers.Where(a => a.TeamID == T.TeamID).FirstOrDefault();

                if (TA == null)
                {
                    Answer.Answers.Add(new TeamUserAnswer
                    {
                        OK = true,
                        Team = T,
                        TeamID = T.TeamID
                    });
                }
                else
                {
                    TA.Team = T;
                    TA.TeamID = T.TeamID;
                }
            }

            if (WebSecurity.IsAuthenticated) ViewBag.IsAuthenticated = true;

            return View(Answer);
        }
        public ActionResult FeedBack(Guid? P, Guid? F)
        {
            if (WebSecurity.IsAuthenticated) ViewBag.IsAuthenticated = true;
            if (P == null || (Guid)P == Guid.Empty) return View("FeedbackWrong");
            if (F == null || (Guid)F == Guid.Empty) return View("FeedbackWrong");

            Folder Folder = reposetory.GetFolder((Guid)F);
            Folder.Teams = Folder.Teams.OrderBy(T => T.Start).ToList();
            Person Person = reposetory.GetPersonComplete((Guid)P);
            //Association Association = Folder.Association;
            if (Folder == null | Person == null) return View("FeedbackWrong");

            //Check if person has membership with the association
            if (Person.Memberships.Where(m => m.Association.AssociationID == Folder.Association.AssociationID && !m.Absent && m.Type == PersonType.Active).Count() < 1) return HttpNotFound();

            FolderUserAnswer Answer = reposetory.GetFolderUserAnswer((Guid)P, (Guid)F);

            if (Answer == null)
            {

                Answer = new FolderUserAnswer
                {
                    Folder = Folder,
                    FolderID = Folder.FolderID,
                    Answers = new List<TeamUserAnswer>(),
                    Person = Person,
                    PersonID = Person.PersonID,
                    Pass = false

                };
            }

            foreach (Team T in Folder.Teams)
            {
                TeamUserAnswer TA = Answer.Answers.Where(a => a.TeamID == T.TeamID).FirstOrDefault();

                if (TA == null)
                {
                    Answer.Answers.Add(new TeamUserAnswer
                        {
                            OK = true,
                            Team = T,
                            TeamID = T.TeamID
                        });
                }
                else
                {
                    TA.Team = T;
                    TA.TeamID = T.TeamID;
                }
            }

            if (WebSecurity.IsAuthenticated) ViewBag.IsAuthenticated = true;

            return View(Answer);
        }