public List <SelectListItem> AvailableEventTypes(int patientId) { List <SelectListItem> eventsSelect = new List <SelectListItem>(); List <EventType> eventTypes = new List <EventType>(); try { using (var db = new ObalonEntities()) { Patient patient = db.Patients.Find(patientId); eventTypes.AddRange(from ev in db.EventTypes where ev.IsRoutineAction == true select ev); if (patient != null && patient.Events.Count > 0 && patient.LastUserEventType > 0) { eventTypes.Add((from evt in db.EventTypes where evt.EventTypeId != patient.LastUserEventType && evt.IsRoutineAction == false orderby evt.EventTypeId select evt) .FirstOrDefault()); } else { var availableEventType = (from evt in db.EventTypes where evt.IsRoutineAction == false orderby evt.EventTypeId ascending select evt).FirstOrDefault(); if (availableEventType != null) { eventTypes.Add(availableEventType); } } } if (eventTypes.Count > 0) { foreach (var evt in eventTypes.OrderBy(ev => ev.EventTypeId).ToList()) { eventsSelect.Add(new SelectListItem() { Text = evt.EventTypeName, Value = evt.EventTypeId.ToString() }); } } } catch (Exception x) { } return(eventsSelect); }
public ResponseItem <Patient> GetPatient(int pacientId) { ResponseItem <Patient> returnValue = new ResponseItem <Patient>(); try { using (var db = new ObalonEntities()) { returnValue.Item = db.Patients.Where(p => p.PatientId == pacientId).FirstOrDefault(); } } catch (Exception ex) { //logger.Error("Error while calling GetPatient", ex); } return(returnValue); }