public IHttpActionResult Add(AddExperienceViewModel model) { if (model != null && ModelState.IsValid) { var experience = AutoMapper.Mapper.Map<Experience>(model); var organization = this.GetOrganization(model); experience.Organization = organization; experience.OrganizationId = organization.Id; //experience.JosSeekerProfile = // this.data.JobSeekerProfiles.All().FirstOrDefault(x => x.UserId == this.CurrentUser.Id); this.data.Experience.Add(experience); this.data.SaveChanges(); model.Id = experience.Id; this.data.SaveChanges(); return this.Ok(model); } return this.BadRequest(); }
protected void UpdateExperienceFromView(AddExperienceViewModel model, UserExperience original) { original.Company = model.Company; original.Position = model.Position; original.Responsibilities = model.Responsibilities; original.Start = model.Start; original.End = model.End; }
private Organization GetOrganization(AddExperienceViewModel model) { var organization = this.data.Organizations.All().Where(x => !x.IsDeleted) .FirstOrDefault(x => x.Name == model.OrganizationName); if (organization == null) { organization = new Organization() { Name = model.OrganizationName, Industry = (Industry)model.Industry }; } this.data.Organizations.Add(organization); this.data.SaveChanges(); return organization; }
public async Task <bool> AddNewExperience(AddExperienceViewModel experience) { try { var exp = new UserExperience { Id = ObjectId.GenerateNewId().ToString(), IsDeleted = false }; UpdateExperienceFromView(experience, exp); await _userExperienceRepository.Add(exp); return(true); } catch (MongoException e) { return(false); } }