public void SuccessfullyAttachUntrackedEntity() { var connection = TestConfiguration.GetConnection(); var context = new MongoDbContext(connection); var dbSet = new MongoDbSet <DbSetModel>(context); var model = new DbSetModel { Id = "abcd" }; dbSet.Add(model); context.SaveChanges(); ResetMongoDb(); context = new MongoDbContext(connection); dbSet = new MongoDbSet <DbSetModel>(context); var result = dbSet.AsNoTracking().FirstOrDefault(); context.Attach(result); Assert.AreEqual(MongoFramework.Infrastructure.EntityEntryState.NoChanges, context.ChangeTracker.GetEntry(result).State); }
public void AttachRejectsMismatchedEntity() { var connection = TestConfiguration.GetConnection(); var tenantId = TestConfiguration.GetTenantId(); var context = new MongoDbTenantContext(connection, tenantId); var dbSet = new MongoDbTenantSet <DbSetModel>(context); var model = new DbSetModel { Id = "abcd" }; dbSet.Add(model); context.SaveChanges(); ResetMongoDb(); context = new MongoDbTenantContext(connection, tenantId); dbSet = new MongoDbTenantSet <DbSetModel>(context); var result = dbSet.AsNoTracking().FirstOrDefault(); result.TenantId = tenantId + "a"; Assert.ThrowsException <MultiTenantException>(() => context.Attach(result)); }
public static SetModel Convert(DbSetModel inputModel) { SetModel outputModel = new SetModel(); outputModel.trainingData = inputModel.trainingData; outputModel.setDate = inputModel.Date; outputModel.comment = inputModel.comment; return(outputModel); }
public async Task <int> SaveItemAsync(DbSetModel item) { if (item.Id != 0) { await database.UpdateAsync(item); return(item.Id); } else { await database.InsertAsync(item); return(item.Id); } }
public async void Add() { DbSetModel setModel = new DbSetModel(); setModel.Date = DateTime.Now; setModel.comment = comment; string trainingData = ""; foreach (var a in repsKgsList) { trainingData += "| " + a.Reps + "*" + a.Kgs + " |"; } //setModel.trainingData = "3*23 | 13*0 | 12*2"; string[] ids = exerciseModel.trainingId.Split('_'); setModel.trainingData = trainingData; setModel.trainingId = exerciseModel.trainingId; bool answer = await App.Current.MainPage.DisplayAlert("Is data correct?", trainingData + "\n\n" + comment, "Yes", "No"); if (!answer) { return; } if (setsList.Count != 0) { if (setsList.First().setDate.Date == DateTime.Now.Date) { bool dateAnswer = await App.Current.MainPage.DisplayAlert("Caution!", "You have already done this exercise today, do you want to add else one entry?", "Yes", "No"); if (!dateAnswer) { return; } } } try { await App.SetDatabase.SaveItemAsync(setModel); //changing data in workout DbWorkoutModel tmpWorkModel = new DbWorkoutModel(); await App.WorkoutDatabase.CreateTable(); foreach (var a in await App.WorkoutDatabase.GetItemsAsync()) { if (a.Id == Convert.ToInt32(ids[0])) { tmpWorkModel = a; break; } } tmpWorkModel.lastTrainingDate = DateTime.Now; await App.WorkoutDatabase.SaveItemAsync(tmpWorkModel); //changing data in exercise DbExerciseModel tmpExModel = new DbExerciseModel(); tmpExModel.trainingId = exerciseModel.trainingId; tmpExModel.Title = exerciseModel.titleExcercice; tmpExModel.Id = Convert.ToInt32(ids[1]); tmpExModel.lastTrainingDate = DateTime.Now; tmpExModel.amountOfSets = exerciseModel.amountOfSets; //tmpExModel.comment = exerciseModel.comment; await App.ExerciseDatabase.SaveItemAsync(tmpExModel); } catch { await App.Current.MainPage.DisplayAlert("Oops, something wrong!", "We couldn't save expression to dataBase, write to developer", "OK"); } Comment = ""; List <RepsKgsModel> tmpKgList = new List <RepsKgsModel>(repsKgsList); foreach (var a in tmpKgList) { a.Kgs = ""; a.Reps = ""; } RepsKgsList = tmpKgList; OnAppearing(new object(), new EventArgs()); }
public async Task <int> DeleteItemAsync(DbSetModel item) { return(await database.DeleteAsync(item)); }