public GroupRequest Add(GroupRequest grpReq) { _db.GroupRequests.Add(grpReq); _db.SaveChanges(); PurgeOld(); return grpReq; }
public GroupRequest Update(GroupRequest grpReq) { //_db.Entry(grpReq).State = EntityState.Modified; int id = grpReq.GroupRequestId; var request = _db.GroupRequests.Single(g => g.GroupRequestId == id); request.CharacterClassId = grpReq.CharacterClassId; request.Description = grpReq.Description; request.EventId = grpReq.EventId; request.Level = grpReq.Level; request.PlayerName = grpReq.PlayerName; request.Timestamp = grpReq.Timestamp; request.UserGuid = grpReq.UserGuid; _db.Entry(request).State = EntityState.Modified; var groupVoiceChats = _db.GroupVoiceChats.Where(v => v.GroupRequestId == id).ToList(); bool found = false; //Handle additions foreach (var vc in grpReq.GroupVoiceChats) { foreach (var groupVoiceChat in groupVoiceChats) { if (groupVoiceChat.VoiceChatId == vc.VoiceChatId) { found = true; break; } } if (!found)//Add new entries { _db.GroupVoiceChats.Add(new GroupVoiceChat {GroupRequestId = id, VoiceChatId = vc.VoiceChatId}); } found = false; } //Handle deletions foreach (var groupVoiceChat in groupVoiceChats) { foreach (var vc in grpReq.GroupVoiceChats) { if (groupVoiceChat.VoiceChatId == vc.VoiceChatId) { found = true; break; } } if (!found)//Add new entries { _db.GroupVoiceChats.Remove(groupVoiceChat); } found = false; } int records = _db.SaveChanges(); return grpReq; }
// PUT api/event/5 public void Put(int id, GroupRequest grpReq) { _repository.Update(grpReq); }
// POST api/event public HttpResponseMessage Post(GroupRequest grpReq) { var response = Request.CreateResponse(HttpStatusCode.Created, grpReq); response.Headers.Location = new Uri(Request.RequestUri, string.Format("api/group/{0}", grpReq.GroupRequestId)); _repository.Add(grpReq); return response; }