public async Task <IActionResult> PutIrsCalculator(int id, IrsCalculator irsCalculator) { //CalculatorData cd = new CalculatorData(irsCalculator, _context, _timesheetContext); if (id != irsCalculator.Id) { return(BadRequest()); } _context.Entry(irsCalculator).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!IrsCalculatorExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); //return Ok(cd); }
//public async Task<ActionResult<IrsCalculatorOLD>> PostIrsCalculator(IrsCalculatorOLD irsCalculator) public async Task <ActionResult <IrsCalculator> > PostIrsCalculator(IrsCalculator irsCalculator) { // Validar dados recebidos // Validar se a area do nivel seleccionado no IRSCalc corresponde a uma area /* * var level = irsCalculator.PickLevel; * var area = _context.PositionLevel.Where(p=> p.NivelId == irsCalculator.PickLevel).Select(p => p.AreaId); * //var area = _timesheetContext.Nivel.Where(n=> n.Nivelid == irsCalculator.PickLevel).Select(n => n.Shortdesc); * if (irsCalculator.PickArea != area.First()) * return NotFound("Nivel/Posição não corresponde à area escolhida."); */ /* * ************* * Carrega dados * ************* */ //CalculatorData cd = new CalculatorData(irsCalculatorOLD, _context, _timesheetContext ) ; //_context.Position.Where(p => p.AreaId = irsCalculator.PickLevel) // from a in _context.Position //select new BaseData() //{ // Id = a.Id, // Description = a.AreaName //}; //Actualizar registo _context.IrsCalculator.Add(irsCalculator); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (IrsCalculatorExists(irsCalculator.Id)) { return(Conflict()); } else { throw; } } return(CreatedAtAction("GetIrsCalculator", new { id = irsCalculator.Id }, irsCalculator)); //return CreatedAtAction("GetIrsCalculator", new { id = irsCalculator.Id }, cd); }