public async Task <dynamic> UpsertUserSavedResourcesAsync(ProfileResources userData) { var userDocument = new ProfileResources(); userDocument = JsonConvert.DeserializeObject <ProfileResources>(JsonConvert.SerializeObject(userData)); string oId = userDocument.OId; dynamic result = null; string type = userData.Type; dynamic userResourcesDBData = null; var userProfile = await GetUserProfileDataAsync(oId); if (userProfile?.SavedResourcesId != null && userProfile?.SavedResourcesId != Guid.Empty) { userResourcesDBData = await dbClient.FindItemsWhereAsync(dbSettings.UserResourcesCollectionId, Constants.Id, Convert.ToString(userProfile.SavedResourcesId, CultureInfo.InvariantCulture)); } if (userResourcesDBData == null || userResourcesDBData?.Count == 0) { result = await CreateUserSavedResourcesAsync(userData); string savedResourcesId = result.Id; userProfile.SavedResourcesId = new Guid(savedResourcesId); await dbService.UpdateItemAsync(userProfile.Id, userProfile, dbSettings.ProfilesCollectionId); } else { Guid id = Guid.Parse(userResourcesDBData[0].id); result = await UpdateUserSavedResourcesAsync(id, userData); } return(result); }
public async Task <IActionResult> UpsertUserPersonalizedPlanAsync([FromBody] ProfileResources profileResources) { if (profileResources != null) { return(Ok(await userProfileBusinessLogic.UpsertUserSavedResourcesAsync(profileResources))); } return(StatusCode(400)); }
public async Task <dynamic> UpdateUserSavedResourcesAsync(Guid id, ProfileResources userResources) { var userDocument = new UserSavedResources() { SavedResourcesId = id, Resources = BuildResources(userResources) }; userDocument = JsonConvert.DeserializeObject <UserSavedResources>(JsonConvert.SerializeObject(userDocument)); return(await dbService.UpdateItemAsync(id.ToString(), userDocument, dbSettings.UserResourcesCollectionId)); }
public async Task <dynamic> CreateUserSavedResourcesAsync(ProfileResources userResources) { var userDocument = new UserSavedResources() { SavedResourcesId = Guid.NewGuid(), Resources = BuildResources(userResources) }; userDocument = JsonConvert.DeserializeObject <UserSavedResources>(JsonConvert.SerializeObject(userDocument)); return(await dbService.CreateItemAsync((userDocument), dbSettings.UserResourcesCollectionId)); }
public List <SavedResource> BuildResources(ProfileResources userResources) { var savedResources = new List <SavedResource>(); foreach (var resource in userResources.Resources) { savedResources.Add(new SavedResource() { ResourceId = resource.ResourceId, ResourceType = resource.ResourceType, ResourceDetails = resource.ResourceDetails }); } return(savedResources); }