示例#1
0
        public RegisterHolidayRequestOutputDto Register(RegisterHolidayRequestInputDto request)
        {
            // validate dto
            var dtoValidationResult = RegisterHolidayRequestInputDtoValidator.Validate(request).ToTRValidationResult();

            if (!dtoValidationResult.IsValid)
            {
                return(new RegisterHolidayRequestOutputDto(dtoValidationResult));
            }

            // get referential data
            var holidayType = HolidayTypeRepository.GetByKey(request.HolidayType);
            var user        = UserRepository.GetByKey(request.UserId);

            // create entity
            var holidayRequestEntity = new HolidayRequestEntity()
            {
                From        = request.From,
                To          = request.To,
                Remarks     = request.Remarks,
                HolidayType = holidayType,
                User        = user
            };

            //validate entity
            var entityValidationResult = HolidayRequestEntityValidator.Validate(holidayRequestEntity).ToTRValidationResult();

            if (!entityValidationResult.IsValid)
            {
                return(new RegisterHolidayRequestOutputDto(entityValidationResult));
            }

            //save entity
            if (entityValidationResult.IsValid)
            {
                HolidayRequestRepository.Register(holidayRequestEntity);
            }

            return(new RegisterHolidayRequestOutputDto(holidayRequestEntity.ToDto()));
        }
示例#2
0
 public static HolidayRequestDto ToDto(this HolidayRequestEntity entity)
 {
     return(new HolidayRequestDto(entity.Id, entity.From, entity.To,
                                  entity.Remarks, entity.IsApproved, entity.DisapprovedReason, entity.HolidayType.ToDto()));
 }
示例#3
0
 public void Register(HolidayRequestEntity holidayRequest)
 {
     TimeRegistrationDbContext.HolidayRequests.Add(holidayRequest);
     TimeRegistrationDbContext.SaveChanges();
 }