public async Task <ActionResult <MakerTag> > PostMakerTag(MakerTag makerTag) { _context.MakerTags.Add(makerTag); await _context.SaveChangesAsync(); return(CreatedAtAction("GetMakerTag", new { id = makerTag.Id }, makerTag)); }
public async Task <IActionResult> PutMakerTag(long id, MakerTag makerTag) { if (id != makerTag.MakerTagID) { return(BadRequest()); } _context.Entry(makerTag).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MakerTagExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutMakerTag(long id, MakerTag makerTag) { var makerTags = await _context.MakerTags.Where(o => o.MakerId == id).Include(t => t.Tag).ToListAsync(); if (makerTags == null) { return(NotFound()); } foreach (var vmakerTag in makerTags) { _context.MakerTags.Remove(vmakerTag); } //_context.Add(new MakerTag({ })) return(NoContent()); }
public async Task <ActionResult <UserLogin> > EditLoginMaker(long id, MakerWithLogin data) { UserLogin userLogin = data.userlogin; Maker maker = data.maker; string[] tags = data.tags; userLogin.UserTypeId = 2; var userLoginOld = _context.UserLogins.Find(id); var makerOld = _context.Makers.Find(userLoginOld.MakerId); if (userLoginOld == null) { return(NotFound()); } if (_context.UserLogins.Where(x => (x.Email == userLogin.Email) && (x.Id != id)).SingleOrDefault() != null) { return(Ok("Email")); } if (_context.UserLogins.Where(x => x.Username == userLogin.Username && (x.Id != id)).SingleOrDefault() != null) { return(Ok("Username")); } maker.Id = makerOld.Id; _context.Entry(makerOld).State = EntityState.Detached; _context.Entry(maker).State = EntityState.Modified; await _context.SaveChangesAsync(); var makerTagsOld = await _context.MakerTags.Where(x => x.MakerId == maker.Id).ToListAsync(); if (makerTagsOld != null) { foreach (MakerTag makerTag in makerTagsOld) { _context.Entry(makerTag).State = EntityState.Detached; makerTag.SelfSet = false; _context.Entry(makerTag).State = EntityState.Modified; } } await _context.SaveChangesAsync(); if (tags != null) { foreach (string tag in tags) { Tag tagObject = await _context.Tags.Where(x => x.Naam.ToLower() == tag.ToLower()).SingleOrDefaultAsync(); if (tagObject == null) { tagObject = new Tag(); tagObject.Naam = tag; _context.Tags.Add(tagObject); } var makerTag = await _context.MakerTags.Where(x => (x.TagId == tagObject.Id) && (x.MakerId == maker.Id)).SingleOrDefaultAsync(); if (makerTag == null) { MakerTag makertag = new MakerTag(); makertag.MakerId = maker.Id; makertag.Interest = 1; makertag.TagId = tagObject.Id; makertag.SelfSet = true; _context.MakerTags.Add(makertag); } else { _context.Entry(makerTag).State = EntityState.Detached; makerTag.SelfSet = true; _context.Entry(makerTag).State = EntityState.Modified; } } } userLogin.MakerId = maker.Id; if (userLogin.Password == null) { userLogin.Password = userLoginOld.Password; } else { userLogin.Password = HashPassword(userLogin.Password); } _context.Entry(userLoginOld).State = EntityState.Detached; _context.Entry(userLogin).State = EntityState.Modified; await _context.SaveChangesAsync(); return(CreatedAtAction("GetUserLogin", new { id = userLogin.Id }, userLogin)); }
public async Task <ActionResult <UserLogin> > AddLoginMaker(MakerWithLogin data) { UserLogin userLogin = data.userlogin; Maker maker = data.maker; string[] tags = data.tags; userLogin.UserTypeId = 2; if (_context.UserLogins.Where(x => x.Email == userLogin.Email).SingleOrDefault() != null) { return(Ok("Email")); } if (_context.UserLogins.Where(x => x.Username == userLogin.Username).SingleOrDefault() != null) { return(Ok("Username")); } _context.Makers.Add(maker); await _context.SaveChangesAsync(); if (tags != null) { foreach (string tag in tags) { Tag tagObject = await _context.Tags.Where(x => x.Naam.ToLower() == tag.ToLower()).SingleOrDefaultAsync(); if (tagObject == null) { tagObject = new Tag(); tagObject.Naam = tag; _context.Tags.Add(tagObject); } MakerTag makertag = new MakerTag(); makertag.MakerId = maker.Id; makertag.Interest = 1; makertag.TagId = tagObject.Id; makertag.SelfSet = true; _context.MakerTags.Add(makertag); } } userLogin.MakerId = maker.Id; userLogin.Password = HashPassword(userLogin.Password); _context.UserLogins.Add(userLogin); await _context.SaveChangesAsync(); if (userLogin.Verified == false) { MailAddress to = new MailAddress(userLogin.Email); MailAddress from = new MailAddress("*****@*****.**"); MailMessage message = new MailMessage(from, to); message.Subject = "Bevestig je account bij Centask"; message.Body = "" + "<h1>Welkom bij Centask!</h1>" + "<p>Gelieve je account te bevestigen: " + "<a href='" + "http://localhost:4200/verifyUser?userLoginId=" + userLogin.Id + "'>Klik hier om te bevestigen</a>"; message.IsBodyHtml = true; var client = new SmtpClient("smtp.mailtrap.io", 2525) { Credentials = new NetworkCredential("9533f03187ee7c", "3058369c7f2f3b"), EnableSsl = true }; try { client.Send(message); } catch (SmtpException ex) { Console.WriteLine(ex.ToString()); } } return(CreatedAtAction("GetUserLogin", new { id = userLogin.Id }, userLogin)); }
public async Task <ActionResult <IEnumerable <Opdracht> > > GetOpdrachtenByTitleAndTags(string title) { var userId = User.Claims.FirstOrDefault(c => c.Type == "GebruikerId").Value; // ADDING INTEREST TO TAG IF FOUND var tag = _context.Tags.Where(x => x.Naam == title.ToLower()).SingleOrDefault(); if (tag != null) { var makerTag = _context.MakerTags.Where(x => (x.TagId == tag.Id) && (x.MakerId == Convert.ToInt64(userId))).SingleOrDefault(); if (makerTag != null) { if (makerTag.SelfSet == false) { _context.Entry(makerTag).State = EntityState.Modified; makerTag.Interest = (makerTag.Interest + (makerTag.Interest / 10 * 3)); } } else { makerTag = new MakerTag(); makerTag.MakerId = Convert.ToInt64(userId); makerTag.TagId = tag.Id; makerTag.Interest = 0.3; makerTag.SelfSet = false; _context.Add(makerTag); } await _context.SaveChangesAsync(); } var opdrachten = await _context.Opdrachten.Include(o => o.Bedrijf).Where(o => o.Titel.ToLower().Contains(title.ToLower()) || o.Bedrijf.Naam.ToLower().Contains(title.ToLower())).Include(x => x.Tags).ThenInclude(y => y.Tag).ToListAsync(); var opdrachtenTags = await _context.Opdrachten.Include(o => o.Bedrijf).Include(x => x.Tags).ThenInclude(y => y.Tag).ToListAsync(); var userTags = await _context.MakerTags.Where(x => x.MakerId == Convert.ToInt64(userId)).ToListAsync(); foreach (var opdracht in opdrachtenTags) { foreach (var tagY in opdracht.Tags) { if (tagY.Tag != null) { if (tagY.Tag.Naam.ToLower().Contains(title.ToLower()) && !opdrachten.Contains(opdracht)) { opdrachten.Add(opdracht); } } } } // ADDING INTEREST AMOUNT TO EVERY TASK foreach (var opdracht in opdrachten) { double interest = 0; foreach (var tagY in opdracht.Tags) { foreach (var userTag in userTags) { if (tagY.TagId == userTag.TagId) { interest = interest + userTag.Interest; } } } opdracht.Interest = interest; } if (opdrachten == null) { return(NotFound()); } return(opdrachten); }