Example #1
0
        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));
        }
Example #2
0
 public Pedigree ToSinglePedigree(PedigreeAddDTO pedigree, int ownerId = 0)
 {
     return(new Pedigree
     {
         Id = 0,
         Title = pedigree.Title,
         OwnerId = ownerId
     });
 }
Example #3
0
        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);
        }
Example #4
0
 public void UpdatePedigree(PedigreeAddDTO newPedigree, Pedigree pedigreeToUpdate)
 {
     pedigreeToUpdate.Title = newPedigree.Title;
 }