public async Task <ActionResult> Approve(int id, ApproveType T, string returnUrl, [FromServices] INotificationService _notifyService) { var user = await _userManager.GetUserAsync(User); if (user == null) { return(Redirect("/Identity/Account/Errors/AccessDenied")); } var company = await _companyService.GetByIdAsync(id); if (company == null) { return(RedirectToAction("NotFound", "Home")); } var result = await this._baseService.Approve(id, PostType.Company, T); if (result.Success) { var PosterId = await _userManager.FindByIdAsync(company.PosterId); if (!(PosterId is null)) { switch (T) { case ApproveType.Waiting: await _notifyService.Create("Моля редактирайте вашата фирма отново с коректни данни.", "identity/companies/index", DateTime.Now, NotifyType.Warning, "fas fa-sync-alt", PosterId); break; case ApproveType.Rejected: await _notifyService.Create("Последно добавената ви фирма е отхвърлена.", "identity/companies/index", DateTime.Now, NotifyType.Danger, "fas fa-ban", PosterId); break; case ApproveType.Success: await _notifyService.Create("Последно добавената ви фирма е одобрена.", "identity/companies/index", DateTime.Now, NotifyType.Information, "fas fa-check", PosterId); break; } } if (!String.IsNullOrEmpty(returnUrl)) { return(Redirect(returnUrl)); } else { RedirectToPage("/Identity/Companies", new { Area = "Identity" }); } } return(View()); }
public void Update(CreateContestantInputModel viewModel, ApproveType approved, User user) { Id = viewModel.Id; Guard.Against.NullOrEmpty(viewModel.FullName, nameof(viewModel.FullName)); FullName = viewModel.FullName; Guard.Against.NullOrEmpty(viewModel.Description, nameof(viewModel.Description)); Description = viewModel.Description; Guard.Against.NullOrEmpty(viewModel.About, nameof(viewModel.About)); About = viewModel.About; Genders = viewModel.Genders; Age = viewModel.Age; SalaryType = viewModel.SalaryType; LocationId = viewModel.LocationId; LanguagesId = viewModel.LanguagesId; Experience = viewModel.Experience; payRate = viewModel.payRate; profileVisiblity = viewModel.profileVisiblity; WorkType = viewModel.WorkType; Website = viewModel.Website; Portfolio = viewModel.Portfolio; Linkdin = viewModel.Linkdin; Facebook = viewModel.Facebook; Twitter = viewModel.Twitter; Github = viewModel.Github; Dribbble = viewModel.Dribbble; ResumeFileId = viewModel.ResumeFileId == null ? ResumeFileId : viewModel.ResumeFileId; CategoryId = viewModel.CategoryId; userSkillsId = viewModel.userSkillsId; isApproved = approved; isArchived = viewModel.isArchived; PosterID = user.Id; CreatedOn = DateTime.Now; ExpiredOn = CreatedOn.AddMonths(1); }
public async Task <OperationResult> Approve(int Id, PostType postType, ApproveType type) { switch (postType) { case PostType.Company: { var item = await _companiesRepository.Set().FirstOrDefaultAsync(j => j.Id == Id); item.isApproved = type; var success = await _companiesRepository.SaveChangesAsync(); return(success); } case PostType.Contestant: { var item = await _contestantRepository.Set().FirstOrDefaultAsync(j => j.Id == Id); item.isApproved = type; var success = await _contestantRepository.SaveChangesAsync(); return(success); } case PostType.Job: { var item = await _jobsRepository.Set().FirstOrDefaultAsync(j => j.Id == Id); item.isApproved = type; var success = await _jobsRepository.SaveChangesAsync(); return(success); } } return(null); }
public void Update(CreateJobInputModel viewModel, ApproveType approved, User user) { Id = viewModel.Id; Guard.Against.NullOrEmpty(viewModel.Name, nameof(viewModel.Name)); Name = viewModel.Name; Guard.Against.NullOrEmpty(viewModel.Description, nameof(viewModel.Description)); Description = viewModel.Description; Guard.Against.NullOrEmpty(viewModel.Adress, nameof(viewModel.Adress)); Adress = viewModel.Adress; Guard.Against.NullOrEmpty(viewModel.WorkType, nameof(viewModel.WorkType)); WorkType = viewModel.WorkType; ExprienceLevels = viewModel.ExprienceLevels; LocationId = viewModel.LocationId; MinSalary = viewModel.MinSalary; MaxSalary = viewModel.MaxSalary; SalaryType = viewModel.SalaryType; Guard.Against.Negative(viewModel.CompanyId, nameof(viewModel.CompanyId)); CompanyId = viewModel.CompanyId; CategoryId = viewModel.CategoryId; LanguageId = viewModel.LanguageId; TagsId = viewModel.TagsId; PosterID = user.Id; isApproved = approved; isArchived = viewModel.isArchived; CreatedOn = DateTime.Now; ExpiredOn = CreatedOn.AddMonths(1); }
public async Task <int> GetAllCountByCondition(int categoryId, int companyId, string posterId, ApproveType approve) { return(0); /*await GetAllAsNoTracking() * .Where(x => categoryId != -1 ? x.CategoryId == categoryId : false) * .Where(x => companyId != -1 ? x.CompanyId == companyId : false) * .Where(x => posterId != null ? x.PosterID == posterId : false) * .Where(x => x.isApproved == approve && !x.isArchived) * .CountAsync() * .ConfigureAwait(false);*/ }