public bool RemovePriorityInQueue(long eventCustomerResultId, long createdByOrgRoleUserId) { var model = new PriorityInQueueEditModel { EventCustomerResultId = eventCustomerResultId, IsPriorityInQueue = false }; UpdatePriorityinQueue(model, createdByOrgRoleUserId); return(true); }
public bool UpdatePriorityinQueue(PriorityInQueueEditModel model, long createdByOrgRoleUserId) { var piq = _priorityInQueueRepository.GetByEventCustomerResultId(model.EventCustomerResultId); if (model.IsPriorityInQueue) { if (piq != null) { if (piq.NoteId == null) { return(true); } var noteObj = _notesRepository.Get(piq.NoteId.Value); if (noteObj.Text != model.Note) { noteObj.Text = model.Note; _notesRepository.Save(noteObj); } return(true); } var metaData = new DataRecorderMetaData(createdByOrgRoleUserId, DateTime.Now, DateTime.Now); var newNote = new Notes() { Text = model.Note, DataRecorderMetaData = metaData }; newNote = _notesRepository.Save(newNote); piq = new PriorityInQueue { EventCustomerResultId = model.EventCustomerResultId, NoteId = newNote.Id, CreatedByOrgRoleUserId = createdByOrgRoleUserId, ModifiedByOrgRoleUserId = createdByOrgRoleUserId, InQueuePriority = _priorityInQueueRepository.GetMaxPriorityInQueue(), IsActive = true }; piq.DateCreated = piq.DateModified = DateTime.Now; _priorityInQueueRepository.Save(piq); } else { //var piq = _priorityInQueueRepository.GetByEventCustomerResultId(model.EventCustomerResultId); if (piq != null) { piq.InQueuePriority = 0; piq.IsActive = false; piq.DateModified = DateTime.Now; piq.ModifiedByOrgRoleUserId = createdByOrgRoleUserId; _priorityInQueueRepository.Save(piq); } } return(true); }
public ActionResult SetPriorityInQueue(PriorityInQueueEditModel priorityInQueueModel) { var eventCustomerResult = _eventCustomerResultRepository.GetById(priorityInQueueModel.EventCustomerResultId); if (eventCustomerResult == null) { return(Json(new { Message = "You cannot mark the customer as priority in queue as there is no result data for the customer.", IsSuccess = false, IsTestSaved = false })); } if (!priorityInQueueModel.IsPriorityInQueue) { var priorityInQueueTests = _priorityInQueueRepository.GetByEventCustomerResultId(priorityInQueueModel.EventCustomerResultId); if (priorityInQueueTests != null && priorityInQueueTests.Any()) { return(Json(new { Message = "Customer can not be removed from priority list as some tests are marked as Proirity in queue.", IsSuccess = false, IsTestSaved = true })); } } _priorityInQueueService.UpdatePriorityinQueue(priorityInQueueModel, _sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId); return(Json(new { Message = "Priority In queue marked successfully", IsSuccess = true, IsTestSaved = true })); }