public async Task <FocusItem> StoreCalendarEventAsync(string userId, Event evt) { var user = await userRepository.GetOrCreateAsync(userId); var focusItem = new StoredFocusItem() { Id = Guid.NewGuid().ToString(), CalendarEvent = new StoredCalendarEvent() { FeedId = evt.FeedId, Id = evt.Id, CalendarEventHash = evt.GenerateHash() }, User = user, UserNotified = false, ActiveEnd = evt.End.UtcDateTime, ActiveStart = (evt.Start - FocusConstants.CalendarServiceInacurracy).UtcDateTime, IndicateAt = evt.Start.UtcDateTime, Directions = null, }; await digitServiceContext.FocusItems.AddAsync(focusItem); await digitServiceContext.SaveChangesAsync(); return(focusItem.MapToFocusItem()); }
public static FocusItem MapToFocusItem(this StoredFocusItem storedFocusItem) { return(new FocusItem() { Id = storedFocusItem.Id, IndicateTime = new DateTimeOffset(storedFocusItem.IndicateAt, TimeSpan.Zero), CalendarEventId = storedFocusItem.CalendarEventId, CalendarEventFeedId = storedFocusItem.CalendarEventFeedId, CalendarEventHash = storedFocusItem.CalendarEvent.CalendarEventHash, Start = storedFocusItem.ActiveStart, End = storedFocusItem.ActiveEnd, DirectionsMetadata = null != storedFocusItem.Directions ? new DirectionsMetadata() { Error = storedFocusItem.Directions.PlaceNotFound.GetValueOrDefault(false) ? TravelService.Models.DirectionsNotFoundReason.AddressNotFound : ( storedFocusItem.Directions.DirectionsNotFound.GetValueOrDefault(false) ? (TravelService.Models.DirectionsNotFoundReason?)TravelService.Models.DirectionsNotFoundReason.RouteNotFound : null), Key = storedFocusItem.Directions.DirectionsKey, TravelStatus = storedFocusItem.Directions.TravelStatus, } : null }); }
public static void MapFromFocusItem(this StoredFocusItem storedFocusItem, FocusItem focusItem) { }