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; }
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; }