public async Task <IActionResult> SavePerform(MonthPerformViewModel model) { int?flag = null; try { var performs = await _performService.GetYearPerformsOfProject(model.Year, model.ProjectId); var p = performs.FirstOrDefault(p => p.Month == model.Month); if (p == null) { //create new p = new Perform { ProjectId = model.ProjectId, Year = model.Year, Month = model.Month, }; } p.Incoming = model.PerformData.Incoming; p.Settlement = model.PerformData.Settlement; p.Retrieve = model.PerformData.Retrievable; await _performService.SavePerform(p); flag = 0; } catch (Exception ex) { _logger.LogError(ex.Message); flag = 1; } return(RedirectToAction(nameof(Edit), new { projectId = model.ProjectId, year = model.Year, month = model.Month, flag = flag })); }
public async Task <IActionResult> Edit(int projectId, int year, int month, int?flag) { var project = await _projectService.RetriveProjectWithDetails(projectId, ProjectApiContent.RetrieveAll); if (project == null || project.ProjectId <= 0 || year < 2020 || month < 1 || month > 12) { return(NotFound()); } //上一年结转 var balance = BalanceViewModel.Create(project.AnnualBalance.Where(b => b.Year == year - 1)); //当年全部计划 var plans = project.Plan.Where(p => p.Year == year); var planId = plans.Where(p => p.Month == month).SingleOrDefault()?.Id; //当年全部月报 var performs = project.Perform.Where(p => p.Year == year); var performId = performs.Where(p => p.Month == month).SingleOrDefault()?.Id; var model = MonthPerformViewModel.Create(project, year, month, balance, plans, performs); model.Terms = project.Terms.OrderBy(p => p.TermsCategory).ThenBy(p => p.TargetDate).Select(p => (TermsViewModel)p); //当月全部计划任务 if (planId.HasValue) { model.PlanTerms = (await _planService.GetPlanTerms(planId.Value)) .Select(p => TaskViewModel.Create(p, project.Terms.SingleOrDefault(t => t.Id == p.TermsId))); } //当月全部完成任务 if (performId.HasValue) { model.PerformTerms = (await _performService.GetPerformTerms(performId.Value)) .Select(p => TaskViewModel.Create(p, project.Terms.SingleOrDefault(t => t.Id == p.TermsId))); } model.ClearZeroProperties(); if (flag == null) { ViewBag.Message = string.Empty; } else if (flag.Value == 0) { ViewBag.Message = "月报数据保存成功,请继续填写,或者点击‘返回’返回查看页面"; } else { ViewBag.Message = "保存月报数据数据出错,请记录现在的时间并联系管理员查看日志进行处理"; } return(View(model)); }
public async Task <IActionResult> DeletePerformItem(MonthPerformViewModel model) { if (model.EditingItemId == null) { return(StatusCode(500, "没有发送要删除的完成情况Id")); } await _performService.DeletePerformTerms(model.EditingItemId.Value); return(RedirectToAction(nameof(Edit), new { projectId = model.ProjectId, year = model.Year, month = model.Month })); }
public async Task <IActionResult> SavePerformItem(MonthPerformViewModel model) { if (ModelState.IsValid) { var performItem = new PerformTerms { PerformId = model.PerformId ?? 0, TermsId = model.SelectedTermsId.Value, Comments = model.EditingComments, }; if (model.EditingItemId.HasValue && model.EditingItemId.Value > 0) { performItem.Id = model.EditingItemId.Value; } await _performService.SavePerformTerms(performItem); return(RedirectToAction(nameof(Edit), new { projectId = model.ProjectId, year = model.Year, month = model.Month })); } return(StatusCode(500, ModelState)); }