Skip to content

Instantly share code, notes, and snippets.

@arialdomartini
Created June 11, 2013 16:21
Show Gist options
  • Save arialdomartini/5758313 to your computer and use it in GitHub Desktop.
Save arialdomartini/5758313 to your computer and use it in GitHub Desktop.
Come lo rifattorizzeresti? Il codice è quasi uguale, ci sono pochissime diferenze (un else e un save)
package JE.AdvertSearchEngine;
import JE.Advert;
import JE.AdvertLifecycle.ProgressCategory;
import JE.AdvertLifecycle.Scheduling.Data.AdvertSchedule;
import Util.DateTime;
public class AdvertScheduleService {
public AdvertSchedule scheduleAdvert(Advert advert) {
AdvertSchedule advertSchedule = AdvertSchedule.GetByAdvertId(advert.Id());
String progressCategory = ProgressCategory.GetCategoryForAdv(advert);
if (advertSchedule==null) {
advertSchedule = AdvertSchedule.Create(advert.Website, progressCategory, advert.Id(), DateTime.Now());
}
else
{
advertSchedule.LifecycleCategory = progressCategory;
}
advertSchedule.$Save();
return advertSchedule;
}
public AdvertSchedule createAdvertSchedule(Advert advert) {
AdvertSchedule advertSchedule = AdvertSchedule.GetByAdvertId(advert.Id());
String progressCategory = ProgressCategory.GetCategoryForAdv(advert);
if (advertSchedule == null) {
advertSchedule = AdvertSchedule.Create(advert.Website, progressCategory, advert.Id(), DateTime.Now());
}
return advertSchedule;
}
}
@gimmi
Copy link

gimmi commented Jun 11, 2013

Mah, i 2 metodi mi sembrano molto simili, tenterei di mettere in comune il codice.

Non capisco perche' progressCategory debba essere passato 2 volte ad advertSchedule.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment