public void TestCreateJob_ShouldCreateJobWithCorrectParameters() { var expectedJob = ReturnCreatedJobTestData(); var postJobInputViewModel = new PostJobInputModel { Company = "FB", Description = "AmazingJob", JobTitle = "Developer", JobType = JobType.FullTime, Location = "Nyc" }; var companyInputModel = new CompanyInputViewModel() { Name = "FB", Address = "Nyc" }; this._jobService.CreateJob(postJobInputViewModel, companyInputModel); this._context.SaveChanges(); var actualJobTitle = this._context.JobAdds.FirstOrDefault(x => x.JobTitle == "Developer").JobTitle; var actualJobDescription = this._context.JobAdds.FirstOrDefault(x => x.Description == "AmazingJob").Description; Assert.Equal(actualJobTitle, expectedJob.JobTitle); Assert.Equal(actualJobDescription, expectedJob.Description); }
public void CreateJob(PostJobInputModel model, CompanyInputViewModel companyModel) { Company company = null; company = this.context.Companies.FirstOrDefault(x => x.Name == model.Company); if (company == null) { this._companyService.CreateCompany(companyModel, model); company = this.context.Companies.FirstOrDefault(x => x.Name == model.Company); } var jobAdd = new JobAdd { JobTitle = model.JobTitle, JobType = model.JobType, Salary = model.Salary, CompanyId = company.Id, Company = company, Description = model.Description, Location = model.Location, CreatedOn = DateTime.UtcNow, }; var currentCompany = this.context.Companies.FirstOrDefault(x => x.Name == model.Company); this.context.JobAdds.Add(jobAdd); this.context.SaveChanges(); if (currentCompany != null) { currentCompany.JobAdds.Add(jobAdd); this.context.SaveChanges(); } }
public void TestCreateCompany_ShouldCreateCorrectCompany() { var companyModel = new CompanyInputViewModel() { Address = "NYC", Name = "FB" }; var jobModel = new PostJobInputModel() { Description = "job", Company = "FB", Location = "NYC", JobTitle = "job", JobType = JobType.FullTime }; this._companyService.CreateCompany(companyModel, jobModel); this._context.SaveChanges(); var expected = this._context.Companies.FirstOrDefault(x => x.Name == "FB"); var actualMappedCompany = new Company() { Address = companyModel.Address, Name = companyModel.Name }; Assert.Equal(expected.Address, actualMappedCompany.Address); Assert.Equal(expected.Name, actualMappedCompany.Name); }
public IList <CompanyInputViewModel> GetAllCompanies() { var allCompanies = this.conpanies.All(); var allTowns = this.townService.GetAllTowns().ToList(); var allUseFullCategories = this.useFullCategoryService.GetAllUseFullCategories().ToList(); IList <CompanyInputViewModel> companyNames = new List <CompanyInputViewModel>(); foreach (var company in allCompanies) { string townName = allTowns.FirstOrDefault(x => x.Id == company.Town.Id).Name; string categoryName = allUseFullCategories.FirstOrDefault(x => x.Id == company.UseFullCategory.Id).Name; CompanyInputViewModel companyView = new CompanyInputViewModel() { Name = company.Name, TownName = townName, Address = company.Address, Phone = company.Phone, CategoryName = categoryName, }; companyNames.Add(companyView); } return(companyNames); }
public async Task <IActionResult> Create(CompanyInputViewModel companyModel) { if (!this.User.IsInRole(GlobalConstants.AdministratorRoleName)) { return(this.Redirect("/Identity/Account/AccessDenied")); } if (!this.ModelState.IsValid) { var error = new CompanyError { ErrorMessage = GlobalConstants.CompanyInvalidModelMessage }; return(this.RedirectToAction("Error", "Order", error)); } bool checkIfCompanyExists = await this.company.IfCompanyExistsAsync(companyModel.Name, companyModel.TownName, companyModel.CategoryName); if (checkIfCompanyExists) { var error = new CompanyError { ErrorMessage = GlobalConstants.CompanyExistsMessage }; return(this.RedirectToAction("Error", "Order", error)); } var companyModelDto = CompanyCreateInputHandMapper.Map(companyModel); await this.company.CreateCompanyAsync(companyModelDto); return(this.Redirect("/Company/All")); }
public IActionResult PostJob(PostJobInputModel model, CompanyInputViewModel companyModel) { if (ModelState.IsValid) { this._jobService.CreateJob(model, companyModel); return(Redirect("/")); } return(this.View()); }
public static CompanyInputViewDtoModel Map(CompanyInputViewModel companyModel) { var companyModelDto = new CompanyInputViewDtoModel { Name = companyModel.Name, TownName = companyModel.TownName, Address = companyModel.Address, CategoryName = companyModel.CategoryName, Phone = companyModel.Phone }; return(companyModelDto); }
public void CreateCompany(CompanyInputViewModel model, PostJobInputModel postJobModel) { var companyModel = new CompanyInputViewModel() { Address = postJobModel.Location, Name = postJobModel.Company }; var company = new Company { Address = companyModel.Address, Name = companyModel.Name, }; this._context.Companies.Add(company); this._context.SaveChanges(); }
public async Task CreateCompanyAsync(CompanyInputViewModel company) { UseFullCategory useFullCategory = await this.useFullCategories.All() .FirstOrDefaultAsync(x => x.Name == company.CategoryName); Town town = await this.towns.All().FirstOrDefaultAsync(x => x.Name == company.TownName); Company currentCompany = new Company() { Name = company.Name, Town = town, Address = company.Address, Phone = company.Phone, UseFullCategory = useFullCategory, }; await this.conpanies.AddAsync(currentCompany); await this.conpanies.SaveChangesAsync(); }
public IList <CompanyInputViewModel> GetCompaniesByTownAndCategory(string townName, string categoryName) { int townId = this.towns.All().FirstOrDefault(x => x.Name == townName).Id; int categoryId = this.useFullCategories.All().FirstOrDefault(x => x.Name == categoryName).Id; var neededCompanies = this.conpanies.All().Where(x => x.TownId == townId && x.UseFullCategoryId == categoryId); List <CompanyInputViewModel> companiesByTown = new List <CompanyInputViewModel>(); foreach (var company in neededCompanies) { CompanyInputViewModel currentCompany = new CompanyInputViewModel() { Name = company.Name, TownName = townName, Address = company.Address, Phone = company.Phone, CategoryName = categoryName, }; companiesByTown.Add(currentCompany); } return(companiesByTown); }