public IHttpActionResult PostBeneficiario(Beneficiario beneficiario) { if (!ModelState.IsValid) { return BadRequest(ModelState); } var terceroRepetido = db.Terceros.FirstOrDefault(t => t.Identificacion == beneficiario.Tercero.Identificacion); if (terceroRepetido != null) throw new Exception("La cédula se encuentra repetida"); beneficiario.Tercero.FechaIngreso = DateTime.Now; if (beneficiario.Tercero.Usuarios.Count == 0) throw new Exception("Faltan los datos de login"); beneficiario.Tercero.Usuarios.First().RolId = (int)Roles.Beneficiario; db.Beneficiarios.Add(beneficiario); db.SaveChanges(); return CreatedAtRoute("DefaultApi", new { id = beneficiario.BeneficiarioId }, beneficiario); }
public IHttpActionResult PutBeneficiario(int id, Beneficiario beneficiario) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != beneficiario.BeneficiarioId) { return BadRequest(); } beneficiario.BeneficiariosClientes = null; beneficiario.Tercero.Beneficiarios = null; beneficiario.Tercero.Usuarios = null; beneficiario.Tercero.Beneficiarios = null; beneficiario.Tercero.Clientes = null; beneficiario.Tercero.Usuarios = null; db.Entry(beneficiario).State = EntityState.Modified; db.Entry(beneficiario.Tercero).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!BeneficiarioExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }