public IHttpActionResult PutCourse_Members(Course_Members course_Members) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Entry(course_Members).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!Course_MembersExists(course_Members.Course_id, course_Members.Member_id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult PostCourse_Members(Course_Members course_Members) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Course_Members.Add(course_Members); try { db.SaveChanges(); } catch (DbUpdateException) { if (Course_MembersExists(course_Members.Course_id)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = course_Members.Course_id }, course_Members)); }
public IHttpActionResult GetCourse_Members(int id) { Course_Members course_Members = db.Course_Members.Find(id); if (course_Members == null) { return(NotFound()); } return(Ok(course_Members)); }
public IHttpActionResult LeaveCourse(int course_id, string member_id) { Course_Members course_Members = db.Course_Members.Find(course_id, member_id); if (course_Members == null) { return(NotFound()); } db.Course_Members.Remove(course_Members); db.SaveChanges(); return(Ok(course_Members)); }
public IHttpActionResult Postcourse(course course) { // course.instructor= if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Course_Members cm = new Course_Members(); course_tags ct = new course_tags(); ct.course_id = course.id; //ct.tag_id= cm.Course_id = course.id; cm.Member_id = course.instructor; cm.AddingDate = course.creating_date; db.courses.Add(course); db.Course_Members.Add(cm); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = course.id }, course)); }
public async Task <IHttpActionResult> PostCourse_Members(Course_Members course_Members) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Course_Members.Add(course_Members); try { db.SaveChanges(); } catch (DbUpdateException) { if (Course_MembersExists(course_Members.Course_id, course_Members.Member_id)) { return(Conflict()); } else { throw; } } var new_notifi = new cls_notifi { source_name = "user", source_id = course_Members.Member_id, image = db.AspNetUsers.FirstOrDefault(x => x.Id == course_Members.Member_id).Photo,//"no image", body_English = db.AspNetUsers.FirstOrDefault(x => x.Id == course_Members.Member_id).UserName + " Joined to Your course (" + db.courses.FirstOrDefault(x => x.id == course_Members.Course_id).name + ")", body_Arabic = "انضم " + db.AspNetUsers.FirstOrDefault(x => x.Id == course_Members.Member_id).UserName + " الي كورس (" + db.courses.FirstOrDefault(x => x.id == course_Members.Course_id).name + ")", timestamp = DateTime.Now, readed = false }; await Push(new_notifi, "notifications/" + db.courses.FirstOrDefault(x => x.id == course_Members.Course_id).instructor + "/" + DateTime.UtcNow.ToString("dd-MM-yyyy")); PushNotifi(db.AspNetUsers.FirstOrDefault(x => x.Id == db.courses.FirstOrDefault(Y => Y.id == course_Members.Course_id).instructor).DeviceToken, "New Member To your Course", new_notifi.body_English, "user", course_Members.Member_id); //////////////////////////////////////////////////////////////////////add member to room IFirebaseClient client = new FirebaseClient(config); var Course_room_id = db.courses.FirstOrDefault(x => x.id == course_Members.Course_id).room_id; var new_Mem = new { mem_id = course_Members.Member_id, mem_name = db.AspNetUsers.FirstOrDefault(x => x.Id == course_Members.Member_id).UserName }; var new_room = new { RoomId = Course_room_id, RoomName = db.courses.FirstOrDefault(x => x.id == course_Members.Course_id).name, AddedOn = DateTime.UtcNow, about = course_Members.course.about, RoomType = "course", RelatedTypeId = course_Members.Course_id }; await Push_for_room(new_Mem, "chat/members/" + Course_room_id); await Push_for_room(new_room, "chat/memberRooms/" + course_Members.Member_id); ////////////////////////////////////////////////////////////////////////////////// return(CreatedAtRoute("DefaultApi", new { id = course_Members.Course_id }, course_Members)); }
public async Task <IHttpActionResult> Postcourse(course course) { // course.instructor= if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Course_Members cm = new Course_Members(); course_tags ct = new course_tags(); ct.course_id = course.id; //ct.tag_id= cm.Course_id = course.id; cm.Member_id = course.instructor; cm.AddingDate = course.creating_date; //send notification to all friends var friends = db.friends.Where(x => x.UserId == course.instructor && x.Confirmed == true).Select(x => x.friendId); var friends2 = db.friends.Where(x => x.friendId == course.instructor && x.Confirmed == true).Select(x => x.UserId); friends.Concat(friends2); // var new_notifi = new cls_notifi { source_name = "course", source_id = db.courses.OrderByDescending(x => x.id).FirstOrDefault().id.ToString(), image = "no image", body_English = "Course " + course.name + " is available now by your friend " + db.AspNetUsers.FirstOrDefault(x => x.Id == course.instructor).UserName, body_Arabic = "تمت اتاحة كورس " + course.name + " من قبل صديقك " + db.AspNetUsers.FirstOrDefault(x => x.Id == course.instructor).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 Course", new_notifi.body_English, "course", db.courses.OrderByDescending(x => x.id).FirstOrDefault().id.ToString()); } /////// Add Chat Room for the Course /////////////////////////////////////////////////////////// IFirebaseClient client = new FirebaseClient(config); cls_room new_room = new cls_room { name = course.name, about = "Chat Room for " + course.name + " Course", admin = course.instructor, photo = "" }; PushResponse response = await client.PushAsync("chat/rooms/", new_room); var xcv = response.Result.name; var firstMem = new { mem_id = course.instructor, //db.AspNetUsers.FirstOrDefault(x => x.UserName == room.adminName).Id, mem_name = db.AspNetUsers.FirstOrDefault(x => x.Id == course.instructor).UserName //room.adminName }; await PushChat(firstMem, "chat/members/" + xcv); ///////////////////////////// var new_room2 = new { RoomId = xcv, RoomName = new_room.name, about = "Chat room for " + course.name + " course", AddedOn = DateTime.UtcNow, RoomType = "course", RelatedTypeId = db.courses.OrderByDescending(x => x.id).FirstOrDefault().id }; await PushChat(new_room2, "chat/memberRooms/" + course.instructor); course.room_id = xcv; db.courses.Add(course); db.Course_Members.Add(cm); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = course.id }, course)); }