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 PriorityInQueue Save(PriorityInQueue domainObject) { using (var adapter = PersistenceLayer.GetDataAccessAdapter()) { var entity = Mapper.Map <PriorityInQueue, PriorityInQueueEntity>(domainObject); if (!adapter.SaveEntity(entity, true)) { throw new PersistenceFailureException(); } return(AutoMapper.Mapper.Map <PriorityInQueueEntity, PriorityInQueue>(entity)); } }
public CustomerEventPriorityInQueueData Save(CustomerEventPriorityInQueueData domainObject, long eventId, long customerId, long testId, long createdByOrgRoleUserId) { using (var adapter = PersistenceLayer.GetDataAccessAdapter()) { var isSaved = false; var entity = Mapper.Map <CustomerEventPriorityInQueueData, CustomerEventPriorityInQueueDataEntity>(domainObject); if (domainObject.CustomerEventScreeningTestID < 1) { var linqMetaData = new LinqMetaData(adapter); var id = (from ecr in linqMetaData.EventCustomerResult join cest in linqMetaData.CustomerEventScreeningTests on ecr.EventCustomerResultId equals cest.EventCustomerResultId where ecr.EventId == eventId && ecr.CustomerId == customerId && cest.TestId == testId select cest.CustomerEventScreeningTestId).SingleOrDefault(); var inDb = GetByCustomerEventScreeningTestIdWithoutIsActive(id); if (inDb != null) { entity.IsNew = false; entity.IsActive = true; } entity.CustomerEventScreeningTestId = id; isSaved = true; } if (!adapter.SaveEntity(entity, true)) { throw new PersistenceFailureException(); } if (isSaved) { var piq = _priorityInQueueRepository.GetByEventIdCustomerId(eventId, customerId); if (piq == null) { var ecrID = _eventCustomerResultRepository.GetByCustomerIdAndEventId(customerId, eventId); if (ecrID != null) { var metaData = new DataRecorderMetaData(createdByOrgRoleUserId, DateTime.Now, DateTime.Now); var newNote = new Notes() { Text = "", DataRecorderMetaData = metaData }; newNote = _notesRepository.Save(newNote); piq = new PriorityInQueue { EventCustomerResultId = ecrID.Id, NoteId = newNote.Id, CreatedByOrgRoleUserId = createdByOrgRoleUserId, ModifiedByOrgRoleUserId = createdByOrgRoleUserId, InQueuePriority = _priorityInQueueRepository.GetMaxPriorityInQueue(), IsActive = true }; piq.DateCreated = piq.DateModified = DateTime.Now; _priorityInQueueRepository.Save(piq); } } } return(Mapper.Map <CustomerEventPriorityInQueueDataEntity, CustomerEventPriorityInQueueData>(entity)); } }