public Response Accept(int id, string message)
        {
            var accept = new MeetingAccept() { meetingId = id, acceptorId = GetUserId(), message = message };
            var meetingRep = new MeetingRepository();
            var meeting = meetingRep.Meetings.FirstOrDefault(x => x.Id == accept.meetingId);
            if (meeting == null)
            {
                return new BadRequestError("No such meeting");
            }
            meeting.checkPermissions(GetUserId());
            if (meeting.isOwner)
            {
                return new UnauthorizedError("Not for owner");
            }
            if (meeting.IsAccepter)
            {
                return new BadRequestError("Already accepted");
            }
            if (meeting.confirmer != null)
            {
                return new BadRequestError("Already confirmed");
            }

            int acceptId = meetingRep.Create(accept);
            if (acceptId > 0)
            {
                return Response(acceptId);
            }

            return new InternalError();
        }
        public ActionResult Accept(MeetingAccept accept)
        {
            var meetingRep = new MeetingRepository();
            var meeting = meetingRep.Meetings.FirstOrDefault(x => x.Id == accept.meetingId);
            if (meeting == null)
            {
                throw new Exception();
            }
            if (meeting.confirmer != null)
            {
                throw new Exception();
            }

            int id = meetingRep.Create(accept);
            if (id > 0)
            {

                Notify.NewAccept(accept);
                return View(true);
            }

            throw new Exception();
        }
        public ActionResult Create(MeetingViewModel meetingModel)
        {
            if (ModelState.IsValid)
            {
                int id = -1;
                var userId = User.Identity.GetUserId();
                var meeting =  CommonMapper.Map(meetingModel);
                meeting.creator = userId;
                var meetingRep = new MeetingRepository();

                id = meetingRep.Create(meeting);
                if (id > -1)
                {
                    Notify.NewMeeting(meeting);
                    return RedirectToAction("Get", new { id = id });
                }
                throw new Exception();
            }
            else
                return View(meetingModel);
        }
        public Response Create(float latitude, float longitude, int time, string description)
        {
            var meeting = new Meeting()
            {
                latitude = latitude.ToString(),
                longitude = longitude.ToString(),
                time = time,
                description = description
            };
            if (ModelState.IsValid)
            {
                int id = -1;
                var userId = GetUserId();
                meeting.creator = userId;
                var meetingRep = new MeetingRepository();

                id = meetingRep.Create(meeting);
                if (id > -1)
                {
                    Notify.NewMeeting(meeting);
                    return Response(new { id = id });
                }
            }
            else
            {
                return new BadRequestError();
            }
            return new InternalError();
        }