public async Task SaveStageAnalysis(string pipe, Int32 wid) { var model = new List <StagesAnalysis>(); var allStages = await GetAllStages(pipe, wid); foreach (var item in allStages) { var deals = await GetDealsInStage(item.HsStageId, wid); var totalDeals = deals.Count(); long suma = deals.Sum(x => long.Parse(x.Amount)); var average = 0.0; if (totalDeals != 0 && suma != 0) { average = suma / totalDeals; } else { average = 0; } var newStageAnalysis = new StagesAnalysis { DealsNumber = totalDeals, StageValue = suma, DealAverage = average, Stagename = item.StageName, PipelineId = pipe, WorkOrderId = wid }; model.Add(newStageAnalysis); } await _context.StagesAnalysis.AddRangeAsync(model); await _context.SaveChangesAsync(); }
public async Task <IActionResult> Edit(int id, [Bind("StagesAnalysisId,Stagename,DealsNumber,DealAverage,StageValue")] StagesAnalysis stagesAnalysis) { if (id != stagesAnalysis.StagesAnalysisId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(stagesAnalysis); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!StagesAnalysisExists(stagesAnalysis.StagesAnalysisId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(stagesAnalysis)); }
public async Task <IActionResult> Create([Bind("StagesAnalysisId,Stagename,DealsNumber,DealAverage,StageValue")] StagesAnalysis stagesAnalysis) { if (ModelState.IsValid) { _context.Add(stagesAnalysis); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(stagesAnalysis)); }