public ViewResult Respons(DateTime date, string startTijdUur, string startTijdMinuten, string eindTijdUur, string eindTijdMinuten, string reden) { var context = new PlanningSysteemEntities(); var newUnavailability = new Unavailability(); newUnavailability.UnavailabilityCause = reden; newUnavailability.UnavailabilityStartTime = new DateTime(date.Year, date.Month, date.Day, Convert.ToInt16(startTijdUur), Convert.ToInt16(startTijdMinuten), 0); newUnavailability.UnavailabilityEndTime = new DateTime(date.Year, date.Month, date.Day, Convert.ToInt16(eindTijdUur), Convert.ToInt16(eindTijdMinuten), 0); newUnavailability.userID = 3; context.Unavailability.Add(newUnavailability); var addedUnavailability = new Models.Unavailability { UnavailabilityStartTime = newUnavailability.UnavailabilityStartTime, UnavailabilityEndTime = newUnavailability.UnavailabilityEndTime, UnavailabilityCause = newUnavailability.UnavailabilityCause }; try { context.SaveChanges(); addedUnavailability.UnavailabilityCause = "Uploaden gelukt"; return(View(addedUnavailability)); } catch (System.Data.Entity.Core.EntityException) { context.Unavailability.Remove(newUnavailability); addedUnavailability.UnavailabilityCause = "Uploaden gefaald"; return(View(addedUnavailability)); } }
public DialogResult ShowDialog(Timetable timetable, Unavailability unavail, int earliest, int latest) { _timetable = timetable; _unavail = unavail; _earliest = earliest; _latest = latest; return(base.ShowDialog()); }
public async Task <string> Handle(Command request, CancellationToken cancellationToken) { var unavailability = new Unavailability(request.From, request.To, request.Reason, request.Comment); _unavailabilityRepository.Insert(unavailability); await _unavailabilityRepository.SaveChangesAsync(); return(unavailability.Id); }
public void SetActive(Unavailability unavail) { if (unavail == null || _activeUnavail == unavail) { return; } _activeUnavail = unavail; _activeStream = null; Invalidate(); }
public void Can_create_unavailability() { // arrange // act var unavailability = new Unavailability(DateTime.Now, DateTime.Now.AddDays(1), UnavailabilityReason.Sick, ""); // assert unavailability.Reason.Should().Be(UnavailabilityReason.Sick); }
public void SetActive(Stream stream) { if (stream == null || _activeStream == stream) { return; } _activeStream = stream; _activeUnavail = null; Invalidate(); }
public Unavailability AddUnavailability(Guid serviceItemId, Guid locationId, DateTime startTime, DateTime endTime, bool Sunday, bool Monday, bool Tuesday, bool Wednesday, bool Thursday, bool Friday, bool Saturday, string description) { Unavailability unavailability = new Unavailability(this.SiteId, this.Id, serviceItemId, locationId, startTime, endTime, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, description); if (Unavailabilities == null) { Unavailabilities = new ObservableCollection <Unavailability>(); } Unavailabilities.Add(unavailability); return(unavailability); }
private void FindClickDetails(TimetableEventArgs e) { _clickTime = e.Time; if (Timetable == null) { _clickSession = null; _clickUnavail = null; } else { _clickSession = Timetable.FindClassAt(_clickTime, true); _clickUnavail = Timetable.FindUnavailableAt(_clickTime); } }
private static List <string> Print_UNAVAILABLE_DAYS_ALL() { List <String> lines = new List <string>(); lines.Add("UNAVAILABLE_DAYS_ALL:"); lines.Add(@"Day(date)"); foreach (var Unavailability in Unavailability_DaysAllConstraints) { lines.Add(Unavailability.Print()); } return(lines); }
private static List <string> PrintUNAVAILABILITY_CURRICULUM() { List <String> lines = new List <string>(); lines.Add("UNAVAILABILITY_CURRICULUM:"); lines.Add(@"CurriculumID Day(date) timeslot(optional)"); foreach (var Unavailability in Unavailability_CurriculumConstraints) { lines.Add(Unavailability.Print()); } return(lines); }
/// <summary> /// Remove indisponibilidades cadastradas e permite reabrir o merchant na plataforma. /// <see href="https://developer.ifood.com.br/reference#merchantsmerchant_uuidunavailabilitiesunavailability_id">Referencia</see> /// </summary> /// <param name="merchantId"></param> /// <param name="unavailability"></param> /// <returns></returns> public static async Task DeleteUnavailability(Unavailability unavailability) { if (AuthService.Token == null) { // TODO: throw new Exception("Primeiro realize a authenticação") } if (IFoodAPIService.Config == null) { // TODO: throw new Exception("Configure primeiro o api") } using (HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Delete, $"{_baseUrl}/{IFoodAPIService.Config.MerchantId}/unavailabilities/{unavailability.Id}")) { request.Headers.Add("Authorization", AuthService.Token.FullToken); (await ApiService.SendAsync(request)).Dispose(); } }
public async Task <Unavailability> AddUnavailability(AddUnavailabilityCommand addUnavailabilityCommand) { Unavailability unavailability = new Unavailability( addUnavailabilityCommand.SiteId, addUnavailabilityCommand.StaffId, addUnavailabilityCommand.ServiceItemId, addUnavailabilityCommand.LocationId, addUnavailabilityCommand.StartDateTime, addUnavailabilityCommand.EndDateTime, addUnavailabilityCommand.Sunday, addUnavailabilityCommand.Monday, addUnavailabilityCommand.Tuesday, addUnavailabilityCommand.Wednesday, addUnavailabilityCommand.Thursday, addUnavailabilityCommand.Friday, addUnavailabilityCommand.Saturday, addUnavailabilityCommand.Description); _unavailabilityRepository.Add(unavailability); await _businessIntegrationEventService.PublishThroughEventBusAsync(new UnavailabilityAddedByStaffEvent( unavailability.StaffId, unavailability.SiteId, unavailability.StaffId, unavailability.ServiceItemId, unavailability.LocationId, unavailability.StartDateTime, unavailability.EndDateTime, unavailability.Sunday, unavailability.Monday, unavailability.Tuesday, unavailability.Wednesday, unavailability.Thursday, unavailability.Friday, unavailability.Saturday, unavailability.Description )); //_unavailabilityRepository.UnitOfWork.Commit(); return(unavailability); }
public async Task <Unavailability> AddUnavailability(AddUnavailabilityCommand addUnavailabilityCommand) { SchedulableCatalogItem serviceItem = GetExistingServiceItem(addUnavailabilityCommand.SiteId, addUnavailabilityCommand.ServiceItemId); Unavailability unavailability = serviceItem.AddUnavailability( addUnavailabilityCommand.StaffId, addUnavailabilityCommand.LocationId, addUnavailabilityCommand.StartDateTime, addUnavailabilityCommand.EndDateTime, addUnavailabilityCommand.Sunday, addUnavailabilityCommand.Monday, addUnavailabilityCommand.Tuesday, addUnavailabilityCommand.Wednesday, addUnavailabilityCommand.Thursday, addUnavailabilityCommand.Friday, addUnavailabilityCommand.Saturday, addUnavailabilityCommand.Description); await _businessIntegrationEventService.PublishThroughEventBusAsync(new UnavailabilityCreatedEvent( unavailability.StaffId, unavailability.SiteId, unavailability.StaffId, unavailability.ServiceItemId, unavailability.LocationId, unavailability.StartDateTime, unavailability.EndDateTime, unavailability.Sunday, unavailability.Monday, unavailability.Tuesday, unavailability.Wednesday, unavailability.Thursday, unavailability.Friday, unavailability.Saturday, unavailability.Description )); return(unavailability); }
public Task Handle(UnavailabilityCreatedEvent message) { Unavailability unavailability = new Unavailability( message.Id, message.SiteId, message.StaffId, message.ServiceItemId, message.LocationId, message.StartDateTime, message.EndDateTime, message.Sunday, message.Monday, message.Tuesday, message.Wednesday, message.Thursday, message.Friday, message.Saturday, message.Description); _unavailabilityRepository.Add(unavailability); _unavailabilityRepository.SaveChanges(); return(Task.CompletedTask); }
public async Task <IActionResult> AddUnavailability([FromBody] Unavailability unavailability) { var item = new Unavailability(unavailability.SiteId, unavailability.StaffId, unavailability.ServiceItemId, unavailability.LocationId, unavailability.StartDateTime, unavailability.EndDateTime, unavailability.Sunday, unavailability.Monday, unavailability.Tuesday, unavailability.Wednesday, unavailability.Thursday, unavailability.Friday, unavailability.Saturday, unavailability.Description); _catalogContext.Unavailabilities.Add(item); await _catalogContext.SaveChangesAsync(); return(CreatedAtAction(nameof(GetUnavailabilityById), new { id = item.Id }, null)); }
private Cursor DragCursor(Unavailability u) { return(DragCursor(u.Length, Color.DarkGray)); }
public void ClearActive() { _activeStream = null; _activeUnavail = null; Invalidate(); }
private void ButtonOkClick(object sender, EventArgs e) { // take focus away from time pickers buttonOK.Focus(); // get start and end times from input var start = TimeOfDay.FromDateTime(dateTimePickerStart.Value); var end = TimeOfDay.FromDateTime(dateTimePickerEnd.Value); // if it starts before it ends if (start >= end) { MessageBox.Show("Start time must be before end time.", "Unavailable Timeslot", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } // if it's not within the scope of the timetable if (end <= new TimeOfDay(_earliest, 0)) { MessageBox.Show("End time must be after " + _earliest + "am.", "Unavailable Timeslot", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); dateTimePickerEnd.Focus(); return; } if (start >= new TimeOfDay(_latest, 0)) { MessageBox.Show("Start time must be before " + _latest + "pm.", "Unavailable Timeslot", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); dateTimePickerStart.Focus(); return; } // clip the timeslot to be within the bounds of the timetable if (start < new TimeOfDay(_earliest, 0)) { start = new TimeOfDay(_earliest, 0); } if (end > new TimeOfDay(_latest, 0)) { end = new TimeOfDay(_latest, 0); } // build new unavailability from input var unavail = new Unavailability(textBoxName.Text, comboBoxDay.SelectedIndex, -1, start.Hour, start.Minute, end.Hour, end.Minute); if (_unavail != null && _unavail.EquivalentTo(unavail) && _unavail.Name == unavail.Name) { DialogResult = DialogResult.Cancel; Close(); return; } // if editing, remove the old timeslot if (_unavail != null) { _timetable.UnavailableList.Remove(_unavail); } // if it doesn't fit in the current timetable if (!_timetable.FreeDuring(unavail, true)) { MessageBox.Show("Selected time slot is currently occupied.", "Unavailable Timeslot", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); // if editing, add the old timeslot back in if (_unavail != null) { _timetable.UnavailableList.Add(_unavail); } return; } // insert the edited timeslot _timetable.UnavailableList.Add(unavail); // recompute solutions _timetable.RecomputeSolutions = true; // return DialogResult = DialogResult.OK; Close(); }