public async Task <IActionResult> AddNewCollection(CollectionModel collectionModel) { List <CollectionModel> collection = await _collectionRepository.GetAllCollection(collectionModel.ProjectsID); var contractValue = _context.PreSalesProjects.Single(b => b.ID == collectionModel.ProjectsID).value; ViewBag.isExeed = false; double curentCollectionBudget = 0; if (collection != null) { foreach (CollectionModel item in collection) { curentCollectionBudget = curentCollectionBudget + item.value; } if (curentCollectionBudget + collectionModel.value > contractValue) { var data = await _collectionRepository.GetAllCollection(collectionModel.ProjectsID); ViewData["collection"] = data; ViewBag.projects = new SelectList(await _projectRepository.GetProjects(), "ID", "Title"); return(RedirectToAction(nameof(AddNewCollection), new { isSuccess = true, projectId = collectionModel.ProjectsID, isExeed = true, remainedBudget = contractValue - curentCollectionBudget })); } } if (ModelState.IsValid) { int id = await _collectionRepository.AddNewCollection(collectionModel); if (id > 0) { return(RedirectToAction(nameof(AddNewCollection), new { isSuccess = true, projectId = collectionModel.ProjectsID })); } } ViewBag.projects = new SelectList(await _projectRepository.GetProjects(), "ID", "Title"); //ViewData["collection"] = new CollectionModel() { ProjectsID = collectionModel.ProjectsID }; var data1 = await _collectionRepository.GetAllCollection(collectionModel.ProjectsID); ViewData["collection"] = data1; return(View()); }