public async Task <IActionResult> Edit(int id, [Bind("OwnerStageAnalysisId,OwnerName,StageName,PipeLineId,DealsNumber,DealAverage,StageValue")] OwnerStageAnalysis ownerStageAnalysis) { if (id != ownerStageAnalysis.OwnerStageAnalysisId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(ownerStageAnalysis); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!OwnerStageAnalysisExists(ownerStageAnalysis.OwnerStageAnalysisId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(ownerStageAnalysis)); }
public async Task SaveStageOwnerAnalysis(string pipe, string owner, Int32 wid) { var model = new List <OwnerStageAnalysis>(); var allStages = await GetAllStages(pipe, wid); foreach (var item in allStages) { var deals = await GetDealsInStagebyOwner(item.HsStageId, owner, 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 ownerName = await GetOwnerNameByOwnerId(owner); var newOwnerStageAnalysis = new OwnerStageAnalysis { DealsNumber = totalDeals, StageValue = suma, DealAverage = average, StageName = item.StageName, PipeLineId = pipe, OwnerName = ownerName.Name, WorkOrderId = wid, OwnerMail = owner }; model.Add(newOwnerStageAnalysis); } await _context.OwnerStageAnalysis.AddRangeAsync(model); await _context.SaveChangesAsync(); }
public async Task <IActionResult> Create([Bind("OwnerStageAnalysisId,OwnerName,StageName,PipeLineId,DealsNumber,DealAverage,StageValue")] OwnerStageAnalysis ownerStageAnalysis) { if (ModelState.IsValid) { _context.Add(ownerStageAnalysis); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(ownerStageAnalysis)); }