public IHttpActionResult Get(string id = "") { if (!string.IsNullOrWhiteSpace(id)) { var model = _context.Patients.Find <PatientModel>(x => x.Id.Equals(id)).FirstOrDefault(); if (model != null) { _factory = new VMFactory(new UrlHelper(Request)); var viewModel = _factory.Create(model); return(Ok(viewModel)); } return(NotFound()); } else { var patients = _context.Patients.Find(y => y.Name.Length > 0).ToList <PatientModel>(); var _factory = new VMFactory(new UrlHelper(Request)); var viewModels = new List <PatientViewModel>(); patients.ForEach(x => { viewModels.Add(_factory.Create(x)); }); return(Ok(viewModels)); } }
public IHttpActionResult Get(string patientid) { var obs = _context.Patients.Find(x => x.Id.Equals(patientid)) .Project(y => y.Observations) .SortByDescending(z => z.Observations).ToList(); _factory = new VMFactory(new UrlHelper(Request)); var viewModel = _factory.Create(obs, patientid); return(Ok(viewModel)); }
public IHttpActionResult Post([FromBody] PatientModel patient) { if (ModelState.IsValid) { _context.Patients.InsertOne(patient); var factory = new VMFactory(new UrlHelper(Request)); var viewModel = factory.Create(patient); return(Created(viewModel.Link, viewModel)); } else { return(BadRequest(ModelState)); } }
public IHttpActionResult Post(string patientid, [FromBody] ObservationModel obs) { if (ModelState.IsValid) { var filter = Builders <PatientModel> .Filter.Eq("Id", patientid); var update = Builders <PatientModel> .Update.Push(x => x.Observations, obs); var modified = _context.Patients.UpdateOne(filter, update).ModifiedCount; var test = _context.Patients.Find(filter).FirstOrDefault(); _factory = new VMFactory(new UrlHelper(Request)); var viewModel = _factory.Create(test); return(Created(viewModel.Link, viewModel)); } else { return(BadRequest(ModelState)); } }
public IHttpActionResult GetByName(string name) { if (!string.IsNullOrWhiteSpace(name)) { var models = _context.Patients.Find <PatientModel>(x => x.Name.StartsWith(name)).ToList(); if (models != null) { _factory = new VMFactory(new UrlHelper(Request)); var viewModels = new List <PatientViewModel>(); models.ForEach(x => { viewModels.Add(_factory.Create(x)); }); return(Ok(viewModels)); } else { return(NotFound()); } } return(NotFound()); }
protected async override Task <TViewModel> GetTargetVMForAddingAsync() { return(await Task.Run(() => VMFactory.Create())); }
protected override TViewModel CreateTViewModelForAdding() { return(VMFactory.Create()); }