Example #1
0
        public SaveEventResponse SaveEventWithoutPermission(SaveEventWithoutPermissionRequest request)
        {
            var response = new SaveEventResponse();

            var calendarEvent = _calendarEventRepository.FindBy(request.Id);

            calendarEvent.Start = request.Start.ToLocalTime();
            calendarEvent.End = request.End.ToLocalTime();
            _calendarEventRepository.Save(calendarEvent);

            _unitOfWork.Commit();

            response.EventId = calendarEvent.CalendarEventId;
            response.Success = true;

            return response;
        }
Example #2
0
        public SaveEventResponse SaveEvent(SaveEventRequest request)
        {
            var response = new SaveEventResponse();

            var calendarEvent = new CalendarEvent
                                    {CalendarEventId = request.Id, Start = request.Start.ToLocalTime(), End = request.End.ToLocalTime(), Title = request.Title,Body=request.Body,IsPublic=request.IsPublic};

            if (calendarEvent.CalendarEventId == Guid.Empty)
            {
                calendarEvent.CalendarEventId = Guid.NewGuid();
                _calendarEventRepository.Add(calendarEvent);
            }
            else
            {
                _calendarEventRepository.Save(calendarEvent);

                var eventPermissionList=_eventPermissionRepository.FindBy(e => e.CalendarEventId ==request.Id);
                var requestPermissionIds = request.EventPermissionsView.Select(i => i.PermissionId).ToArray();
                foreach (var eventPermission in eventPermissionList)
                {
                    if(requestPermissionIds.Contains(eventPermission.UserId))
                        continue;
                    _eventPermissionRepository.Remove(eventPermission);
                }
            }

            foreach (var eventPermissionView in request.EventPermissionsView)
            {
                var eventPermission = new EventPermission
                                          {
                                              EventPermissionId = eventPermissionView.PermissionId,
                                              UserId = eventPermissionView.UserId,
                                              PermissionType = (int)eventPermissionView.Permission,
                                              CalendarEventId = calendarEvent.CalendarEventId
                                          };
                if (eventPermission.EventPermissionId == Guid.Empty)
                {
                    eventPermission.EventPermissionId = Guid.NewGuid();
                    _eventPermissionRepository.Add(eventPermission);
                }
                else
                    _eventPermissionRepository.Save(eventPermission);
            }
            _unitOfWork.Commit();

            response.EventId = calendarEvent.CalendarEventId;
            response.Success = true;

            return response;
        }