public async Task <JsonResult> Insert()
 {
     try {
         var connID    = Request.Form["connID"];
         var note      = Request.Form["note"];
         var longitude = Request.Form["long"];
         var latitude  = Request.Form["lat"];
         var uid       = Request.Form["UID"];
         //check if meetup already exist
         var meetup = MeetupLocationService.GetByConnectionID(connID, false).FirstOrDefault();
         if (meetup == null)
         {
             //if not create one
             MeetupLocationService.Insert(Guid.NewGuid(), Guid.Parse(connID), true, float.Parse(latitude), float.Parse(longitude), Guid.Parse(uid), note);
         }
         else
         {
             //if already exist update data
             MeetupLocationService.Update(meetup.ID.ToString(), true, Guid.Parse(uid), float.Parse(latitude), float.Parse(longitude), note);
         }
         //invoke signalR to inform connection that this user setup a meetup point
         SignalRClients.NotifyMeetupLocationSet(note, uid, connID);
         return(Json(new { success = true }));
     } catch { return(Json(new { success = false, message = MessageUtility.ServerError() })); }
 }
 public async Task <JsonResult> GetByConnectionID(string ID)
 {
     try {
         var data  = MeetupLocationService.GetByConnectionID(ID, true).FirstOrDefault();
         var model = new MeetupLocationViewModel();
         if (data != null)
         {
             model = MeetupLocationViewModel.MToVM(data);
         }
         return(Json(new { success = true, data = model }, JsonRequestBehavior.AllowGet));
     } catch { return(Json(new { success = false, message = MessageUtility.ServerError() }, JsonRequestBehavior.AllowGet)); }
 }
 public async Task <JsonResult> Cancel()
 {
     try {
         var id        = Request.Form["ID"];
         var connID    = Request.Form["connID"];
         var note      = Request.Form["note"];
         var longitude = float.Parse(Request.Form["long"]);
         var latitude  = float.Parse(Request.Form["lat"]);
         var uid       = Guid.Parse(Request.Form["UID"]);
         MeetupLocationService.Update(id, false, uid, latitude, longitude, note);
         SignalRClients.NotifyMeetupLocationCancel(note, uid.ToString(), connID);
         return(Json(new { success = true }));
     } catch { return(Json(new { success = false, message = MessageUtility.ServerError() })); }
 }