public static Response UpdateExercises(CreateExerciseViewModel model) { if (model.Id == Guid.Empty) { return(null); } using (var unitOfWork = RepoUnitOfWork.New()) { var exerciseRepo = unitOfWork.TrackingRepository <ExerciseRepository>(); var exercises = exerciseRepo.Get(model.Id); if (exercises == null) { return(null); } exercises.MuscleGroupId = model.MuscleGroupId; exercises.PictureUrl = model.PictureUrl; exercises.Description = model.Description; exercises.VideoUrl = model.VideoUrl; exercises.Name = model.Name; var updatedExercise = exerciseRepo.Update(exercises); if (updatedExercise == null) { return(null); } unitOfWork.CommitTransaction(); return(ResponseFactory.SuccessResponse); } }
public static async Task <Response <AspNetUser> > CreateAspNetUserAsync(RepoUnitOfWork repoUnitOfWork, CreateUserModel model) { var response = ResponseFactory.Error <AspNetUser>(); if (repoUnitOfWork == null) { repoUnitOfWork = RepoUnitOfWork.New(); } var aspNetUserRepository = repoUnitOfWork.TrackingRepository <AspNetUserRepository>(); if (!await IsEmailNotUsedAsync(model.Email).ConfigureAwait(false)) { return(response); } var aspNetUser = new AspNetUser { Id = Guid.NewGuid().ToString(), UserName = model.Email, PasswordHash = model.PasswordHash, SecurityStamp = Guid.NewGuid().ToString("D"), }; var createdAspNetUser = await aspNetUserRepository.CreateAsync(aspNetUser, navigationProperties : new[] { nameof(AspNetRole) }).ConfigureAwait(false); if (createdAspNetUser == null) { return(response); } return(ResponseFactory.Success(createdAspNetUser)); }
public static async Task <Response> Register(RegisterViewModel registerModel, string passwordHash) { using (var repoUnitOfWork = RepoUnitOfWork.New()) { var aspNetUser = new AspNetUser { Id = registerModel.Id.ToString(), Email = registerModel.Email, UserName = registerModel.Email, UserType = (int)registerModel.userType, Status = (int)UserStatus.ACTIVE, PhoneNumber = registerModel.PhoneNumber, CreatedAt = DateTime.UtcNow, PasswordHash = passwordHash, }; var aspNetUserRepo = repoUnitOfWork.TrackingRepository <AspNetUserRepository>(); var createdUser = await aspNetUserRepo.CreateAsync(aspNetUser).ConfigureAwait(false); if (createdUser != null) { repoUnitOfWork.CommitTransaction(); return(ResponseFactory.Success <AspNetUser>()); } repoUnitOfWork.RollbackTransaction(); return(ResponseFactory.Error <AspNetUser>()); } }
public static Response CreateMeal(CreateMealViewModel model) { using (var unitOfWork = RepoUnitOfWork.New()) { var foodRepo = unitOfWork.Repository <FoodRepository>(); var mealRepo = unitOfWork.Repository <MealRepository>(); var meal = new Recipe { Id = Guid.NewGuid(), Name = model.Name, Description = model.Description, PictureUrl = model.PictureUrl, }; double?caloriValue = 0; var listOfFoodsAssignments = new List <RecipeFoodAssignment>(); if (model.SelectedFoods != null) { foreach (var item in model.SelectedFoods) { var food = foodRepo.Get(item.Id); if (food == null) { unitOfWork.RollbackTransaction(); return(ResponseFactory.ErrorReponse); } caloriValue = (caloriValue + (item.Quantity * food.Calories) / food.Grams) * 100; var foodItems = new RecipeFoodAssignment { FoodId = item.Id, RecipeId = meal.Id, Quantity = item.Quantity }; listOfFoodsAssignments.Add(foodItems); } } meal.Calories = caloriValue ?? caloriValue.Value; meal.RecipeFoodAssignments = listOfFoodsAssignments; var mealCreation = mealRepo.Create(meal); if (mealCreation == null) { unitOfWork.RollbackTransaction(); return(ResponseFactory.ErrorReponse); } unitOfWork.CommitTransaction(); return(ResponseFactory.SuccessResponse); } }