public async Task <ApiResponse> Handle(EditAttendanceGroupsCommand request, CancellationToken cancellationToken) { ApiResponse response = new ApiResponse(); try { if (request != null) { List <AttendanceGroupMaster> attendanceGroupMasterList = await _dbContext.AttendanceGroupMaster.Where(x => x.IsDeleted == false && x.Name.ToLower().Trim() == request.Name.ToLower().Trim()).ToListAsync(); bool isRecordWithSameNameExists = attendanceGroupMasterList.Any(x => x.AttendanceGroupId != request.Id); if (isRecordWithSameNameExists) { throw new Exception($"Attendance Group with Name '{request.Name}' already exists"); } AttendanceGroupMaster attendanceGroupMaster = attendanceGroupMasterList.FirstOrDefault(x => x.IsDeleted == false && x.AttendanceGroupId == request.Id); if (attendanceGroupMaster != null) { attendanceGroupMaster.Description = request.Description; attendanceGroupMaster.Name = request.Name; attendanceGroupMaster.ModifiedById = request.ModifiedById; attendanceGroupMaster.ModifiedDate = request.ModifiedDate; await _dbContext.SaveChangesAsync(); } 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(AddAttendanceGroupsCommand request, CancellationToken cancellationToken) { ApiResponse response = new ApiResponse(); try { if (request != null) { AttendanceGroupMaster recordExists = await _dbContext.AttendanceGroupMaster.FirstOrDefaultAsync(x => x.IsDeleted == false && x.Name.ToLower().Trim() == request.Name.ToLower().Trim()); if (recordExists != null) { throw new Exception($"Attendance Group with Name '{request.Name}' already exists "); } AttendanceGroupMaster attendanceGroupMaster = new AttendanceGroupMaster { CreatedDate = request.CreatedDate, CreatedById = request.CreatedById, Description = request.Description, IsDeleted = false, Name = request.Name }; await _dbContext.AttendanceGroupMaster.AddAsync(attendanceGroupMaster); await _dbContext.SaveChangesAsync(); } response.StatusCode = StaticResource.successStatusCode; response.Message = "Success"; } catch (Exception ex) { response.StatusCode = StaticResource.failStatusCode; response.Message = ex.Message; } return(response); }