public IHttpActionResult CreatePerson([FromBody] PersonBindingModel model)
        {
            if (model == null)
            {
                return(this.BadRequest("Missing person data."));
            }

            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            var person = new Person()
            {
                Name = model.Name
            };

            this.Data.People.Add(person);
            this.Data.SaveChanges();

            return(this.CreatedAtRoute(
                       "DefaultApi",
                       new { controller = "people", id = person.Id },
                       new { person.Id, PersonName = person.Name, Message = "Person created." }));
        }
        public void TestToNewPerson()
        {
            var model = new PersonBindingModel
            {
                CityOfBirth            = 1,
                CountriesOfCitizenship = new List <int> {
                    1
                },
                DateOfBirth            = DateTime.Now,
                FirstName              = "first",
                Gender                 = Gender.Male.Id,
                IsDateOfBirthEstimated = true,
                IsDateOfBirthUnknown   = true,
                IsPlaceOfBirthUnknown  = true,
                LastName               = "last",
                ProjectId              = 5
            };
            var user     = new User(1);
            var instance = model.ToNewPerson(user);

            Assert.AreEqual(model.CityOfBirth, instance.CityOfBirth);
            CollectionAssert.AreEqual(model.CountriesOfCitizenship, instance.CountriesOfCitizenship);
            Assert.AreEqual(model.DateOfBirth, instance.DateOfBirth);
            Assert.AreEqual(model.FirstName, instance.FirstName);
            Assert.AreEqual(model.LastName, instance.LastName);
            Assert.AreEqual(model.ParticipantTypeId, instance.ParticipantTypeId);
            Assert.AreEqual(model.ProjectId, instance.ProjectId);
        }
Example #3
0
        public async Task <ICommonDto> RemoveDirectors(string id, PersonBindingModel model)
        {
            await MovieExists(id);

            var updateBuilder = Builders <Domain.Entity.Movie> .Update.PullAll(x => x.Directors, model.Persons);

            return(await ProcessUpdateArrayElements(id, updateBuilder));
        }
Example #4
0
        public async Task <ICommonDto> AddActors(string id, PersonBindingModel model)
        {
            await MovieExists(id);

            var updateBuilder = Builders <Domain.Entity.Movie> .Update.AddToSetEach(x => x.Actors, model.Persons);

            return(await ProcessUpdateArrayElements(id, updateBuilder));
        }
Example #5
0
        public static async Task <string> CreatePersonInPersonGroup(PersonBindingModel model)
        {
            var createPersonResult =
                await FaceServiceClient.CreatePersonInPersonGroupAsync(model.PersonGroupId, model.Name);

            foreach (var faceUrl in model.FacesUrl)
            {
                await FaceServiceClient.AddPersonFaceInPersonGroupAsync(model.PersonGroupId,
                                                                        createPersonResult.PersonId, faceUrl);
            }

            return(createPersonResult.PersonId.ToString());
        }
        public void TestToNewPerson_CheckIsPlaceOfBirthUnknown()
        {
            var model = new PersonBindingModel
            {
                IsDateOfBirthEstimated = false,
                IsDateOfBirthUnknown   = false,
                IsPlaceOfBirthUnknown  = true
            };
            var user     = new User(1);
            var instance = model.ToNewPerson(user);

            Assert.AreEqual(model.IsDateOfBirthUnknown, instance.IsDateOfBirthUnknown);
            Assert.AreEqual(model.IsPlaceOfBirthUnknown, instance.IsPlaceOfBirthUnknown);
            Assert.AreEqual(model.IsDateOfBirthEstimated, instance.IsDateOfBirthEstimated);
        }
        public PersonBindingModel GetPersonById(int id)
        {
            var model = new PersonBindingModel();

            var personDb = DbContext.People
                           .Find(id);

            if (personDb == null)
            {
                model.SetError("No such person in database");
                return(model);
            }

            model = Mapper.Map <PersonBindingModel>(personDb);
            return(model);
        }
        public PersonBindingModel DeletePerson(int id)
        {
            var model  = new PersonBindingModel();
            var person = DbContext.People.Find(id);

            if (person == null)
            {
                model.SetError("No such person in database");
                return(model);
            }

            DbContext.People.Remove(person);
            DbContext.SaveChanges();

            Mapper.Map(person, model);
            return(model);
        }
        public PersonBindingModel AddPerson(PersonBindingModel model)
        {
            try
            {
                var person = Mapper.Map <Person>(model);
                DbContext.People.Add(person);
                DbContext.SaveChanges();

                Mapper.Map(person, model);
                return(model);
            }
            catch (Exception e)
            {
                model.SetError("A database error occured");
                return(model);
            }
        }
