예제 #1
0
        public void Update(UpdateEmployeePositionDto dto)
        {
            _dbContext.ValidateData(dto);
            var entity = _dbContext.EmployeePosition.SingleOrDefault(o => o.EmployeePositionID == dto.EmployeePositionID);

            entity.Merge(dto);

            _dbContext.SaveChanges();
        }
예제 #2
0
        public IActionResult UpdateDetails([Required][FromBody] UpdateEmployeePositionDto updatedEmployeePosition)
        {
            try
            {
                _repo.Update(updatedEmployeePosition);

                return(Ok());
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(BadRequest(ex.Message));
            }
        }
예제 #3
0
        public static void ValidateData(this IHDSContext context, UpdateEmployeePositionDto dto)
        {
            var errors = new StringBuilder();

            // EmployeePositionID
            errors.AddIfExists(dto.EmployeePositionID.ValidateRequired(ValidationMessages.EmployeePositionIDRequired));
            errors.AddIfExists(context.KeyExists <EmployeePosition>(dto.EmployeePositionID, ValidationMessages.EmployeePositionIDNotFound));
            // PositionID
            errors.AddIfExists(dto.PositionID.ValidateRequired(ValidationMessages.StoreRoleIDRequired));
            errors.AddIfExists(context.KeyExists <StoreRole>(dto.PositionID, ValidationMessages.StoreRoleIDNotFound));
            // EmployeeID
            errors.AddIfExists(dto.EmployeeID.ValidateRequired(ValidationMessages.EmployeeIDRequired));
            errors.AddIfExists(context.KeyExists <Employee>(dto.EmployeeID, ValidationMessages.EmployeeIDNotFound));

            if (errors.Length > 0)
            {
                throw new ValidationException(errors.ToString());
            }
        }
예제 #4
0
 public static void Merge(this EmployeePosition entity, UpdateEmployeePositionDto dto)
 {
     entity.EmployeeID = dto.EmployeeID;
     entity.PositionID = dto.PositionID;
     entity.Updated    = DateTime.UtcNow;
 }