public void Update(UserProfileDb profile) { if (profile != null) { context.Entry(profile).State = EntityState.Modified; context.SaveChanges(); } }
public async Task <Result <UserProfileDb> > AddAsync(UserProfileDb profileDb) { try { List <CourseCategoryDb> courseCategories = new List <CourseCategoryDb>(); List <DomainDb> domains = new List <DomainDb>(); CourseCategoryDb categoryDb; DomainDb domainDb; foreach (var el in profileDb.SearchCriteria.CourseCategories) { categoryDb = context.CourseCategories .FirstOrDefault(x => x.Name == el.Name && x.Title == el.Title); courseCategories.Add(categoryDb ?? new CourseCategoryDb() { Name = el.Name, Title = el.Title }); } foreach (var el in profileDb.SearchCriteria.Domains) { domainDb = context.Domains .FirstOrDefault(x => x.DomainURL == el.DomainURL); domains.Add(domainDb ?? new DomainDb() { DomainURL = el.DomainURL, DomainName = el.DomainName }); } profileDb.SearchCriteria.CourseCategories = courseCategories; profileDb.SearchCriteria.Domains = domains; context.Profiles.Add(profileDb); await context.SaveChangesAsync().ConfigureAwait(false); return(Result <UserProfileDb> .Ok(profileDb)); } catch (DbUpdateConcurrencyException e) { return(Result <UserProfileDb> .Fail <UserProfileDb>($"Cannot save profile. {e.Message}")); } catch (DbUpdateException e) { return(Result <UserProfileDb> .Fail <UserProfileDb>($"Cannot save profile. Duplicate field. {e.Message}")); } catch (DbEntityValidationException e) { return(Result <UserProfileDb> .Fail <UserProfileDb>($"Invalid profile. {e.Message}")); } }
public async Task <Result <UserProfileDb> > DeleteAsync(UserProfileDb profileDb) { try { context.Profiles.Remove(profileDb); await context.SaveChangesAsync().ConfigureAwait(false); return(Result <UserProfileDb> .Ok(profileDb)); } catch (DbUpdateConcurrencyException e) { return(Result <UserProfileDb> .Fail <UserProfileDb>($"Profile not deleted. {e.Message}")); } catch (DbEntityValidationException e) { return(Result <UserProfileDb> .Fail <UserProfileDb>($"Invalid profile. {e.Message}")); } }
public async Task <Result <UserProfileDb> > UpdateAsync(UserProfileDb profileDb) { try { context.Entry(profileDb).State = EntityState.Modified; await context.SaveChangesAsync().ConfigureAwait(false); return(Result <UserProfileDb> .Ok(profileDb)); } catch (DbUpdateConcurrencyException e) { return(Result <UserProfileDb> .Fail <UserProfileDb>($"Profile not deleted. {e.Message}")); } catch (DbUpdateException e) { return(Result <UserProfileDb> .Fail <UserProfileDb>($"Cannot save profile. Duplicate field. {e.Message}")); } catch (DbEntityValidationException e) { return(Result <UserProfileDb> .Fail <UserProfileDb>($"Invalid profile. {e.Message}")); } }
public void Add(UserProfileDb profile) { context.Profiles.Add(profile); context.SearchCriterias.Add(profile.SearchCriteria); context.SaveChanges(); }
public void Delete(UserProfileDb profileDb) { context.SearchCriterias.Remove(context.SearchCriterias.Find(profileDb.SearchCriteria.Id)); context.Profiles.Remove(profileDb); context.SaveChanges(); }