public IHttpActionResult AddPedigree(PedigreeAddDTO pedigree) { User loggedUser = this.Authenticate(); if (!ModelState.IsValid) { string errorMessage = GetModelStateErrors(ModelState); throw new FamilyValidationException(errorMessage); } Pedigree dbPedigree = this.map.ToSinglePedigree(pedigree, loggedUser.Id); dbPedigree.People.Add(new Person() { DisplayName = "Ме", IsMale = true, IsAlive = true }); this.data.Pedigrees.Insert(dbPedigree); this.data.Save(); IEnumerable <PedigreeSimpleDTO> pedigrees = this.data.Pedigrees.Get(loggedUser.Id).AsQueryable().Select(this.map.ToPedigreeSimpleDTO); return(CreatedAtRoute("DefaultApi", new { id = dbPedigree.Id }, pedigrees)); }
public Pedigree ToSinglePedigree(PedigreeAddDTO pedigree, int ownerId = 0) { return(new Pedigree { Id = 0, Title = pedigree.Title, OwnerId = ownerId }); }
public IEnumerable <PedigreeSimpleDTO> UpdatePedigree(int id, PedigreeAddDTO pedigree) { User loggedUser = this.Authenticate(); Pedigree dbPedigree = this.data.Pedigrees.GetById(loggedUser.Id, id, false); if (dbPedigree == null) { throw new FamilyException("The pedigree you are trying to update doesn't exists. Maybe it is deleted."); } if (!ModelState.IsValid) { string errorMessage = GetModelStateErrors(ModelState); throw new FamilyValidationException(errorMessage); } this.map.UpdatePedigree(pedigree, dbPedigree); this.data.Pedigrees.Update(dbPedigree); this.data.Save(); IEnumerable <PedigreeSimpleDTO> pedigrees = this.data.Pedigrees.Get(loggedUser.Id).AsQueryable().Select(this.map.ToPedigreeSimpleDTO); return(pedigrees); }
public void UpdatePedigree(PedigreeAddDTO newPedigree, Pedigree pedigreeToUpdate) { pedigreeToUpdate.Title = newPedigree.Title; }