public async Task <int> AddExhibitToEvent(int eventId, int exhibitId) { int rs = 0; Event evt = _unitOfWork.Repository <Event>().GetById(eventId); DateTime dt = Convert.ToDateTime(DateTime.Now); string s2 = dt.ToString("yyyy-MM-dd"); DateTime dtnew = Convert.ToDateTime(s2); Exhibit exhibit = _unitOfWork.Repository <Exhibit>().GetById(exhibitId); ExhibitInEvent exhibitInEvent = new ExhibitInEvent { ExhibitId = exhibit.Id, EventId = eventId, CreateDate = dtnew, Status = true }; try { await _unitOfWork.Repository <ExhibitInEvent>().InsertAsync(exhibitInEvent); await _unitOfWork.CommitAsync(); exhibit.Status = (int)ExhibitsStatus.Status.Added; _unitOfWork.Repository <Exhibit>().Update(exhibit, exhibit.Id); if (evt.Status == (int)EventStatus.Status.New) { evt.Status = (int)EventStatus.Status.Waiting; _unitOfWork.Repository <Event>().Update(evt, evt.Id); } await _unitOfWork.CommitAsync(); rs = 1; return(rs); } catch (Exception e) { throw new Exception("Add Exhibit To Event Error!!!"); } }
public async Task <int> DeleteExhibitInEvent(int exhibitId) { int rs = 0; //lấy exhibit trong bảng ExhibitInEvent chứa eventId và exhibitId đó ExhibitInEvent exhibitInEvent = _unitOfWork.Repository <ExhibitInEvent>().GetAll() .Where(e => e.Status == true && e.ExhibitId == exhibitId).FirstOrDefault(); if (exhibitInEvent != null) { Event evt = _unitOfWork.Repository <Event>().GetAll().Where(e => e.Id == exhibitInEvent.EventId).FirstOrDefault(); try { //Delete row trong bảng ExhibitInEvent _unitOfWork.Repository <ExhibitInEvent>().Delete(exhibitInEvent); //Get exhibit đó ra để set status thành Ready Exhibit exhibit = _unitOfWork.Repository <Exhibit>().GetById(exhibitId); exhibit.Status = (int)ExhibitsStatus.Status.Ready; _unitOfWork.Repository <Exhibit>().Update(exhibit, exhibit.Id); await _unitOfWork.CommitAsync(); //check xem event đó nếu k còn chứa exhibit nào thì set status về lại là 0 var exhibitInEventList = _unitOfWork.Repository <ExhibitInEvent>().GetAll() .Where(e => e.Status == true && e.EventId == evt.Id).AsQueryable(); if (exhibitInEventList.ToList().Count == 0) { evt.Status = (int)EventStatus.Status.New; _unitOfWork.Repository <Event>().Update(evt, evt.Id); } await _unitOfWork.CommitAsync(); rs = 1; return(rs); } catch (Exception) { throw new Exception("Can not delete exhibit in this event!!!"); } } return(rs); }
public String GetTopicOrEventContainExhibit(int exhibitId) { string rs = "Hiện vật này không thuộc Chủ đề hay Sự kiện nào!"; ExhibitInTopic topicContainExhibit = _unitOfWork.Repository <ExhibitInTopic>().GetAll().Where(t => t.ExhibitId == exhibitId && t.Status == true).FirstOrDefault(); if (topicContainExhibit != null) { rs = "Hiện vật này đang thuộc về Chủ đề: " + topicContainExhibit.Topic.Name.ToString(); return(rs.ToString()); } ExhibitInEvent eventContainExhibit = _unitOfWork.Repository <ExhibitInEvent>().GetAll().Where(e => e.ExhibitId == exhibitId && e.Status == true).FirstOrDefault(); if (eventContainExhibit != null) { rs = "Hiện vật này đang thuộc về Sự kiện: " + eventContainExhibit.Event.Name.ToString(); return(rs.ToString()); } return(rs.ToString()); }