Beispiel #1
0
        public HttpResponseMessage Create(TimeBlockCreateRequest createRequest)
        {
            if (createRequest == null)
            {
                ModelState.AddModelError("", "No data supplied!");
            }

            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }

            int UserId = User.Identity.GetId().Value;

            createRequest.UserId = UserId;
            int newId = calendarService.CreateTimeBlock(createRequest);

            Task.Run(() =>
            {
                UserConnectedCalendars userCalendar = exCalHelperService.CheckConnectedCalendars(UserId);
                if (userCalendar.hasGoogle)
                {
                    googleCalendarService.CreateEvent(UserId, newId, createRequest);
                }
                if (userCalendar.hasMicrosoft)
                {
                    msCalService.CreateEvent(UserId, newId, createRequest);
                }
            });

            return(Request.CreateResponse(HttpStatusCode.Created, new ItemResponse <int> {
                Item = newId
            }));
        }
Beispiel #2
0
        public HttpResponseMessage Delete(int Id)
        {
            int UserId = User.Identity.GetId().Value;

            calendarService.DeleteTimeBlock(Id, UserId);

            Task.Run(() =>
            {
                UserConnectedCalendars userCalendar = exCalHelperService.CheckConnectedCalendars(UserId);
                if (userCalendar.hasGoogle)
                {
                    googleCalendarService.DeleteEvent(UserId, Id);
                }
                if (userCalendar.hasMicrosoft)
                {
                    msCalService.DeleteEvent(UserId, Id);
                }
            });

            return(Request.CreateResponse(HttpStatusCode.OK, new SuccessResponse()));
        }
Beispiel #3
0
        public HttpResponseMessage Update(int Id, TimeBlockUpdateRequest updateRequest)
        {
            if (updateRequest == null)
            {
                ModelState.AddModelError("", "No data supplied!");
            }

            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }

            if (Id == updateRequest.Id)
            {
                calendarService.UpdateTimeBlock(updateRequest);

                int UserId = User.Identity.GetId().Value;

                Task.Run(() =>
                {
                    UserConnectedCalendars userCalendar = exCalHelperService.CheckConnectedCalendars(UserId);
                    if (userCalendar.hasGoogle)
                    {
                        googleCalendarService.UpdateEvent(UserId, Id, updateRequest);
                    }
                    if (userCalendar.hasMicrosoft)
                    {
                        msCalService.UpdateEvent(UserId, Id, updateRequest);
                    }
                });

                return(Request.CreateResponse(HttpStatusCode.OK, new SuccessResponse()));
            }
            else
            {
                ModelState.AddModelError("", "Id in URL does not match Id in request body");
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
        }