public IHttpActionResult PostWork_group_members(Work_group_members work_group_members) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Work_group_members.Add(work_group_members); try { db.SaveChanges(); } catch (DbUpdateException) { if (Work_group_membersExists(work_group_members.Work_group_id)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = work_group_members.Work_group_id }, work_group_members)); }
public IHttpActionResult PutWork_group_members(int id, Work_group_members work_group_members) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != work_group_members.Work_group_id) { return(BadRequest()); } db.Entry(work_group_members).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!Work_group_membersExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult GetWork_group_members(int id) { Work_group_members work_group_members = db.Work_group_members.Find(id); if (work_group_members == null) { return(NotFound()); } return(Ok(work_group_members)); }
public IHttpActionResult DeleteWork_group_members(int wg_id, string member_id) { Work_group_members work_group_members = db.Work_group_members.Find(wg_id, member_id); if (work_group_members == null) { return(NotFound()); } db.Work_group_members.Remove(work_group_members); db.SaveChanges(); return(Ok(work_group_members)); }
public IHttpActionResult Postwork_group(work_group work_group) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Work_group_members wg = new Work_group_members(); wg.Member_id = work_group.admin; wg.Work_group_id = work_group.id; wg.AddingDate = System.DateTime.Now; db.work_group.Add(work_group); db.Work_group_members.Add(wg); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = work_group.id }, work_group)); }
public async Task <IHttpActionResult> Postwork_group(work_group work_group) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } /////// Add Chat Room for the Course /////////////////////////////////////////////////////////// IFirebaseClient client = new FirebaseClient(config); cls_room new_room = new cls_room { name = work_group.name, about = "Chat Room for " + work_group.name + " Group", admin = work_group.admin, photo = "" }; PushResponse response = await client.PushAsync("chat/rooms/", new_room); var xcv = response.Result.name; var firstMem = new { mem_id = work_group.admin, //db.AspNetUsers.FirstOrDefault(x => x.UserName == room.adminName).Id, mem_name = db.AspNetUsers.FirstOrDefault(x => x.Id == work_group.admin).UserName //room.adminName }; await PushChat(firstMem, "chat/members/" + xcv); ///////////////////////////// var new_room2 = new { RoomId = xcv, RoomName = new_room.name, about = "Chat room for " + work_group.name + " group", AddedOn = DateTime.UtcNow, RoomType = "group", RelatedTypeId = db.work_group.OrderByDescending(x => x.id).FirstOrDefault().id }; await PushChat(new_room2, "chat/memberRooms/" + work_group.admin); work_group.room_id = xcv; db.work_group.Add(work_group); db.SaveChanges(); Work_group_members wg = new Work_group_members(); wg.Member_id = work_group.admin; wg.Work_group_id = db.work_group.OrderByDescending(x => x.id).FirstOrDefault().id; wg.AddingDate = System.DateTime.Now; db.Work_group_members.Add(wg); db.SaveChanges(); ////////////////////////////////////////////////////////////////////////////////////////////// //send notification to all friends var friends = db.friends.Where(x => x.UserId == work_group.admin && x.Confirmed == true).Select(x => x.friendId); var friends2 = db.friends.Where(x => x.friendId == work_group.admin && x.Confirmed == true).Select(x => x.UserId); friends.Concat(friends2); // var new_notifi = new cls_notifi { source_name = "group", source_id = db.work_group.OrderByDescending(x => x.id).FirstOrDefault().id.ToString(), image = "no image", body_English = "Work group " + work_group.name + " is available now by your friend " + db.AspNetUsers.FirstOrDefault(x => x.Id == work_group.admin).UserName, body_Arabic = "تمت اتاحة مجموعة " + work_group.name + " من قبل صديقك " + db.AspNetUsers.FirstOrDefault(x => x.Id == work_group.admin).UserName, timestamp = DateTime.UtcNow, readed = false }; foreach (var item in friends) { await Push(new_notifi, "notifications/" + item + "/" + DateTime.UtcNow.ToString("dd-MM-yyyy")); PushNotifi(db.AspNetUsers.FirstOrDefault(x => x.Id == item).DeviceToken, "New Workgroup", new_notifi.body_English, "group", db.work_group.OrderByDescending(x => x.id).FirstOrDefault().id.ToString()); } return(CreatedAtRoute("DefaultApi", new { id = work_group.id }, work_group)); }
public async Task <IHttpActionResult> PostWork_group_members(Work_group_members work_group_members) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Work_group_members.Add(work_group_members); try { db.SaveChanges(); } catch (DbUpdateException) { if (Work_group_membersExists(work_group_members.Work_group_id, work_group_members.Member_id)) { return(Conflict()); } else { throw; } } var new_notifi = new cls_notifi { source_name = "user", source_id = work_group_members.Member_id, image = db.AspNetUsers.FirstOrDefault(x => x.Id == work_group_members.Member_id).Photo,//"no image", body_English = db.AspNetUsers.FirstOrDefault(x => x.Id == work_group_members.Member_id).UserName + " Joined to Your work group (" + db.work_group.FirstOrDefault(x => x.id == work_group_members.Work_group_id).name + ")", body_Arabic = "انضم " + db.AspNetUsers.FirstOrDefault(x => x.Id == work_group_members.Member_id).UserName + " الي جروب (" + db.work_group.FirstOrDefault(x => x.id == work_group_members.Work_group_id).name + ")", timestamp = DateTime.Now, readed = false }; await Push(new_notifi, "notifications/" + db.work_group.FirstOrDefault(x => x.id == work_group_members.Work_group_id).admin + "/" + DateTime.UtcNow.ToString("dd-MM-yyyy")); PushNotifi(db.AspNetUsers.FirstOrDefault(x => x.Id == db.courses.FirstOrDefault(Y => Y.id == work_group_members.Work_group_id).instructor).DeviceToken, "New Member To your Group", new_notifi.body_English, "user", work_group_members.Member_id); //////////////////////////////////////////////////////////////////////add member to room IFirebaseClient client = new FirebaseClient(config); var Course_room_id = db.work_group.FirstOrDefault(x => x.id == work_group_members.Work_group_id).room_id; var new_Mem = new { mem_id = work_group_members.Member_id, mem_name = db.AspNetUsers.FirstOrDefault(x => x.Id == work_group_members.Member_id).UserName }; var new_room = new { RoomId = Course_room_id, RoomName = db.work_group.FirstOrDefault(x => x.id == work_group_members.Work_group_id).name, AddedOn = DateTime.UtcNow, about = work_group_members.work_group.about, RoomType = "group", RelatedTypeId = work_group_members.Work_group_id }; await Push_for_room(new_Mem, "chat/members/" + Course_room_id); await Push_for_room(new_room, "chat/memberRooms/" + work_group_members.Member_id); ////////////////////////////////////////////////////////////////////////////////// return(CreatedAtRoute("DefaultApi", new { id = work_group_members.Work_group_id }, work_group_members)); }