Open msenyk opened 2 years ago
Метод буде приймати три параметри:
String StartDate, String EndDay, List<Id>
ids
Назва методу: generateTours
Назва класу: ExcursionController
Все гаразд, але раджу почати з роботи над сервіс класом. Назвати який можна ToursGeneratorService або якось схоже.
Є одне запитання: які давати назви згенерованим турам? Можна брати з типу екскурсії, і прибавляти дату?
Чи можливо нам треба додати поле на компонент, куди користувач буде вводити ім'я яке захоче для цих турів?
Можна створювати взагалі без імені, і написати окремий тригер, що буде оновлювати назву автоматично. Ви під час курсу мали розробляти подібний тригер.
@thxnk Є декілька зауважень
@thxnk
public class ToursGeneratorService {
public static void generateTours(Date startDay, Date lastDay, Id excId) {
List<Tour__c> toursToInsert = new List<Tour__c>();
ExcursionTypes__c excursion = [Select DaysOfWeek__c, TimeOfBeginning__c, NumbersOfTickets__c
FROM ExcursionTypes__c
WHERE Id =: excId];
for( ;!startDay.isSameDay(lastDay); startDay = startDay.addDays(1)){
DateTime dateOfTour = DateTime.newInstance(startDay, excursion.TimeOfBeginning__c);
if(excursion.DaysOfWeek__c.contains(dateOfTour.format('EEEE'))){
toursToInsert.add(makeNewTour(dateOfTour, excursion));
}
}
insert toursToInsert;
}
public static Tour__c makeNewTour(DateTime tourDayTime ,ExcursionTypes__c excursion){
return new Tour__c (Name = 'Tour',
DateTime__c = tourDayTime,
ExcursionType__c = excursion.Id,
NumberOfTickets__c = excursion.NumbersOfTickets__c,
Status__c = 'Planned');
}
}