Example #10
0
        public async Task <IHttpActionResult> PostPersonAsync(PersonBindingModel model)
        {
            if (ModelState.IsValid)
            {
                var currentUser  = userProvider.GetCurrentUser();
                var businessUser = userProvider.GetBusinessUser(currentUser);
                var person       = await service.CreateAsync(model.ToNewPerson(businessUser));

                await service.SaveChangesAsync();

                return(Ok());
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
Example #11
0
        public async Task <IActionResult> Update([FromRoute] string personId, [FromBody] PersonBindingModel bindingModel)
        {
            var command = new Update.Command(personId)
            {
                FirstName = bindingModel.FirstName,
                LastName  = bindingModel.LastName,
                Gender    = bindingModel.Gender
            };

            command.SetUserName(User.Identity.Name);
            var result = await _mediator.Send(command);

            // Will create a separate log file for the specific date and category, if you want to categorized the logs
            //Log.Information($"Update API endpoint was called from {this.GetType().Name} by {User.Identity.Name}" + ",{Name}", this.GetType().Name);
            Log.Information($"Update API endpoint was called from {this.GetType().Name} by {User.Identity.Name}" + " | {Name}", this.GetType().Name);

            return(Ok(result));
        }
        public PersonBindingModel EditPerson(PersonBindingModel model)
        {
            var person = DbContext.People
                         .Find(model.Id);

            if (person == null)
            {
                model.SetError("No such person in database");
                return(model);
            }

            Mapper.Map(model, person);

            DbContext.People.Update(person);
            DbContext.SaveChanges();

            Mapper.Map(person, model);
            return(model);
        }
Example #13
0
        public IActionResult Edit(PersonBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(this.View(model));
            }

            var result = this.personService.EditPerson(model);

            LogResult(result);

            if (result.HasError)
            {
                SetMessage(MessageType.Danger, result.Message);
                return(this.View(result));
            }

            SetMessage(MessageType.Success, $"{model.FirstName} {model.LastName} edited successfully");
            return(this.RedirectToAction("All"));
        }
Example #14
0
        private async Task AddPersonIntoPersonGroup(string studentId, CloudinaryResult[] imagesUploaded)
        {
            var person = new PersonBindingModel
            {
                PersonGroupId = FaceAPI.PersonGroupId,
                Name          = studentId,
                FacesUrl      = imagesUploaded.Select(c => c.SecureUri)
            };
            var personId = await FaceAPI.CreatePersonInPersonGroup(person);

            _unitOfWork.IdentityStudents.Add(new IdentityStudent
            {
                StudentId     = studentId,
                PersonGroupId = FaceAPI.PersonGroupId,
                PersonId      = personId,
                StudentFaces  = imagesUploaded.Select(c => new StudentFace
                {
                    PersonId  = personId,
                    Uri       = c.Uri,
                    SecureUri = c.SecureUri
                }).ToList()
            });
            await _unitOfWork.Completed();
        }
Example #15
0
 public IActionResult AddPerson(PersonBindingModel person)
 {
     return(Content(string.Format($"Name={person.Name}, Age={person.Age}, Height={person.Height}")));
 }
Example #16
0
 public async Task <IHttpActionResult> RemoveDirectors(string id, PersonBindingModel model)
 => Ok(await _movieService.RemoveDirectors(id, model));