Exemplo n.º 1
0
        public IActionResult KeurHandelaarGoed([FromForm] HandelaarKeuringViewModel handelaarGoedkeuring)
        {
            if (User.FindFirst("gebruikersId")?.Value != null && User.FindFirst("rol")?.Value == "admin")
            {
                Handelaar handelaar = _handelaarRepository.GetById(handelaarGoedkeuring.HandelaarId);
                if (handelaar != null)
                {
                    handelaar.Login.Geactiveerd = true;
                    _handelaarRepository.SaveChanges();

                    //mail service
                    var message = new MailMessage();
                    message.From = new MailAddress("*****@*****.**");
                    message.To.Add(handelaar.Email);
                    message.ReplyToList.Add("*****@*****.**");
                    message.Subject = "Uw aanvraag om handelaar te worden werd goedgekeurd";
                    message.Body    = string.Format("Beste {0} \n\nUw aanvraag om handelaar te worden, werd zonet goedgekeurd.\nU kan nu aanmelden met de door u gekozen gebruikersnaam en wachtwoord.\nEn u kan onmiddelijk een lunch toevoegen als u dat wilt.\n\nMet vriedelijke groeten,\nHet Lunchers team ",
                                                    handelaar.HandelsNaam);

                    //smpt server
                    var SmtpServer = new SmtpClient("smtp.gmail.com");
                    SmtpServer.Port        = 587;
                    SmtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "reallyStrongPwd123");
                    SmtpServer.EnableSsl   = true;

                    //message sent
                    SmtpServer.Send(message);

                    return(Ok(new { bericht = "De handelaar werd succesvol goedgekeurd." }));
                }
                return(BadRequest(new { error = "De opgegeven handelaar werd niet teruggevonden." }));
            }
            return(Unauthorized(new { error = "U bent niet aangemeld als administrator." }));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> VerwijderHandelaarVerzoek(HandelaarBewerkViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await _userManager.FindByEmailAsync(model.Emailadres);

                await _userManager.DeleteAsync(user);

                _handelaarRepository.Remove(model.HandelaarId);
                _handelaarRepository.SaveChanges();

                var filePath = @"wwwroot/images/handelaar/" + model.HandelaarId;
                Directory.Delete(filePath, true);

                var message = new MailMessage();
                message.From = new MailAddress("*****@*****.**");
                message.To.Add(model.Emailadres);
                message.Subject = "Uw verzoek om handelaar te worden op LekkerLokaal.be is geweigerd.";

                if (model.Opmerking != null)
                {
                    message.Body = String.Format("Beste medewerker van " + model.Naam + ", \n\n" +
                                                 "Uw recent verzoek om handelaar te worden bij LekkerLokaal.be is geweigerd. \n\n" +
                                                 model.Opmerking + "\n\n" +
                                                 "Als u denkt dat u alsnog recht heeft om handelaar te worden bij LekkerLokaal.be raden wij u aan een nieuw verzoek te versturen. \n\n" +
                                                 "Met vriendelijke groeten, \n" +
                                                 "Het Lekker Lokaal team");
                }
                else
                {
                    message.Body = String.Format("Beste medewerker van " + model.Naam + ", \n\n" +
                                                 "Uw recent verzoek om handelaar te worden bij LekkerLokaal.be is geweigerd. \n\n" +
                                                 "Als u denkt dat u alsnog recht heeft om handelaar te worden bij LekkerLokaal.be raden wij u aan een nieuw verzoek te versturen. \n\n" +
                                                 "Met vriendelijke groeten, \n\n" +
                                                 "Het Lekker Lokaal team");
                }

                var SmtpServer = new SmtpClient("smtp.gmail.com");
                SmtpServer.Port        = 587;
                SmtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "LokaalLekker123");
                SmtpServer.EnableSsl   = true;
                SmtpServer.Send(message);

                return(RedirectToAction("HandelaarsVerzoeken"));
            }
            return(View(nameof(HandelaarVerzoekEvaluatie), model));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Post([FromForm] LunchViewModel nieuweLunch)
        {
            if (User.FindFirst("gebruikersId")?.Value != null && User.FindFirst("rol")?.Value == "handelaar")
            {
                if (ModelState.IsValid)
                {
                    try
                    {
                        Debug.WriteLine(nieuweLunch.ToString());
                        Handelaar handelaar = _handelaarRepository.GetById(int.Parse(User.FindFirst("gebruikersId")?.Value));

                        string stringIngredients = nieuweLunch.RawData["Ingredienten"];
                        string stringTags        = nieuweLunch.RawData["Tags"];

                        List <IngredientViewModel> ingredienten = JsonConvert.DeserializeObject <List <IngredientViewModel> >(stringIngredients);
                        List <TagViewModel>        tags         = JsonConvert.DeserializeObject <List <TagViewModel> >(stringTags);

                        Lunch lunch = new Lunch()
                        {
                            Naam              = nieuweLunch.Naam,
                            Prijs             = double.Parse(nieuweLunch.Prijs),
                            Beschrijving      = nieuweLunch.Beschrijving,
                            BeginDatum        = nieuweLunch.BeginDatum,
                            EindDatum         = nieuweLunch.EindDatum,
                            LunchIngredienten = ConvertIngredientViewModelsToIngredienten(ingredienten),
                            LunchTags         = ConvertTagViewModelsToTags(tags),
                            Deleted           = false,
                        };

                        handelaar.Lunches.Add(lunch);
                        _handelaarRepository.SaveChanges();

                        if (nieuweLunch.Afbeeldingen.Files.Count != 0)
                        {
                            lunch.Afbeeldingen = await ConvertFormFilesToAfbeeldingenAsync(nieuweLunch.Afbeeldingen.Files.ToList(), lunch);
                        }
                        else
                        {
                            List <Afbeelding> afbeeldingen           = new List <Afbeelding>();
                            string            afbeeldingRelativePath = "lunches/tagfoto/" + lunch.LunchTags[0].Tag.Naam + ".jpg";
                            afbeeldingen.Add(new Afbeelding {
                                Pad = afbeeldingRelativePath
                            });
                            string filePath = @"wwwroot" + afbeeldingRelativePath;
                            lunch.Afbeeldingen = afbeeldingen;
                        }
                        _lunchRespository.SaveChanges();
                        return(Ok(new { bericht = "De lunch werd succesvol aangemaakt." }));
                    }
                    catch (Exception e)
                    {
                        return(BadRequest(new { error = "Er is een onverwachte fout opgetreden tijdens het aanmaken van de nieuwe lunch. " + e.Message.ToString().ToLower() }));
                    }
                }
                return(BadRequest(new { error = "De opgestuurde gegevens zijn onvolledig of incorrect." }));
            }
            return(Unauthorized(new { error = "U bent niet aangemeld als handelaar." }));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> IndexHandelaar(IndexHandelaarViewModel model)
        {
            ViewData["AlleCategorien"] = _categorieRepository.GetAll().ToList();
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'.");
            }

            var handelaar = _handelaarRepository.GetByEmail(user.Email);

            var beschrijving = handelaar.Beschrijving;

            if (model.Beschrijving != beschrijving)
            {
                handelaar.Beschrijving = model.Beschrijving;
                _handelaarRepository.SaveChanges();
            }

            var btwnummer = handelaar.BTW_Nummer;

            if (model.BTW_Nummer != btwnummer)
            {
                handelaar.BTW_Nummer = model.BTW_Nummer;
                _handelaarRepository.SaveChanges();
            }

            var straat = handelaar.Straat;

            if (model.Straat != straat)
            {
                handelaar.Straat = model.Straat;
                _handelaarRepository.SaveChanges();
            }

            var gemeente = handelaar.Gemeente;

            if (model.Gemeente != gemeente)
            {
                handelaar.Gemeente = model.Gemeente;
                _handelaarRepository.SaveChanges();
            }

            var postcode = handelaar.Postcode;

            if (model.Postcode != postcode)
            {
                handelaar.Postcode = model.Postcode;
                _handelaarRepository.SaveChanges();
            }

            StatusMessage = "Uw gegevens werden succesvol bijgewerkt.";
            return(RedirectToAction(nameof(IndexHandelaar)));
        }
