Ejemplo n.º 1
0
        public async Task <IHttpActionResult> Post([FromBody] Manager manager)
        {
            if (!ModelState.IsValid)
            {
                return(StatusCode(HttpStatusCodeExtensions.UnprocessableEntity));
            }

            var managerExists = await _db.Managers.AnyAsync(m => m.Profile.Email == manager.Profile.Email);

            if (managerExists)
            {
                return(Conflict());
            }

            var existingProfile = await _db.Profiles
                                  .Where(m => m.Email == manager.Profile.Email)
                                  .SingleOrDefaultAsync();

            _db.Managers.Add(manager);
            if (existingProfile != null)
            {
                manager.Profile.Id     = existingProfile.Id;
                manager.Profile.UserId = await _db.Users
                                         .Where(user => user.Email == manager.Profile.Email)
                                         .Select(user => user.Id)
                                         .SingleOrDefaultAsync() ?? existingProfile.UserId;

                _db.Entry(manager.Profile).State = EntityState.Modified;
            }

            await _db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = manager.Id }, manager));
        }
Ejemplo n.º 2
0
        public async Task<IHttpActionResult> Put(int id, [FromBody] Division division) {
            division.Id = id;

            _db.Entry(division).State = EntityState.Modified;
            await _db.SaveChangesAsync();

            return StatusCode(HttpStatusCode.NoContent);
        }
Ejemplo n.º 3
0
        public async Task <IHttpActionResult> Put(int id, [FromBody] Goal goal)
        {
            goal.Id = id;

            _db.Entry(goal).State = EntityState.Modified;
            await _db.SaveChangesAsync();

            return(StatusCode(HttpStatusCode.NoContent));
        }