public async Task <ApiResponse> Handle(AddJobHiringDetailCommand request, CancellationToken cancellationToken) { ApiResponse response = new ApiResponse(); try { var jobhiringinfo = await _dbContext.JobHiringDetails.FirstOrDefaultAsync(x => x.JobCode == request.JobCode); if (jobhiringinfo == null) { JobHiringDetails obj = _mapper.Map <JobHiringDetails>(request); obj.IsDeleted = false; obj.CreatedById = request.CreatedById; obj.CreatedDate = request.CreatedDate; await _dbContext.JobHiringDetails.AddAsync(obj); response.StatusCode = StaticResource.successStatusCode; response.Message = "Success"; } else { response.StatusCode = StaticResource.MandateNameAlreadyExistCode; response.Message = StaticResource.MandateNameAlreadyExist; } } catch (Exception ex) { response.StatusCode = StaticResource.failStatusCode; response.Message = StaticResource.SomethingWrong + ex.Message; } return(response); }
public async Task <ApiResponse> Handle(GetJobCodeQuery request, CancellationToken cancellationToken) { ApiResponse response = new ApiResponse(); try { JobHiringDetails jobHiringDetails = await _dbContext.JobHiringDetails.OrderByDescending(x => x.CreatedDate).FirstOrDefaultAsync(x => x.OfficeId == request.OfficeId); if (jobHiringDetails != null && jobHiringDetails.JobCode != null) { //getting the latest Job Code and finding the max number from it int count = Convert.ToInt32(jobHiringDetails.JobCode.Substring(2)); response.data.JobCode = "JC" + String.Format("{0:D4}", ++count); } else { response.data.JobCode = "JC" + String.Format("{0:D4}", 1); } response.StatusCode = StaticResource.successStatusCode; response.Message = "Success"; } catch (Exception ex) { response.StatusCode = StaticResource.failStatusCode; response.Message = ex.Message; } return(response); }
public async Task <ApiResponse> Handle(AddProjectHiringRequestCommand request, CancellationToken cancellationToken) { ApiResponse response = new ApiResponse(); try { ProjectHiringRequestDetail hiringRequestDeatil = new ProjectHiringRequestDetail() { BasicPay = request.BasicPay, BudgetLineId = request.BudgetLineId, CreatedById = request.CreatedById, CreatedDate = DateTime.UtcNow, CurrencyId = request.CurrencyId, Description = request.Description, EmployeeID = request.EmployeeID, FilledVacancies = request.FilledVacancies, GradeId = request.GradeId, IsCompleted = request.IsCompleted, IsDeleted = false, OfficeId = request.OfficeId, Position = request.Position, ProfessionId = request.ProfessionId, ProjectId = request.ProjectId, TotalVacancies = request.TotalVacancies }; await _dbContext.ProjectHiringRequestDetail.AddAsync(hiringRequestDeatil); await _dbContext.SaveChangesAsync(); if (hiringRequestDeatil.HiringRequestId != 0) { string description = string.Empty; JobHiringDetails jobDetail = new JobHiringDetails(); if (!string.IsNullOrEmpty(request.Description)) { description = request.Description.ToLower().Trim(); jobDetail = await _dbContext.JobHiringDetails.FirstOrDefaultAsync(x => x.IsDeleted == false && x.JobDescription.ToLower().Trim() == description); } if (jobDetail == null) { jobDetail = new JobHiringDetails() { JobDescription = request.Description, ProfessionId = request.ProfessionId, OfficeId = request.OfficeId, IsActive = true, GradeId = request.GradeId, HiringRequestId = hiringRequestDeatil.HiringRequestId, IsDeleted = false, CreatedById = request.CreatedById, CreatedDate = DateTime.UtcNow, Unit = request.TotalVacancies.Value }; await _dbContext.JobHiringDetails.AddAsync(jobDetail); await _dbContext.SaveChangesAsync(); if (jobDetail.JobId != 0) { jobDetail.JobCode = "JC" + String.Format("{0:D4}", jobDetail.JobId); await _dbContext.SaveChangesAsync(); } } else { throw new Exception("Job is already exist"); } } response.StatusCode = StaticResource.successStatusCode; response.Message = "Success"; } catch (Exception ex) { response.StatusCode = StaticResource.failStatusCode; response.Message = ex.Message; } return(response); }
public async Task <ApiResponse> Handle(EditHiringRequestDetailCommand request, CancellationToken cancellationToken) { ApiResponse response = new ApiResponse(); try { string description = request.Description.ToLower().Trim(); bool recordExists = await _dbContext.ProjectHiringRequestDetail.AnyAsync(x => x.IsDeleted == false && x.Description.ToLower().Trim() == description && x.HiringRequestId != request.HiringRequestId); if (!recordExists) { ProjectHiringRequestDetail projectHiringRequest = await _dbContext.ProjectHiringRequestDetail .FirstOrDefaultAsync(x => x.HiringRequestId == request.HiringRequestId && x.IsDeleted == false); projectHiringRequest.BasicPay = request.BasicPay; projectHiringRequest.BudgetLineId = request.BudgetLineId; projectHiringRequest.ModifiedById = request.ModifiedById; projectHiringRequest.ModifiedDate = DateTime.UtcNow; projectHiringRequest.CurrencyId = request.CurrencyId; projectHiringRequest.Description = request.Description; projectHiringRequest.EmployeeID = request.EmployeeID; projectHiringRequest.FilledVacancies = request.FilledVacancies; projectHiringRequest.GradeId = request.GradeId; projectHiringRequest.IsCompleted = request.IsCompleted; projectHiringRequest.OfficeId = request.OfficeId; projectHiringRequest.Position = request.Position; projectHiringRequest.ProfessionId = request.ProfessionId; projectHiringRequest.ProjectId = request.ProjectId; projectHiringRequest.TotalVacancies = request.TotalVacancies; await _dbContext.SaveChangesAsync(); // Note : edit ProjectJob in old Ui if (projectHiringRequest.HiringRequestId != 0) { JobHiringDetails jobDetail = await _dbContext.JobHiringDetails.FirstOrDefaultAsync(x => x.HiringRequestId == request.HiringRequestId && x.IsDeleted == false); if (jobDetail != null) { jobDetail.JobDescription = request.Description; jobDetail.ProfessionId = request.ProfessionId; jobDetail.OfficeId = request.OfficeId; jobDetail.IsActive = true; jobDetail.GradeId = request.GradeId; jobDetail.HiringRequestId = projectHiringRequest.HiringRequestId; jobDetail.IsDeleted = false; jobDetail.ModifiedById = request.ModifiedById; jobDetail.ModifiedDate = DateTime.UtcNow; jobDetail.Unit = request.TotalVacancies.Value; await _dbContext.SaveChangesAsync(); } } } else { throw new Exception("Hiring Request is already exist"); } response.StatusCode = StaticResource.successStatusCode; response.Message = "Success"; } catch (Exception ex) { response.StatusCode = StaticResource.failStatusCode; response.Message = ex.Message; } return(response); }