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);
        }
示例#2
0
        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);
        }