public IHttpActionResult PostCliente(Cliente cliente) { if (!ModelState.IsValid) { return BadRequest(ModelState); } cliente.Tercero.FechaIngreso = DateTime.Now; if (cliente.Tercero.Usuarios.Count == 0) throw new Exception("Faltan los datos de login"); cliente.Tercero.Usuarios.First().RolId = (int)Roles.Cliente; db.Clientes.Add(cliente); db.SaveChanges(); return CreatedAtRoute("DefaultApi", new { id = cliente.ClienteId }, cliente); }
public IHttpActionResult PutCliente(int id, Cliente cliente) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != cliente.ClienteId) { return BadRequest(); } //if (cliente.IsBeneficiario) //{ // var afiliado = db.Afiliados.FirstOrDefault(c => c.ClienteId == cliente.ClienteId); // if (afiliado == null) // { // db.Afiliados.Add(new Afiliado // { // ClienteId = cliente.ClienteId // }); // } //}//todo: falta cuando un cliente deja de ser beneficiario cliente.Afiliados = null; cliente.AfiliadosClientes = null; cliente.BeneficiariosClientes = null; cliente.Tercero.Clientes = null; cliente.Tercero.Beneficiarios = null; cliente.Tercero.Usuarios = null; db.Entry(cliente).State = EntityState.Modified; db.Entry(cliente.Tercero).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!ClienteExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }