Ejemplo n.º 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 }));
        }
Ejemplo n.º 2
0
        public IActionResult Post([FromBody] AddEventViewModel eventToAdd)
        {
            if (!IsMerchant())
            {
                return(BadRequest(new { error = "De voorziene token voldoet niet aan de eisen." }));
            }

            //modelstate werkt niet op lijsten :-D
            if (eventToAdd.Images == null || !eventToAdd.Images.Any())
            {
                return(BadRequest(new { error = "Geen afbeelding(en) meegeven." }));
            }

            if (!ContainsJpgs(eventToAdd.Images))
            {
                return(BadRequest(new { error = "Geen jpg afbeelding(en) meegeven" }));
            }

            if (eventToAdd.StartDate == null)
            {
                return(BadRequest(new { error = "Geen start datum meegeven." }));
            }

            if (eventToAdd.EndDate == null)
            {
                return(BadRequest(new { error = "Geen eind datum meegeven." }));
            }


            if (ModelState.IsValid)
            {
                Establishment establishmentFromDb = _establishmentRepository.getById(eventToAdd.EstablishmentId ?? 0);

                if (establishmentFromDb == null)
                {
                    return(BadRequest(new { error = "Vestiging met opgegeven id niet gevonden" }));
                }

                if (!_establishmentRepository.isOwnerOfEstablishment(int.Parse(User.FindFirst("userId")?.Value), establishmentFromDb.EstablishmentId))
                {
                    return(BadRequest(new { error = "Vestiging behoord niet tot uw vestigingen" }));
                }

                Event newEvent = new Event
                {
                    Name      = eventToAdd.Name,
                    Message   = eventToAdd.Message,
                    StartDate = (DateTime)eventToAdd.StartDate,
                    EndDate   = (DateTime)eventToAdd.EndDate
                };

                _eventRepository.addEvent(eventToAdd.EstablishmentId ?? 0, newEvent);

                //we hebben id nodig voor img path dus erna
                newEvent.Images      = ConvertFileViewModelToImages(eventToAdd.Images, newEvent.EventId);
                newEvent.Attachments = ConvertFileViewModelToAttachments(eventToAdd.Attachments, newEvent.EventId);
                _eventRepository.SaveChanges();

                return(Ok(new { bericht = "Het evenement werd succesvol toegevoegd." }));
            }
            //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 = errorMsg }));
        }
Ejemplo n.º 3
0
 public Establishment Get(int id)
 {
     return(_establishmentRepository.getById(id));
 }