public ActionResult Verify(int id, bool is_passed, string reject_reason, int page_number = 1, string search = "", string search_option = "Title", string order = "Title",
            string pass_filter = "")
        {
            Event e = db.Events.Include(t => t.FundApplication).Include(t => t.SubEvents.Select(s => s.LocationApplications)).
                Include(t => t.SubEvents.Select(s => s.AssetApplications)).ToList().SingleOrDefault(t => t.Id == id && t.Status == Application.NOT_VERIFIED);

            if (e != null)
            {
                LocationHelpers loc_hlp = new LocationHelpers(db);
                AssetHelpers ass_hlp = new AssetHelpers(db);

                foreach (SubEvent sub_event in e.SubEvents)
                {
                    foreach (LocationApplication loc_app in sub_event.LocationApplications)
                    {
                        loc_hlp.VerifyLocationApplication(loc_app, is_passed, false);
                    }

                    foreach (AssetApplication ass_app in sub_event.AssetApplications)
                    {
                        ass_hlp.VerifyAssetApplication(ass_app, is_passed, false);
                    }

                    e.Status = is_passed ? Application.PASSED : Application.FAILED;

                    if (e.FundApplication != null)
                    {
                        e.FundApplication.Status = is_passed ? Application.PASSED : Application.FAILED;
                    }

                    if (!is_passed)
                    {
                        e.RejectReason = new EventRejectReason
                        {
                            Reason = reject_reason
                        };
                    }
                }

                db.SaveChanges();

                return RedirectToAction("Applications", new
                {
                    page_number = page_number,
                    order = order,
                    pass_filter = pass_filter,
                    search = search,
                    search_option = search_option
                });
            }

            return View("InvalidOperationError");
        }
        public ActionResult Verify(int id, bool is_passed, string reject_reason)
        {
            LocationHelpers helper = new LocationHelpers(unitOfWork);
            LocationApplication application = unitOfWork.LocationApplications.Find(id);

            if (application != null)
            {
                helper.VerifyLocationApplication(application, is_passed, false);

                if (!is_passed)
                {
                    application.RejectReason = new ApplicationRejectReason
                    {
                        Reason = reject_reason
                    };
                }

                unitOfWork.SaveChanges();

                return RedirectToAction("List");
            }

            return View("InvalidOperationError");
        }