public async Task <ProjectJobDetail> AddProjectJob(long projectId, string projectJobName, string userId) { ProjectJobDetail projectJobObj = new ProjectJobDetail() { ProjectId = projectId, ProjectJobName = projectJobName, CreatedDate = DateTime.UtcNow, IsDeleted = false, CreatedById = userId }; await _dbContext.ProjectJobDetail.AddAsync(projectJobObj); await _dbContext.SaveChangesAsync(); if (projectJobObj.ProjectJobId != 0) { // update project job code projectJobObj.ProjectJobCode = await GetProjectJobCode(projectJobObj); _dbContext.ProjectJobDetail.Update(projectJobObj); await _dbContext.SaveChangesAsync(); } else { throw new Exception("Project Job can not be created"); } return(projectJobObj); }
public async Task <ProjectJobDetail> IfExistProjectJob(string item) { ProjectJobDetail ifJobExist = await _dbContext.ProjectJobDetail .FirstOrDefaultAsync(x => x.ProjectJobName == item && x.IsDeleted == false); return(ifJobExist); }
public async Task <string> GetProjectJobCode(ProjectJobDetail model) { ProjectDetail projectDetail = await _dbContext.ProjectDetail.FirstOrDefaultAsync(x => x.ProjectId == model.ProjectId && x.IsDeleted == false); long projectjobCount = await _dbContext.ProjectJobDetail.LongCountAsync(x => x.ProjectId == model.ProjectId && x.IsDeleted == false); return(ProjectUtility.GenerateProjectJobCode(projectDetail.ProjectCode, projectjobCount++)); }
public async Task <ApiResponse> Handle(AddEditProjectJobDetailCommand request, CancellationToken cancellationToken) { ApiResponse response = new ApiResponse(); try { if (request.ProjectId != 0) { ProjectJobDetail obj = _mapper.Map <AddEditProjectJobDetailCommand, ProjectJobDetail>(request); if (request.ProjectJobId == 0) { obj.CreatedDate = request.CreatedDate; obj.IsDeleted = false; obj.CreatedById = request.CreatedById; await _dbContext.ProjectJobDetail.AddAsync(obj); await _dbContext.SaveChangesAsync(); if (obj.ProjectJobId != 0) { // update project job code obj.ProjectJobCode = await _iProjectServices.GetProjectJobCode(obj); await _dbContext.SaveChangesAsync(); } } else { ProjectJobDetail projectJobDetail = await _dbContext.ProjectJobDetail.FirstOrDefaultAsync(x => x.IsDeleted == false && x.ProjectJobId == request.ProjectJobId); if (projectJobDetail != null) { projectJobDetail.ProjectJobCode = obj.ProjectJobCode; projectJobDetail.ProjectJobName = obj.ProjectJobName; projectJobDetail.ProjectJobId = obj.ProjectJobId; projectJobDetail.ProjectId = obj.ProjectId; obj.ModifiedById = request.ModifiedById; obj.ModifiedDate = request.ModifiedDate; obj.IsDeleted = false; await _dbContext.SaveChangesAsync(); } } response.StatusCode = StaticResource.successStatusCode; response.Message = "Success"; } else { response.StatusCode = StaticResource.projectNotFound; } } catch (Exception ex) { response.StatusCode = StaticResource.failStatusCode; response.Message = StaticResource.SomethingWrong + ex.Message; } return(response); }