コード例 #1
0
        public IActionResult Post([FromBody] ModifySubscriptionViewModel addSubscriptionViewModel)
        {
            if (ModelState.IsValid)
            {
                if (IsMerchant())
                {
                    return(BadRequest(new { error = "Handelaars kunnen zich niet abonneren op andere handelaars." }));
                }

                if (!IsCustomer())
                {
                    return(BadRequest(new { error = "De voorziene token voldoet niet aan de eisen." }));
                }

                Establishment establishment = _establishmentRepository.getById(addSubscriptionViewModel.EstablishmentId);

                if (establishment == null)
                {
                    return(BadRequest(new { error = "Het opgegeven vestiging bestaat niet." }));
                }

                Customer customer = _customerRepository.getById(int.Parse(User.FindFirst("userId")?.Value));

                if (customer.EstablishmentSubscriptions.Any(es => es.EstablishmentId == establishment.EstablishmentId))
                {
                    return(BadRequest(new { error = "U bent reeds geabonneerd op deze vestiging." }));
                }

                EstablishmentSubscription establishmentSubscription = new EstablishmentSubscription()
                {
                    Customer = customer, Establishment = establishment, DateAdded = DateTime.Now, EstablishmentId = establishment.EstablishmentId
                };

                _customerRepository.addSubscription(customer.UserId, establishmentSubscription);

                return(Ok(new { message = "U bent succesvol geabonneerd op deze vestiging!" }));
            }
            //Als we hier zijn is is modelstate niet voldaan dus stuur error 400, slechte aanvraag
            string errorMsg = string.Join(" | ", ModelState.Values.SelectMany(v => v.Errors).Select(e => e.ErrorMessage));

            return(BadRequest(new { error = "De ingevoerde waarden zijn onvolledig of voldoen niet aan de eisen voor een login. Foutboodschap: " + errorMsg }));
        }
コード例 #2
0
        public IActionResult Delete(int id)
        {
            if (ModelState.IsValid)
            {
                if (IsMerchant())
                {
                    return(BadRequest(new { error = "Handelaars kunnen zich niet abonneren op andere handelaars." }));
                }

                if (!IsCustomer())
                {
                    return(BadRequest(new { error = "De voorziene token voldoet niet aan de eisen." }));
                }

                Establishment establishment = _establishmentRepository.getById(id);

                if (establishment == null)
                {
                    return(BadRequest(new { error = "Geen vestiging met de meegegeven id." }));
                }

                Customer customer = _customerRepository.getById(int.Parse(User.FindFirst("userId")?.Value));

                EstablishmentSubscription establishmentSubscription =
                    customer.EstablishmentSubscriptions.SingleOrDefault(
                        es => es.EstablishmentId == establishment.EstablishmentId);

                if (establishmentSubscription == null)
                {
                    return(BadRequest(new { error = "Deze vestiging behoord niet tot u." }));
                }

                _customerRepository.removeSubscription(customer.UserId, establishmentSubscription);

                return(Ok(new { message = "Verwijderd!" }));
            }
            //Als we hier zijn is is modelstate niet voldaan dus stuur error 400, slechte aanvraag
            string errorMsg = string.Join(" | ", ModelState.Values.SelectMany(v => v.Errors).Select(e => e.ErrorMessage));

            return(BadRequest(new { error = "De ingevoerde waarden zijn onvolledig of voldoen niet aan de eisen voor een login. Foutboodschap: " + errorMsg }));
        }
コード例 #3
0
 public void removeSubscription(int userId, EstablishmentSubscription establishmentSubscription)
 {
     _customers.FirstOrDefault(c => c.UserId == userId)?.EstablishmentSubscriptions.Remove(establishmentSubscription);
     SaveChanges();
 }