Example #1
0
        // Creation of a Visit is handled by the RequestDataProvider
        // Visit can only be created on creation of a new request

        public async Task <CalendarEvent> UpdateAsync(CalendarEvent calendarEvent)
        {
            DataProvider.Models.Visit visitRecord = null;
            // calendar event doesn't necessarily have an id, since it may not be created yet (while the underlying visit record already exists)
            if (calendarEvent.Id != 0)
            {
                visitRecord = await FindByIdAsync(calendarEvent.Id);
            }
            else
            {
                visitRecord = await FindWhereAsync(v => v.RequestId == calendarEvent.Request.Id);
            }
            _mapper.Map(calendarEvent, visitRecord);

            _context.Visits.Update(visitRecord);
            await _context.SaveChangesAsync();

            var savedCalendarEvent = _mapper.Map <CalendarEvent>(visitRecord);

            if (savedCalendarEvent != null) // maybe null if the domain resource 'CalendarEvent' has been removed
            {
                savedCalendarEvent.Period    = calendarEvent.Period;
                savedCalendarEvent.FromHour  = calendarEvent.FromHour;
                savedCalendarEvent.UntilHour = calendarEvent.UntilHour;
            }

            return(savedCalendarEvent);
        }
Example #2
0
        private async Task <DataProvider.Models.Visit> CreateVisitForRequestAsync(DataProvider.Models.Request requestRecord, Request request = null)
        {
            var visitRecord = new DataProvider.Models.Visit {
                RequestId          = requestRecord.Id,
                CustomerId         = requestRecord.CustomerId,
                RelativeContactId  = requestRecord.RelativeContactId,
                RelativeBuildingId = requestRecord.RelativeBuildingId,
                EmbeddedCity       = requestRecord.EmbeddedCity,
                Comment            = request == null ? null : request.Comment,
                Visitor            = request == null ? null : request.Visitor,
                OfferExpected      = request == null ? false : request.OfferExpected
            };

            _context.Visits.Add(visitRecord);
            await _context.SaveChangesAsync();

            return(visitRecord);
        }