public ActionResult Edit(ViewModels.Assets.FileViewModel viewModel) { Common.Models.Account.Users currentUser; Common.Models.Assets.File file; using (Data.Transaction trans = Data.Transaction.Create()) { try { currentUser = Data.Account.Users.Get(User.Identity.Name); file = Data.Assets.File.Get(trans, viewModel.Id.Value); Common.Models.Assets.Version version = Data.Assets.Version.Get(trans, file.Version.Id.Value); file = Mapper.Map <Common.Models.Assets.File>(viewModel); file = Data.Assets.File.Edit(trans, file, currentUser); trans.Commit(); return(RedirectToAction("Details", "Assets", new { Id = version.Asset.Id.Value })); } catch (Exception ex) { trans.Rollback(); throw ex; } } }
public ActionResult Details(Guid id) { ViewModels.Assets.AssetViewModel viewModel; Common.Models.Assets.Asset model; Common.Models.Matters.Matter matter; using (IDbConnection conn = Data.Database.Instance.GetConnection()) { model = Data.Assets.Asset.Get(id, conn, false); matter = Data.Assets.Asset.GetRelatedMatter(id, conn, false); viewModel = Mapper.Map <ViewModels.Assets.AssetViewModel>(model); if (model.CheckedOutBy != null && model.CheckedOutBy.PId.HasValue) { model.CheckedOutBy = Data.Account.Users.Get(model.CheckedOutBy.PId.Value, conn, false); viewModel.CheckedOutBy = Mapper.Map <ViewModels.Account.UsersViewModel>(model.CheckedOutBy); } viewModel.Versions = new List <ViewModels.Assets.VersionViewModel>(); viewModel.Tags = new List <ViewModels.Assets.TagViewModel>(); Data.Assets.Tag.ListForAsset(model.Id.Value, conn, false).ForEach(tag => { viewModel.Tags.Add(Mapper.Map <ViewModels.Assets.TagViewModel>(tag)); }); Data.Assets.Version.ListForAsset(model.Id.Value, conn, false).ForEach(version => { ViewModels.Assets.VersionViewModel versionVM = Mapper.Map <ViewModels.Assets.VersionViewModel>(version); versionVM.Files = new List <ViewModels.Assets.FileViewModel>(); viewModel.Versions.Add(versionVM); Data.Assets.File.ListForVersion(version.Id.Value, conn, false).ForEach(file => { ViewModels.Assets.FileViewModel fileVM = Mapper.Map <ViewModels.Assets.FileViewModel>(file); versionVM.Files.Add(fileVM); }); }); PopulateCoreDetails(viewModel, conn); } ViewBag.Matter = matter; return(View(viewModel)); }