Loading...
Axiomatik avatar Axiomatik 2422 Точки
  • If the quantity of the current article is equal to 0, return message:

"The {articleName} is not available."

  • If the guestName is not present in the guests array, return message:

"This guest is not invited."

;-)

    buyArticle(articleModel, articleName, guestName) {
        let findModel = this.listOfArticles.find((x) => { return x.articleModel === articleModel.toLowerCase() && x.articleName === articleName });
        let guest = this.guests.find((x) => { return x.guestName === guestName });

        if (!findModel) {
            throw new Error("This article is not found.")
        }

        if (findModel.quantity === 0) {
            // throw new Error(`The ${articleName} is not available.`) // no Error throwing!!!
            return `The ${articleName} is not available.`;
        }

        if (!guest) {
            // throw new Error("This guest is not invited."); // no Error throwing!!!
            return "This guest is not invited.";
        }

        let neededPoints = Number(this.possibleArticles[articleModel.toLowerCase()]);
        let userPoints = Number(guest.points);

        if (neededPoints <= userPoints) {
            guest.points -= neededPoints;
            findModel.quantity -= 1;
            guest.purchaseArticle += 1;
        } else {
            return "You need to more points to purchase the article.";
        }

        return `${guestName} successfully purchased the article worth ${neededPoints} points.`
    }

 

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.