public IActionResult AddArchive([FromBody] ViewModels.Archive data) { Models.Archive newArchive = data.FromViewModel(); // first add the collection. ViewModels.Collection c = data.Collection; Models.Collection dbCollection = null; if (!string.IsNullOrEmpty(c.Id)) { dbCollection = db.GetCollection(new ObjectId(c.Id)); } else { // try to find it by searching other fields. dbCollection = db.GetCollection(c.StartDate, c.EndDate, c.Name); } if (dbCollection == null) { Models.Collection newCollection = c.FromViewModel(); dbCollection = db.CreateCollection(newCollection); } if (dbCollection != null) { newArchive.Collection = dbCollection; } db.CreateArchive(newArchive); return(new ObjectResult(newArchive.ToViewModel())); }
public IActionResult GetCollection(string collectionId) { ObjectId id = new ObjectId(collectionId); Models.Collection collection = db.GetCollection(id); ViewModels.Collection result = collection.ToViewModel(); return(new ObjectResult(result)); }
public static Models.Collection FromViewModel(this ViewModels.Collection viewModel) { Models.Collection result = null; if (viewModel != null) { result = new Models.Collection(); if (viewModel.EndDate != null) { result.EndDate = viewModel.EndDate; } if (viewModel.StartDate != null) { result.StartDate = viewModel.StartDate; } if (viewModel.Id != null) { result.Id = new ObjectId(viewModel.Id); } result.Name = viewModel.Name; } return(result); }
public static ViewModels.Collection ToViewModel(this Models.Collection model) { ViewModels.Collection result = null; if (model != null) { result = new ViewModels.Collection(); if (model.EndDate != null) { result.EndDate = (DateTime)model.EndDate; } if (model.StartDate != null) { result.StartDate = (DateTime)model.StartDate; } if (model.Id != null) { result.Id = model.Id.ToString(); } result.Name = model.Name; } return(result); }