public MpChildcareRequest GetChildcareRequestForReview(int childcareRequestId) { var apiToken = _apiUserService.GetToken(); var record = _ministryPlatformService.GetRecordDict(_childcareRequestPageId, childcareRequestId, apiToken); List <MpChildcareRequestDate> daterecords = GetChildcareRequestDates(childcareRequestId); var datesList = daterecords.Select(dateRec => dateRec.RequestDate).ToList(); if (record == null) { return(null); } var childcareRequest = new MpChildcareRequest { RequesterId = record.ToInt("Requester_ID"), LocationId = record.ToInt("Congregation_ID"), MinistryId = record.ToInt("Ministry_ID"), GroupId = record.ToInt("Group_ID"), GroupName = record.ToString("Group_ID_Text"), StartDate = record.ToDate("Start_Date"), EndDate = record.ToDate("End_Date"), Frequency = record.ToString("Frequency"), PreferredTime = record.ToString("Childcare_Session"), Status = record.ToString("Request_Status_ID_Text"), Notes = record.ToString("Notes"), DecisionNotes = record.ToString("Decision_Notes"), DatesList = datesList }; return(childcareRequest); }
public void UpdateRequest() { var request = new MpChildcareRequest { ChildcareRequestId = 999, RequesterId = 1, LocationId = 2, MinistryId = 3, GroupId = 4, StartDate = DateTime.Today, EndDate = DateTime.Today.AddDays(7), Frequency = "Weekly", PreferredTime = "8:00AM to 9:00AM", Notes = "This is a test request" }; var requestDict = new Dictionary <string, object> { { "Childcare_Request_ID", request.ChildcareRequestId }, { "Requester_ID", request.RequesterId }, { "Congregation_ID", request.LocationId }, { "Ministry_ID", request.MinistryId }, { "Group_ID", request.GroupId }, { "Start_Date", request.StartDate }, { "End_Date", request.EndDate }, { "Frequency", request.Frequency }, { "Childcare_Session", request.PreferredTime }, { "Notes", request.Notes }, { "Request_Status_ID", _childcareRequestPending } }; _ministryPlatformService.Setup(m => m.UpdateRecord(_childcareRequestPage, requestDict, It.IsAny <string>())); _fixture.UpdateChildcareRequest(request); _ministryPlatformService.VerifyAll(); }
public void CreateChildcareRequestDates(int childcareRequestId, MpChildcareRequest request, string token) { var datesList = request.DatesList ?? new List <DateTime>(); foreach (var date in datesList) { var requestDate = new DateTime(date.Year, date.Month, date.Day, 0, 0, 0); var requestDatesDict = new Dictionary <String, Object> { { "Childcare_Request_ID", childcareRequestId }, { "Childcare_Request_Date", requestDate }, { "Approved", false } }; _ministryPlatformService.CreateSubRecord(_childcareRequestDatesId, childcareRequestId, requestDatesDict, token, false); } }
public MpChildcareRequest ToMPChildcareRequest() { var mpReq = new MpChildcareRequest { RequesterId = this.RequesterId, LocationId = this.LocationId, MinistryId = this.MinistryId, GroupId = this.GroupId, StartDate = this.StartDate, EndDate = this.EndDate, Frequency = this.Frequency, PreferredTime = this.PreferredTime, DatesList = this.DatesList, Notes = this.Notes, DecisionNotes = this.DecisionNotes, ChildcareRequestId = this.ChildcareRequestId }; return(mpReq); }
public void UpdateChildcareRequest(MpChildcareRequest request) { var apiToken = _apiUserService.GetToken(); var requestDict = new Dictionary <string, object> { { "Childcare_Request_ID", request.ChildcareRequestId }, { "Requester_ID", request.RequesterId }, { "Congregation_ID", request.LocationId }, { "Ministry_ID", request.MinistryId }, { "Group_ID", request.GroupId }, { "Start_Date", request.StartDate }, { "End_Date", request.EndDate }, { "Frequency", request.Frequency }, { "Childcare_Session", request.PreferredTime }, { "Notes", request.Notes }, { "Request_Status_ID", _childcareRequestStatusPending } }; _ministryPlatformService.UpdateRecord(_childcareRequestPageId, requestDict, apiToken); }
private Dictionary <int, int> GetChildcareEventsfortheDates(List <MpEvent> events, List <MpChildcareRequestDate> requestedDates, MpChildcareRequest request) { var prefTime = request.PreferredTime.Substring(request.PreferredTime.IndexOf(',') + 1).Split('-'); var requestStartTime = DateTime.ParseExact(prefTime[0].Trim(), "h:mmtt", CultureInfo.InvariantCulture); var requestEndTime = DateTime.ParseExact(prefTime[1].Trim(), "h:mmtt", CultureInfo.InvariantCulture); var childcareEvents = new Dictionary <int, int>(); foreach (var date in requestedDates) { var foundEvent = events.FindAll( e => (e.EventStartDate == date.RequestDate.Date.Add(requestStartTime.TimeOfDay) && (e.EventEndDate == date.RequestDate.Date.Add(requestEndTime.TimeOfDay)) && (e.CongregationId == request.LocationId))); if (foundEvent.Count > 1) { throw new DuplicateChildcareEventsException(date.RequestDate); } if (foundEvent != null) { foreach (var eachEvent in foundEvent) { childcareEvents.Add(date.ChildcareRequestDateId, eachEvent.EventId); } } } return(childcareEvents); }
public List <MpEvent> FindChildcareEvents(int childcareRequestId, List <MpChildcareRequestDate> requestedDates, MpChildcareRequest request) { var apiToken = _apiUserService.GetToken(); var events = _eventService.GetEventsByTypeForRange(_childcareEventType, request.StartDate, request.EndDate, apiToken, false); return(events); }
public void DecisionChildcareRequest(int childcareRequestId, int requestStatusId, MpChildcareRequest childcareRequest) { var apiToken = _apiUserService.GetToken(); var requestDict = new Dictionary <string, object> { { "Childcare_Request_ID", childcareRequestId }, { "Request_Status_ID", requestStatusId } }; if (childcareRequest.DecisionNotes != null) { requestDict.Add("Decision_Notes", childcareRequest.DecisionNotes); } _ministryPlatformService.UpdateRecord(_childcareRequestPageId, requestDict, apiToken); }