public async Task <IActionResult> PutCandidateLanguage(int id, CandidateLanguage candidateLanguage) { if (id != candidateLanguage.Id) { return(BadRequest()); } _context.Entry(candidateLanguage).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CandidateLanguageExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public ActionResult DeleteConfirmed(int CandidateLanguageID) { CandidateLanguage CandidateLanguage = db.CandidateLanguage.Find(CandidateLanguageID); db.CandidateLanguage.Remove(CandidateLanguage); db.SaveChanges(); return(RedirectToAction("Index", "CandidatePersonalInfProfile")); }
public ActionResult EditingLanguage_Create(CandidateLanguage obj) { new Language().Insert(SessionItems.CurrentUser.Id, obj); Resume resume = Session[typeof(Resume).FullName] as Resume; resume.Languages.Add(obj); Session[typeof(Resume).FullName] = resume; return(Json(true, JsonRequestBehavior.AllowGet)); }
public ActionResult EditingLanguage_Destroy(CandidateLanguage obj) { new Language().Delete(obj); Resume resume = Session[typeof(Resume).FullName] as Resume; if (resume.Languages.Any(x => x.Id.Equals(obj.Id))) { int idx = resume.Languages.Select((v, i) => new { objt = v, index = i }).FirstOrDefault(x => x.objt.Id.Equals(obj.Id)).index; resume.Languages.RemoveAt(idx); } Session[typeof(Resume).FullName] = resume; return(Json(true, JsonRequestBehavior.AllowGet)); }
public ActionResult Edit([Bind(Include = "CandidateLanguageID,UserID,Language,Read,Write,Speak")] CandidateLanguage CandidateLanguage) { CandidateLanguage.UpdateDate = DateTime.Now; CandidateLanguage.UserID = User.Identity.GetUserId(); if (ModelState.IsValid) { db.Entry(CandidateLanguage).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index", "CandidatePersonalInfProfile")); } return(View(CandidateLanguage)); }
// GET: CandidateLanguage/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CandidateLanguage CandidateLanguage = db.CandidateLanguage.Find(id); if (CandidateLanguage == null) { return(RedirectToAction("Index", "CandidatePersonalInfProfile")); } return(View(CandidateLanguage)); }
// GET: CandidateLanguage/Delete/5 public ActionResult Delete(int?CandidateLanguageID, String Language) { ViewBag.Language = Language; if (CandidateLanguageID == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CandidateLanguage CandidateLanguage = db.CandidateLanguage.Find(CandidateLanguageID); if (CandidateLanguage == null) { return(RedirectToAction("Index", "CandidatePersonalInfProfile")); } return(View(CandidateLanguage)); }
public async Task <CandidateLanguage> PostCandidateLanguage(CandidateLanguage candidateLanguage) { _oCandidateLanguage = new CandidateLanguage(); using (var httpClient = new HttpClient(_clientHandler)) { StringContent content = new StringContent(JsonConvert.SerializeObject(candidateLanguage), Encoding.UTF8, "application/json"); using (var response = await httpClient.PostAsync("https://localhost:44304/api/CandidateLanguages", content)) { string apiResponse = await response.Content.ReadAsStringAsync(); _oCandidateLanguage = JsonConvert.DeserializeObject <CandidateLanguage>(apiResponse); } } return(_oCandidateLanguage); }
public ResultModel Insert(string userId, CandidateLanguage obj) { CandidateLanguage objt = new CandidateLanguage(); LoadModel(obj, objt); objt.Id = Guid.NewGuid(); try { DataContext.CandidateLanguages.InsertOnSubmit(objt); DataContext.SubmitChanges(); } catch (Exception e) { Console.WriteLine(e); DataContext.SubmitChanges(); } return(ResultModel.SuccessResult()); }
public ActionResult AddCandidateLanguage(CandidateLanguage cl) { ViewBag.UserId = new SelectList(db.AspNetUsers, "Id", "Email"); string id = User.Identity.GetUserId(); cl.UserId = id; if (cl.Id > 0) { db.Entry(cl).State = EntityState.Modified; db.SaveChanges(); } else { db.CandidateLanguages.Add(cl); db.SaveChanges(); } return(View(cl)); }
public ResultModel Delete(CandidateLanguage obj) { try { CandidateLanguage objt = DataContext.CandidateLanguages.Where(x => x.Id.Equals(obj.Id)).FirstOrDefault(); if (objt != null && !objt.Id.Equals(Guid.Empty)) { DataContext.CandidateLanguages.DeleteOnSubmit(objt); DataContext.SubmitChanges(); } return(ResultModel.SuccessResult()); } catch (Exception e) { Console.WriteLine(e); // Provide for exceptions. return(ResultModel.FailResult()); } }
// GET: CandidateLanguage/Edit/5 public ActionResult Edit(int?CandidateLanguageID, string LanguageType, int?LanguageID) { ViewBag.LngID = LanguageID; ViewBag.Language = LanguageType; ViewBag.Decisionst = new SelectList(db.Decision, "IntDecision", "Decision1"); if (CandidateLanguageID == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CandidateLanguage CandidateLanguage = db.CandidateLanguage.Find(CandidateLanguageID); //CandidateLanguage.UpdateDate = DateTime.Now; if (CandidateLanguage == null) { return(RedirectToAction("Index", "CandidatePersonalInfProfile")); } return(View(CandidateLanguage)); }
public async Task <ActionResult <CandidateLanguage> > PostCandidateLanguage(CandidateLanguage candidateLanguage) { candidateLanguage.Candidate = await _context.Candidate.FindAsync(candidateLanguage.CandidateId); candidateLanguage.Candidate.User = await _context.User.FindAsync(candidateLanguage.Candidate.UserId); candidateLanguage.Candidate.Country = await _context.Country.FindAsync(candidateLanguage.Candidate.CountryId); candidateLanguage.Candidate.SalaryWish = await _context.SalaryWish.FindAsync(candidateLanguage.Candidate.SalaryWishId); candidateLanguage.Candidate.DrivingLicence = await _context.DrivingLicence.FindAsync(candidateLanguage.Candidate.DrivingLicenceId); candidateLanguage.Language = await _context.Language.FindAsync(candidateLanguage.LanguageId); candidateLanguage.LanguageLevel = await _context.LanguageLevel.FindAsync(candidateLanguage.LanguageLevelId); _context.CandidateLanguage.Add(candidateLanguage); await _context.SaveChangesAsync(); return(CreatedAtAction("GetCandidateLanguage", new { id = candidateLanguage.Id }, candidateLanguage)); }
public async Task <IActionResult> PutCandidateLanguage(int Id, CandidateLanguage candidateLanguage) { _oCandidateLanguage = new CandidateLanguage(); using (var httpClient = new HttpClient(_clientHandler)) { StringContent content = new StringContent(JsonConvert.SerializeObject(candidateLanguage), Encoding.UTF8, "application/json"); using (var response = await httpClient.PutAsync("https://localhost:44304/api/CandidateLanguages/" + Id, content)) { string apiResponse = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { _oCandidateLanguage = JsonConvert.DeserializeObject <CandidateLanguage>(apiResponse); return(Ok(_oCandidateLanguage)); } else { return(BadRequest()); } } } }
public ActionResult Create([Bind(Include = "CandidateLanguageID,UserID,Language,Read,Write,Speak")] CandidateLanguage CandidateLanguage) { String UserID = User.Identity.GetUserId(); if (ModelState.IsValid) { if (db.CandidateLanguage.Any(p => p.UserID == UserID & p.Language == CandidateLanguage.Language)) { ModelState.AddModelError("Language", "You have already saved this language."); ViewBag.Language = new SelectList(db.ListLanguage, "LanguageID", "Language"); ViewBag.Decisionst = new SelectList(db.Decision, "IntDecision", "Decision1"); } else { CandidateLanguage.UpdateDate = DateTime.Now; CandidateLanguage.UserID = User.Identity.GetUserId(); db.CandidateLanguage.Add(CandidateLanguage); db.SaveChanges(); return(RedirectToAction("Index", "CandidatePersonalInfProfile")); } } return(View(CandidateLanguage)); }
public async Task <string> UpdateProfileAsync(string candidateId, UpdateCandidateProfileViewModel model) { var candidate = this.candidatesRepository .All() .FirstOrDefault(c => c.Id == candidateId); if (candidate == null) { return(null); } candidate.FirstName = model.FirstName; candidate.LastName = model.LastName; candidate.PhoneNumber = model.PhoneNumber; candidate.ContactAddress = model.ContactAddress; candidate.Education = model.Education; candidate.AboutMe = model.SanitizedAboutMe; if (model.ProfilePicture != null) { if (candidate.ProfilePictureUrl != null) { CloudinaryService.DeleteFile(this.cloudinary, model.ApplicationUserId + PictureNameAddIn); } var pictureUrl = await CloudinaryService.UploadImageAsync(this.cloudinary, model.ProfilePicture, model.ApplicationUserId + PictureNameAddIn); if (pictureUrl == null) { return(null); } candidate.ProfilePictureUrl = pictureUrl; } candidate.ModifiedOn = DateTime.UtcNow; var candidateLanguagesIds = this.candidateLanguagesRepository .AllAsNoTracking() .Where(cl => cl.CandidateId == candidateId) .Select(cl => cl.LanguageId) .ToList(); // Add new ones foreach (var languageId in model.LanguagesIds) { if (!candidateLanguagesIds.Contains(languageId)) { var language = new CandidateLanguage { LanguageId = languageId, CandidateId = candidate.Id, CreatedOn = DateTime.UtcNow, }; await this.candidateLanguagesRepository.AddAsync(language); } } // Delete old ones foreach (var languageId in candidateLanguagesIds) { if (!model.LanguagesIds.Contains(languageId)) { var languages = this.candidateLanguagesRepository .All() .Where(cl => cl.LanguageId == languageId && cl.CandidateId == candidate.Id) .FirstOrDefault(); this.candidateLanguagesRepository.Delete(languages); } } var candidateSkillsIds = this.candidateSkillsRepository .AllAsNoTracking() .Where(cs => cs.CandidateId == candidateId) .Select(cs => cs.SkillId) .ToList(); // Add new ones foreach (var skillId in model.SkillsIds) { if (!candidateSkillsIds.Contains(skillId)) { var skill = new CandidateSkill { SkillId = skillId, CandidateId = candidate.Id, CreatedOn = DateTime.UtcNow, }; await this.candidateSkillsRepository.AddAsync(skill); } } // Delete old ones foreach (var skillId in candidateSkillsIds) { if (!model.SkillsIds.Contains(skillId)) { var skills = this.candidateSkillsRepository .All() .Where(cs => cs.SkillId == skillId && cs.CandidateId == candidate.Id) .FirstOrDefault(); this.candidateSkillsRepository.Delete(skills); } } try { this.candidatesRepository.Update(candidate); await this.candidatesRepository.SaveChangesAsync(); await this.candidateLanguagesRepository.SaveChangesAsync(); await this.candidateSkillsRepository.SaveChangesAsync(); return(candidate.Id); } catch (Exception) { return(null); } }
public Language(CandidateLanguage obj) { ShareFunctions.CopyPropertiesTo <CandidateLanguage, Language>(obj, this); }
private void LoadModel(CandidateLanguage source, CandidateLanguage dest) { ShareFunctions.CopyPropertiesTo <CandidateLanguage, CandidateLanguage>(source, dest); dest.AspNetUser = DataContext.AspNetUsers.SingleOrDefault(x => x.Id.Equals(source.UserID)); }
public async Task AddCandidate(IFormFile image, IFormFile cv, CandidateInputModel inputCandidate, string currentUsername) { Guid id = Guid.NewGuid(); var candidate = new Candidate { Id = id, FirstName = inputCandidate.FirstName, LastName = inputCandidate.LastName, University = inputCandidate.University, DOB = inputCandidate.DOB, Status = inputCandidate.StatusId, Email = inputCandidate.Email, PhoneNumber = inputCandidate.PhoneNumber, LinkedIn = inputCandidate.LinkedIn, Facebook = inputCandidate.Facebook, Note = inputCandidate.Note, IsActive = true, CreatedBy = currentUsername, CreatedDate = DateTime.Now, ModifiedBy = currentUsername, ModifiedDate = DateTime.Now, }; if (image != null) { candidate.Avatar = await SaveFile(image); } if (cv != null) { candidate.CV = await SaveFile(cv); } await _applicationDbContext.AddAsync(candidate); foreach (var item in inputCandidate.LanguageIds) { var candidateLanguage = new CandidateLanguage { Id = Guid.NewGuid(), CandidateId = id, LanguageId = item, IsActive = true, CreatedBy = currentUsername, CreatedDate = DateTime.Now, ModifiedBy = currentUsername, ModifiedDate = DateTime.Now }; await _applicationDbContext.AddAsync(candidateLanguage); } foreach (var item in inputCandidate.FrameworkIds) { var candidateFramwork = new CandidateFramework { Id = Guid.NewGuid(), CandidateId = id, FrameworkId = item, IsActive = true, CreatedBy = currentUsername, CreatedDate = DateTime.Now, ModifiedBy = currentUsername, ModifiedDate = DateTime.Now }; await _applicationDbContext.AddAsync(candidateFramwork); } await _applicationDbContext.SaveChangesAsync(); }
public async Task PutCandidate(Guid id, IFormFile image, IFormFile cv, CandidateInputModel inputCandidate, string currentUsername) { var candidate = await _applicationDbContext.Candidates.Include(c => c.CandidateLanguages).Include(c => c.CandidateFrameworks).FirstOrDefaultAsync(c => c.Id == id); if (candidate != null) { candidate.FirstName = inputCandidate.FirstName; candidate.LastName = inputCandidate.LastName; candidate.University = inputCandidate.University; candidate.DOB = inputCandidate.DOB; candidate.Email = inputCandidate.Email; candidate.PhoneNumber = inputCandidate.PhoneNumber; candidate.LinkedIn = inputCandidate.LinkedIn; candidate.Facebook = inputCandidate.Facebook; candidate.Status = inputCandidate.StatusId; candidate.Note = inputCandidate.Note; candidate.ModifiedBy = currentUsername; candidate.ModifiedDate = DateTime.Now; if (image != null) { candidate.Avatar = await SaveFile(image); } if (cv != null) { candidate.CV = await SaveFile(cv); } var candidateLanguages = candidate.CandidateLanguages; foreach (var item in candidateLanguages) { item.IsActive = false; item.ModifiedBy = currentUsername; item.ModifiedDate = DateTime.Now; } foreach (var item in inputCandidate.LanguageIds) { if (candidateLanguages.Select(c => c.LanguageId).Contains(item)) { var cd = candidateLanguages.FirstOrDefault(c => c.LanguageId == item); cd.IsActive = true; cd.ModifiedBy = currentUsername; cd.ModifiedDate = DateTime.Now; } else if (!candidateLanguages.Select(c => c.LanguageId).Contains(item)) { var candidateLanguage = new CandidateLanguage { Id = Guid.NewGuid(), CandidateId = id, LanguageId = item, IsActive = true, CreatedBy = currentUsername, CreatedDate = DateTime.Now, ModifiedBy = currentUsername, ModifiedDate = DateTime.Now }; await _applicationDbContext.AddAsync(candidateLanguage); } } var candidateFrameworks = candidate.CandidateFrameworks; foreach (var item in candidateFrameworks) { item.IsActive = false; item.ModifiedBy = currentUsername; item.ModifiedDate = DateTime.Now; } foreach (var item in inputCandidate.FrameworkIds) { if (candidateFrameworks.Select(c => c.FrameworkId).Contains(item)) { var cd = candidateFrameworks.FirstOrDefault(c => c.FrameworkId == item); cd.IsActive = true; cd.ModifiedBy = currentUsername; cd.ModifiedDate = DateTime.Now; } else if (!candidateFrameworks.Select(c => c.FrameworkId).Contains(item)) { var candidateFramework = new CandidateFramework { Id = Guid.NewGuid(), CandidateId = id, FrameworkId = item, IsActive = true, CreatedBy = currentUsername, CreatedDate = DateTime.Now, ModifiedBy = currentUsername, ModifiedDate = DateTime.Now }; await _applicationDbContext.AddAsync(candidateFramework); } } } await _applicationDbContext.SaveChangesAsync(); }
public async Task <string> CreateProfileAsync(CreateCandidateProfileInputModel model) { var candidate = AutoMapperConfig.MapperInstance.Map <Candidate>(model); if (model.ProfilePicture != null) { var pictureUrl = await CloudinaryService.UploadImageAsync(this.cloudinary, model.ProfilePicture, model.ApplicationUserId + PictureNameAddIn); if (pictureUrl == null) { return(null); } candidate.ProfilePictureUrl = pictureUrl; } candidate.CreatedOn = DateTime.UtcNow; var candidateLanguages = new List <CandidateLanguage>(); foreach (var languageId in model.LanguagesIds) { var language = new CandidateLanguage { Candidate = candidate, LanguageId = languageId, CreatedOn = DateTime.UtcNow, }; candidateLanguages.Add(language); } var candidateSkills = new List <CandidateSkill>(); foreach (var skillId in model.SkillsIds) { var skill = new CandidateSkill { Candidate = candidate, SkillId = skillId, CreatedOn = DateTime.UtcNow, }; candidateSkills.Add(skill); } try { await this.candidatesRepository.AddAsync(candidate); await this.candidateLanguagesRepository.AddRangeAsync(candidateLanguages); await this.candidateSkillsRepository.AddRangeAsync(candidateSkills); await this.candidatesRepository.SaveChangesAsync(); await this.candidateLanguagesRepository.SaveChangesAsync(); await this.candidateSkillsRepository.SaveChangesAsync(); return(candidate.Id); } catch (Exception) { return(null); } }