Exemplo n.º 5
0
        public async Task <IActionResult> RegisterHandelaar(RegisterHandelaarViewModel model, string returnUrl = null)
        {
            ViewData["AlleCategorien"] = _categorieRepository.GetAll().ToList();
            ViewData["ReturnUrl"]      = returnUrl;
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await _userManager.CreateAsync(user, Guid.NewGuid().ToString());

                if (result.Succeeded)
                {
                    await _userManager.AddClaimAsync(user, new Claim(ClaimTypes.Role, "handelaar"));

                    var message = new MailMessage();
                    message.From = new MailAddress("*****@*****.**");
                    message.To.Add("*****@*****.**");
                    message.Subject = "Een nieuwe handelaar heeft zich zopas ingeschreven via het handelaarsformulier";
                    message.Body    = String.Format("Naam handelszaak: {0}\n" +
                                                    "E-mailadres: {1}\n" +
                                                    "Straat: {2}\n" +
                                                    "Huisnummer: {3}\n" +
                                                    "Postcode: {4}\n" +
                                                    "Gemeente: {5}\n" +
                                                    "BTW Nummer: {6}\n" +
                                                    "Beschrijving: {7}\n",
                                                    model.NaamHandelszaak, model.Email, model.Straat, model.Huisnummer, model.Postcode, model.Plaatsnaam, model.BTWNummer, model.Beschrijving);

                    Handelaar nieuweHandelaar = new Handelaar(model.NaamHandelszaak, model.Email, model.Beschrijving, model.BTWNummer, model.Straat, model.Huisnummer, model.Postcode, model.Plaatsnaam, false);
                    _handelaarRepository.Add(nieuweHandelaar);
                    _handelaarRepository.SaveChanges();


                    var filePath = @"wwwroot/images/handelaar/" + nieuweHandelaar.HandelaarId + "/logo.jpg";
                    Directory.CreateDirectory(Path.GetDirectoryName(filePath));
                    var fileStream = new FileStream(filePath, FileMode.Create);
                    await model.Logo.CopyToAsync(fileStream);

                    fileStream.Close();

                    var attachment = new Attachment(@"wwwroot/images/handelaar/" + nieuweHandelaar.HandelaarId + "/logo.jpg");
                    attachment.Name = "logo.jpg";
                    message.Attachments.Add(attachment);
                    var SmtpServer = new SmtpClient("smtp.gmail.com");
                    SmtpServer.Port        = 587;
                    SmtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "LokaalLekker123");
                    SmtpServer.EnableSsl   = true;

                    SmtpServer.Send(message);
                    message.Attachments.Remove(attachment);
                    attachment.Dispose();

                    message.From = new MailAddress("*****@*****.**");
                    message.To.Clear();
                    message.To.Add(model.Email);
                    message.Subject = "Uw verzoek om handelaar te worden op LekkerLokaal.be is correct ontvangen.";
                    message.Body    = String.Format("Beste medwerker van {0}, \n" +
                                                    "Uw verzoek om handelaar te worden bij LekkerLokaal.be is correct ontvangen. \n\n" +
                                                    "Onderstaande gegevens zullen gecontroleerd worden door een administrator. U mag een E-mail verwachten zodra uw verzoek al dan niet aanvaard wordt." +
                                                    "Naam handelszaak: {1}\n" +
                                                    "E-mailadres: {2}\n" +
                                                    "Straat: {3}\n" +
                                                    "Huisnummer: {4}\n" +
                                                    "Postcode: {5}\n" +
                                                    "Gemeente: {6}\n" +
                                                    "BTW Nummer: {7}\n" +
                                                    "Beschrijving: {8}\n",
                                                    model.NaamHandelszaak, model.NaamHandelszaak, model.Email, model.Straat, model.Huisnummer, model.Postcode, model.Plaatsnaam, model.BTWNummer, model.Beschrijving);
                    SmtpServer.Send(message);

                    return(RedirectToLocal(returnUrl));
                }
                AddErrors(result);
            }
            // If we got this far, something failed, redisplay form
            ViewData["categorie"] = new SelectList(_categorieRepository.GetAll().Select(c => c.Naam));
            return(View(model));
        }