public async Task <ApiResponse> Handle(DeleteSalaryHeadCommand request, CancellationToken cancellationToken) { ApiResponse response = new ApiResponse(); try { SalaryHeadDetails existrecord = await _dbContext.SalaryHeadDetails.FirstOrDefaultAsync(x => x.SalaryHeadId == request.SalaryHeadId); if (existrecord != null) { existrecord.IsDeleted = true; await _dbContext.SaveChangesAsync(); response.StatusCode = StaticResource.successStatusCode; response.Message = "Success"; } else { response.StatusCode = StaticResource.failStatusCode; response.Message = "No Record Found"; } } catch (Exception ex) { response.StatusCode = StaticResource.failStatusCode; response.Message = ex.Message; } return(response); }
public async Task <ApiResponse> Handle(AddSalaryHeadCommand request, CancellationToken cancellationToken) { ApiResponse response = new ApiResponse(); try { SalaryHeadDetails obj = _mapper.Map <SalaryHeadDetails>(request); obj.IsDeleted = false; await _dbContext.SalaryHeadDetails.AddAsync(obj); await _dbContext.SaveChangesAsync(); List <int> employeeIds = await _dbContext.EmployeeDetail.Where(x => x.IsDeleted == false && x.EmployeeTypeId == (int)EmployeeTypeStatus.Active) .Select(x => x.EmployeeID) .ToListAsync(); if (employeeIds.Any()) { List <EmployeePayroll> employeePayrollList = new List <EmployeePayroll>(); foreach (int employeeid in employeeIds) { EmployeePayroll employeePayroll = new EmployeePayroll(); employeePayroll.IsDeleted = false; employeePayroll.AccountNo = request.AccountNo; employeePayroll.SalaryHeadId = obj.SalaryHeadId; employeePayroll.HeadTypeId = request.HeadTypeId; employeePayroll.AccountNo = request.AccountNo; employeePayroll.TransactionTypeId = request.TransactionTypeId; employeePayroll.MonthlyAmount = (double)request.MonthlyAmount; employeePayrollList.Add(employeePayroll); } await _dbContext.EmployeePayroll.AddRangeAsync(employeePayrollList); await _dbContext.SaveChangesAsync(); } response.StatusCode = StaticResource.successStatusCode; response.Message = "Success"; } catch (Exception ex) { response.StatusCode = StaticResource.failStatusCode; response.Message = ex.Message; } return(response); }