public async Task <bool> ValidMark(KVRRMark currentMark) { var marks = await _unitOfWork.KVRRMarkRepository.GetAllAsync(); if (marks == null || !marks.Any()) { return(true); } if (currentMark.EntityState == FormState.Edit) { marks = marks.Where(x => x.Id != currentMark.Id);//.ToList(); } var existMark = marks.Where(x => (currentMark.MarkFrom >= x.MarkFrom && currentMark.MarkTo <= x.MarkTo) || (currentMark.MarkFrom >= x.MarkFrom && currentMark.MarkFrom <= x.MarkTo && currentMark.MarkTo > x.MarkTo) || (currentMark.MarkFrom < x.MarkFrom && currentMark.MarkTo >= x.MarkFrom && currentMark.MarkTo <= x.MarkTo) || (currentMark.MarkFrom <x.MarkFrom && currentMark.MarkTo> x.MarkTo)).ToList(); if (existMark != null && existMark.Any()) { return(false); } return(true); }
public async Task <KVRRMark> Update(KVRRMark mark) { try { if (mark == null) { throw new InvalidParameterException(); } mark.DateLastUpdated = DateTime.Now; mark.LastUpdatedBy = _userManager.CurrentUser(); mark.KVRRId = mark.KVRRId == 0 ? null : mark.KVRRId; mark.KVRR = mark.KVRRId != null?_unitOfWork.KVRRRepository.GetKVRRById(mark.KVRRId.Value) : null; _unitOfWork.KVRRMarkRepository.Update(mark); await _unitOfWork.SaveChangesAsync(); return(mark); } catch (Exception ex) { throw ex; } }