public async Task <IActionResult> PutPerson([FromRoute] string id, [FromBody] Person person) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != person.Mino) { return(BadRequest()); } Utilities.Log(_context, HttpContext, $"Update person {person.Mino} {person.Name}", 1, true); _context.Entry(person).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PersonExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutBuilding([FromRoute] string id, [FromBody] Building building) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != building.Location) { return(BadRequest()); } _context.Entry(building).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BuildingExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutContingent([FromRoute] string id, [FromBody] Contingent contingents) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != contingents.ContingentLeaderNo) { return(BadRequest()); } _context.Entry(contingents).State = EntityState.Modified; Utilities.Log(_context, HttpContext, $"Update contingent {contingents.ContingentLeaderNo}", 1, true); try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ContingentsExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutRoom([FromRoute] int id, [FromBody] Room room) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != room.RoomId) { return(BadRequest()); } Utilities.Log(_context, HttpContext, $"Update room {room.RoomId} ({room.Location} {room.RoomName})", 2, true); _context.Entry(room).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RoomExists(id)) { return(NotFound()); } else { throw; } } UpdateLayoutWebSocket(new [] { room }); return(NoContent()); }
public async Task <IActionResult> PutRoomAllocation([FromRoute] int id, [FromBody] RoomAllocation roomAllocation) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != roomAllocation.Sno) { return(BadRequest()); } _context.Entry(roomAllocation).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RoomAllocationExists(id)) { return(NotFound()); } else { throw; } } RoomAllocation ra = _context.RoomAllocation.Include(m => m.Room) .Where(m => m.Sno == roomAllocation.Sno).FirstOrDefault(); if (ra != null) { UpdateLayoutWebSocket(new Room[] { ra.Room }); } return(NoContent()); }
public async Task <IActionResult> ApproveContingentArrival([FromRoute] int cano, [FromBody] ContingentArrival contingentArrivalPut) { var contingentArrival = await _context.ContingentArrival .Include(m => m.CAPeople) .SingleOrDefaultAsync(m => m.ContingentArrivalNo == cano); if (contingentArrival == null || contingentArrival.Approved) { return(NotFound()); } /* Set M/F count from posted data */ contingentArrival.Male = contingentArrivalPut.Male; contingentArrival.Female = contingentArrivalPut.Female; contingentArrival.MaleOnSpotDemand = contingentArrivalPut.MaleOnSpotDemand; contingentArrival.FemaleOnSpotDemand = contingentArrivalPut.FemaleOnSpotDemand; contingentArrival.Remark = contingentArrivalPut.Remark; /* Mark people as done with */ String[] minos = contingentArrival.CAPeople.Select(cap => cap.Mino).ToArray(); Person[] people = await _context.Person.Where(m => minos.Contains(m.Mino)).ToArrayAsync(); var linksMaker = new LinksMaker(User, Url); foreach (CAPerson caPerson in contingentArrival.CAPeople) { linksMaker.FillCAPersonLinks(caPerson); Person person = people.SingleOrDefault(m => m.Mino == caPerson.Mino); if (person != null) { person.allottedCA = contingentArrival; _context.Update(person); } DataUtilities.FillCAPerson(User, Url, caPerson, people, contingentArrival.ContingentLeaderNo, false); } /* Approve! */ contingentArrival.Approved = true; Utilities.Log(_context, HttpContext, $"Approve subcontingent {contingentArrival.ContingentArrivalNo} {contingentArrival.ContingentLeaderNo})", 2, true); await _context.SaveChangesAsync(); DataUtilities.UpdateWebSock(null, _hubContext); linksMaker.FillContingentArrivalLinks(contingentArrival); return(Ok(contingentArrival)); }