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;
        }
Example #3
0
 // PUT api/event/5
 public void Put(int id, GroupRequest grpReq)
 {
     _repository.Update(grpReq);
 }
Example #4
0
 // 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;
 }