public Disk(string name, string description, decimal price, EDiskGenre genre, string imageUrl) { Name = name; Description = description; Price = price; Genre = genre; ImageURL = imageUrl; new ValidationContract() .IsNotNullOrEmpty(Name, "Name", "Nome é obrigatório") .HasMaxLen(Name, 100, "Name", "Nome deve ter até 100 caracteres") .IsNotNullOrEmpty(Description, "Description", "Descrição é obrigatório") .HasMaxLen(Description, 300, "Description", "Descrição deve ter até 300 caracteres") .IsGreaterThan(Price, 0, "Price", "Preço deve ser maior que zero"); }
private decimal GetCashbackPercentage(DayOfWeek day, EDiskGenre genre) { switch (genre) { case EDiskGenre.POP: return(ReturnPopPer(day)); case EDiskGenre.MPB: return(ReturnMPBPer(day)); case EDiskGenre.CLASSIC: return(ReturnClassicPer(day)); case EDiskGenre.ROCK: return(ReturnRockPer(day)); default: throw new Exception("Não é possível retornar o cahback pois o gênero não foi encontrado"); } }