Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }