public HttpResponseMessage PostListing(JobListingEntity jobListing) { //Woking , tested var result = new Result(); //Employer vertification object objemployer = null; Request.Properties.TryGetValue("employer", out objemployer); if (objemployer == null) { return(Request.CreateResponse(HttpStatusCode.Unauthorized, new Result(false))); } var employer = objemployer as EmployerEntity; var employerentity_full = (EmployerEntity)_employersManager.GetEmployerById(employer.EmployerId).Entity; if (employerentity_full.MembershipEndDate == DateTime.MinValue || employerentity_full.MembershipEndDate < (DateTime?)DateTime.Now) { // membership expired result = new Result(); result.Success = false; result.Message = "Membership expired"; return(Request.CreateResponse(HttpStatusCode.Unauthorized, result)); } jobListing.CreateDate = DateTime.Now; jobListing.EmployerId = employer.EmployerId; jobListing.ModificationDate = jobListing.CreateDate; result = _jobListingManager.CreateJobListingById(jobListing, employer.EmployerId); // return failed if (!result.Success) { return(Request.CreateResponse(HttpStatusCode.BadRequest, result)); } // if success if (jobListing.JobListingCriteria != null || jobListing.JobListingCriteria.Count > 0) { var cri_res = _jobListingCriteriaManager.InsertCriteria(jobListing.JobListingCriteria); } //Result cri_result = null; var listingID = (int)result.Entity; var listing = (JobListingEntity)_jobListingManager.GetListingById(listingID).Entity; result.Entity = listing; return(Request.CreateResponse(HttpStatusCode.Created, result)); }
public void CreateJobListingTest() { var manager = new JobListingManager(); var listing = new JobListingEntity(); System.Diagnostics.Debugger.Launch(); listing.EmployerId = 1; var result = manager.CreateJobListingById(listing, 1); Assert.IsTrue(result.Success == true); }
private Result ValidateEmployer(JobListingEntity entity) { var result = new Result(); try { var con = new DapperConnectionManager(); var query = new QueryEntity(); var credentials = new CredentialsManager(); // Check if employer is valid query.Query = @"SELECT * FROM Employers where EmployerID = @EmployerID and Active = 1"; query.Entity = entity; result = con.ExecuteQuery <UserEntity>(query); if (!result.Success) { result.Message = "Query Error"; return(result); } var r = (IEnumerable <UserEntity>)result.Entity; var employer = r.FirstOrDefault(); if (employer == null) { result.Message = "Employer not exist"; result.Success = false; result.Entity = null; return(result); } } catch (Exception ex) { if (result == null) { result = new Result(); } Logger.Log(ex); result.Entity = null; result.Success = false; result.Message = "An error occurred"; } return(result); }
// To hide the Listing public Result DeleteJobListing(JobListingEntity entity, EmployerEntity employer) { var result = new Result(); try { var con = new DapperConnectionManager(); var query = new QueryEntity(); var credentials = new CredentialsManager(); // confirm if the employer is the one that deleting if (employer.EmployerId != entity.EmployerId) { result.Message = "Forbidden operation"; result.Success = false; return(result); } // create a query for hiding the listing query.Entity = entity; query.Query = @"UPDATE JobListings set Hidden = 1 WHERE JobListingId = @JobListingId"; con.ExecuteQuery(query); result.Message = result.Success ? "The listing has been deleted" : "An error has occurred"; return(result); } catch (Exception ex) { if (result == null) { result = new Result(); } Logger.Log(ex); result.Entity = null; result.Success = false; result.Message = "An error occurred"; } return(result); }
public HttpResponseMessage UpdateJobListing([FromBody] JobListingEntity joblisting) { var result = new Result(); object objemployer = null; Request.Properties.TryGetValue("employer", out objemployer); if (objemployer == null) { return(Request.CreateResponse(HttpStatusCode.Unauthorized, new Result(false))); } var employer = objemployer as EmployerEntity; //get full entity result = _employersManager.GetEmployerById(joblisting.EmployerId); var employer_entity = (EmployerEntity)result.Entity; if (employer.EmployerId != employer_entity.EmployerId) { return(Request.CreateResponse(HttpStatusCode.Unauthorized, new Result(false))); } if (employer_entity.MembershipEndDate < (DateTime?)DateTime.Now) { joblisting.PublishStatus = false; } result = new Result(); result = _jobListingManager.EditJobListing(joblisting); if (!result.Success) { return(Request.CreateResponse(HttpStatusCode.BadRequest, result)); } result.Entity = _jobListingManager.GetListingById(joblisting.JobListingId).Entity; return(Request.CreateResponse(HttpStatusCode.OK, result)); }
public Result CreateJobListing(JobListingEntity entity, EmployerEntity employer) { var result = new Result(); try { var con = new DapperConnectionManager(); var query = new QueryEntity(); var credentials = new CredentialsManager(); // Check if employer is valid result = ValidateEmployer(entity); if (result.Success == false) { return(result); } // check if the listing has required fields if (entity.Title == null || entity.NurseType == null || entity.Suburb == null) { entity.PublishStatus = false; } entity.CreateDate = DateTime.Now; entity.ModificationDate = entity.CreateDate; // TODO : check for each element type and length query.Entity = entity; query.Query = @"INSERT INTO [dbo].[JobListings] ([EmployerId] ,[Title] ,[NurseType] ,[SpecialRequirements] ,[PublishStatus] ,[MinSalary] ,[MaxSalary] ,[CreateDate] ,[ApplicationDeadline] ,[ModificationDate] ,[Area] ,[State] ,[Country] ,[Suburb] ,[PostalCode] ,[AddressLine1] ,[AddressLine2] ,[Completed] ,[JobType]) VALUES (@EmployerId ,@Title ,@NurseType ,@SpecialRequirements ,@PublishStatus ,@MinSalary ,@MaxSalary ,@CreateDate ,@ApplicationDeadline ,@ModificationDate ,@Area ,@State ,@Country ,@Suburb ,@PostalCode ,@AddressLine1 ,@AddressLine2 ,@Completed ,@JobType)"; result = con.ExecuteQuery <JobListingEntity>(query); return(result); } catch (Exception ex) { if (result == null) { result = new Result(); } Logger.Log(ex); result.Entity = null; result.Success = false; result.Message = "An error occurred"; } return(result); }
public Result PublishJobListing(JobListingEntity entity, EmployerEntity employer) { //Validate required fields var result = new Result(); try { var con = new DapperConnectionManager(); var query = new QueryEntity(); var credentials = new CredentialsManager(); // check if the listing has required fields if (entity.JobListingId != 0) { entity.PublishStatus = true; } entity.ModificationDate = DateTime.Now; // TODO : check for each element type and length query.Entity = entity; /* query.Query = @"UPDATE [dbo].[JobListings] set * [EmployerId] = @EmployerId * ,[Title] = @Title * ,[NurseType] = ,@NurseType * ,[SpecialRequirements] = @SpecialRequirements * ,[PublishStatus] = @PublishStatus * ,[MinSalary] = @MinSalary * ,[MaxSalary] = @MaxSalary * ,[ApplicationDeadline] = @ApplicationDeadline * ,[ModificationDate] = @ModificationDate * ,[Area] = @Area * ,[State] = @State * ,[Country] = @Country * ,[Suburb] = @Suburb * ,[PostalCode] = @PostalCode * ,[AddressLine1] = @AddressLine1 * ,[AddressLine2] = @AddressLine2 * ,[Completed] = @Completed * ,[JobType] =@JobType * WHERE JobListingId = @JobListingId";*/ query.Query = @"UPDATE [dbo].[JobListings] set [PublishStatus] = @PublishStatus WHERE JobListingId = @JobListingId"; result = con.InsertQuery(query); return(result); } catch (Exception ex) { if (result == null) { result = new Result(); } Logger.Log(ex); result.Entity = null; result.Success = false; result.Message = "An error occurred"; } return(result); }
public Result EditJobListing(JobListingEntity entity) { var result = new Result(); try { var con = new DapperConnectionManager(); var query = new QueryEntity(); var credentials = new CredentialsManager(); // Check if employer is valid // check if the listing has required fields if (entity.Title == null || entity.NurseType == null || entity.Suburb == null) { entity.PublishStatus = false; } entity.ModificationDate = DateTime.Now; // TODO : check for each element type and length query.Entity = entity; query.Query = @"UPDATE JobListings SET [Title] = ISNULL( @Title , Title ) , [NurseType] = ISNULL( @NurseType , NurseType ) , [SpecialRequirements] = ISNULL( @SpecialRequirements , SpecialRequirements ) , [PublishStatus] = ISNULL( @PublishStatus , PublishStatus ) , [MinSalary] = ISNULL( @MinSalary , MinSalary ) , [MaxSalary] = ISNULL( @MaxSalary , MaxSalary ) , [ApplicationDeadline] = ISNULL( @ApplicationDeadline , ApplicationDeadline ) , [ModificationDate] = ISNULL( @ModificationDate , ModificationDate ) , [Area] = ISNULL( @Area , Area ) , [State] = ISNULL( @State , State ) , [Country] = ISNULL( @Country , Country ) , [Suburb] = ISNULL( @Suburb , Suburb ) , [PostalCode] = ISNULL( @PostalCode , PostalCode ) , [AddressLine1] = ISNULL( @AddressLine1 , AddressLine1 ) , [AddressLine2] = ISNULL( @AddressLine2 , AddressLine2 ) , [Completed] = ISNULL( @Completed , Completed ) , [JobType] = ISNULL( @JobType , JobType ) WHERE JobListingId = @JobListingId"; result = con.ExecuteQueryUnScoped(query); return(result); } catch (Exception ex) { if (result == null) { result = new Result(); } Logger.Log(ex); result.Entity = null; result.Success = false; result.Message = "An error occurred"; } return(result); }