public async Task <ExamRoom> Update(ExamRoom examRoom) { if (!await ExamRoomValidator.Update(examRoom)) { return(examRoom); } using (UOW.Begin()) { try { await UOW.ExamRoomRepository.Update(examRoom); await UOW.Commit(); return(await UOW.ExamRoomRepository.Get(examRoom.Id)); } catch (Exception e) { await UOW.Rollback(); examRoom.AddError(nameof(ExamRoomService), nameof(Update), CommonEnum.ErrorCode.SystemError); return(examRoom); } } }
private bool ValidateStringLength(ExamRoom examRoom) { if (examRoom.RoomNumber < 0) { examRoom.AddError(nameof(ExamRoomValidator), nameof(examRoom), ERROR.RoomNumberInvalid); return(false); } if (examRoom.ComputerNumber <= 0) { examRoom.AddError(nameof(ExamRoomValidator), nameof(examRoom), ERROR.ComputerNumberInvalid); return(false); } if (string.IsNullOrEmpty(examRoom.AmphitheaterName)) { examRoom.AddError(nameof(ExamRoomValidator), nameof(examRoom), ERROR.AmphitheaterNameEmpty); return(false); } else if (examRoom.AmphitheaterName.Length > 100) { examRoom.AddError(nameof(ExamRoomValidator), nameof(examRoom), ERROR.AmphitheaterNameInvalid); return(false); } return(true); }
/*private async Task<bool> ValidateExist(ExamRoom examRoom) * { * ExamRoomFilter filter = new ExamRoomFilter * { * Take = Int32.MaxValue, * RoomNumber = new ShortFilter { Equal = examRoom.RoomNumber }, * AmphitheaterName = new StringFilter { Equal = examRoom.AmphitheaterName } * }; * * int count = await UOW.ExamRoomRepository.Count(filter); * if (count == 0) * { * examRoom.AddError(nameof(ExamRoomValidator), nameof(examRoom), ERROR.NotExisted); * return false; * } * return true; * }*/ public async Task <bool> ValidateId(ExamRoom examRoom) { ExamRoomFilter filter = new ExamRoomFilter { Id = new GuidFilter { Equal = examRoom.Id } }; int count = await UOW.ExamRoomRepository.Count(filter); if (count == 0) { examRoom.AddError(nameof(ExamRoomValidator), nameof(examRoom), ERROR.IdNotFound); } return(count == 1); }
private async Task <bool> ValidateNotExist(ExamRoom examRoom) { ExamRoomFilter filter = new ExamRoomFilter { Take = Int32.MaxValue, RoomNumber = new ShortFilter { Equal = examRoom.RoomNumber }, AmphitheaterName = new StringFilter { Equal = examRoom.AmphitheaterName } }; int count = await UOW.ExamRoomRepository.Count(filter); if (count > 0) { examRoom.AddError(nameof(ExamRoomValidator), nameof(examRoom), ERROR.ExamRoomExisted); return(false); } return(true); }