public virtual ActionResult AddPosition(AddPositionViewModel model) { if (!_verifyTokenProcess.Execute(new VerifyUserLinkedInAccessTokenParams { UserId = CurrentUserId }).AccessTokenValid) { return(RedirectToAction(MVC.PositionSearch.LinkedIn.AuthorizationAlert())); } if (!model.CreateNewCompany && model.SelectedCompany <= 0) { ModelState.AddModelError("company", "You must either select to add a new company entry, or select an existing company to add the position to"); } if (!ModelState.IsValid) { var user = _context.Users.Where(x => x.Id == CurrentUserId).Single(); var companies = _companyByJobSearchQuery.WithJobSearchId((int)user.LastVisitedJobSearchId).Execute(); model.SetCompanyList(companies); return(View(model)); } var result = _addPositionProcess.Execute(new AddLinkedInPositionParams { RequestingUserId = CurrentUserId, CreateNewCompany = model.CreateNewCompany, PositionId = model.PositionId, ExistingCompanyId = model.SelectedCompany }); return(RedirectToAction(MVC.PositionSearch.LinkedIn.AddPositionSuccessful(result.CompanyId, result.CompanyName, result.PositionId, result.PositionTitle))); }
public virtual ActionResult AddPosition(string positionId, string positionTitle, string companyName) { var user = _context.Users.Where(x => x.Id == CurrentUserId).Single(); var companies = _companyByJobSearchQuery.WithJobSearchId((int)user.LastVisitedJobSearchId).Execute(); var model = new AddPositionViewModel { CompanyName = companyName, PositionId = positionId, PositionTitle = positionTitle, DataSource = DomainModel.Enums.ExternalDataSource.LinkedIn }; model.SetCompanyList(companies); return(View(model)); }
public async Task <IActionResult> AddPosition(AddPositionViewModel model) { if (ModelState.IsValid) { var posFromDb = await context.Positions.Where(p => p.Name == model.Name).FirstOrDefaultAsync(); if (posFromDb == null) { var position = new Position() { Name = model.Name }; await context.Positions.AddAsync(position); int changesCount = await context.SaveChangesAsync(); if (changesCount > 0) { var appLogType = context.AppLogTypes.Where(c => c.TypeName == "PositionAdded").FirstOrDefault(); var appLog = new AppLog() { Created = DateTime.Now, AppLogType = appLogType, Message = $"Добавлена новая должность. ID: {position.Id}, Наименование: {position.Name}" }; await context.AppLogs.AddAsync(appLog); await context.SaveChangesAsync(); } return(RedirectToAction("Index", "Position")); } else { ModelState.AddModelError("", "Данная должность уже присутствует в базе данных. Укажите другую."); } } return(View()); }
public AddPosition() { InitializeComponent(); DataContext = new AddPositionViewModel(this); }