public HttpResponseMessage CreateNewJob(dynamic data) { try { tblFresherJob jobDetails = new tblFresherJob(); FresherJobModel fresherJobDetails = JsonConvert.DeserializeObject<FresherJobModel>(JsonConvert.SerializeObject(data.NewJobDetails)); long publicUserProfileId = JsonConvert.DeserializeObject<long>(JsonConvert.SerializeObject(data.PublicUserProfileId)); string errorMessage = ValidateJobRequest(jobDetails); if (string.IsNullOrEmpty(errorMessage)) { return this.Request.CreateErrorResponse(HttpStatusCode.BadRequest, errorMessage); } tblUser user = _AccountRepository.GetUserDetailsByPublicUserId(publicUserProfileId); if (user.UserTypeId != (short)UserType.Organization) { return this.Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Invalid request"); } jobDetails.Title = fresherJobDetails.title; jobDetails.Description = fresherJobDetails.description; jobDetails.Salary = fresherJobDetails.salary; jobDetails.Location = fresherJobDetails.location; jobDetails.UserId = user.UserId; _SearchJobsRepository.CreateFresherJob(jobDetails); return this.Request.CreateResponse(HttpStatusCode.OK); } catch (Exception ex) { return this.Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message); } }
/// <summary> /// Creates new fresher job /// </summary> /// <param name="jobDetails"></param> public void CreateFresherJob(tblFresherJob jobDetails) { DateTime curTime = DateTime.Now; jobDetails.CreatedDate = curTime; jobDetails.UpdatedDate = curTime; _DBContext.Entry<tblFresherJob>(jobDetails).State = EntityState.Added; _DBContext.SaveChanges(); }
/// <summary> /// Validates if job details are valid /// </summary> /// <param name="jobDetails"></param> /// <returns></returns> private string ValidateJobRequest(tblFresherJob jobDetails) { string errorMessage = string.Empty; if (string.IsNullOrEmpty(jobDetails.Title)) { errorMessage = "Job title can't be empty."; } else if (string.IsNullOrEmpty(jobDetails.Description)) { errorMessage = "Job description can't be empty."; } else if (jobDetails.UserId <= 0) { errorMessage = "Invalid request"; } return errorMessage; }