public static Application UpdateDbObject(this Application dbObject, ApplicationModel application, bool recursive = false) { dbObject.ApplicationName = application.ApplicationName; dbObject.Description = application.Description; dbObject.IsActive = application.IsActive; dbObject.SuiteId = application.SuiteId; if (recursive) { throw new NotImplementedException("TE081701: UpdateDbObject - Application recursive not implemented"); } return dbObject; }
public ApplicationModel UpdateApplication(ApplicationModel model) { if (model == null) throw new ArgumentNullException("model"); Application applicationInDb; using (var unitOfWork = new UnitOfWork(_connectionString)) { bool userAuthorised = UserAuthorizedToAccessSuite(unitOfWork, model.UserId, model.SuiteId, new[] {RoleType.Admin}); if (!userAuthorised) throw new UnauthorizedUserException( "User does not have access or sufficient privileges for this action to suite: " + model.SuiteId); applicationInDb = unitOfWork.Context.Applications.FirstOrDefault( x => x.ApplicationId == model.ApplicationId && x.SuiteId == model.SuiteId); if (applicationInDb != null) { applicationInDb.Description = model.Description; applicationInDb.ApplicationName = model.ApplicationName; unitOfWork.Update(applicationInDb); } else { throw new InvalidOperationException("No application exists with id:" + model.ApplicationId + " and suite id: " + model.SuiteId); } } return applicationInDb.ToModel(); }
public ApplicationModel AddApplication(ApplicationModel model) { if (model == null) throw new ArgumentNullException("model"); Application appToReturn; using (var unitOfWork = new UnitOfWork(_connectionString)) { bool userAuthorised = UserAuthorizedToAccessSuite(unitOfWork, model.UserId, model.SuiteId, new[] {RoleType.Admin}); if (!userAuthorised) throw new UnauthorizedUserException( "User does not have access or sufficient privileges for this action to suite: " + model.SuiteId); appToReturn = model.ToNewDbObject(); unitOfWork.Add(appToReturn); } if (appToReturn != null) return appToReturn.ToModel(); return null; }