Esempio n. 1
0
        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)));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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);
 }