Esempio n. 1
0
        public IHttpActionResult PostEmployeeContact(EmployeeContactDTO employeeContact)
        {
            if (employeeContact == null || !ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                EmployeeContact contact    = employeeContact.FromDTO();
                UnitOfWork      unitOfWork = new UnitOfWork(factory);
                contact.Id = contact.NewId(unitOfWork);
                unitOfWork.EmployeeContactsRepository.Insert(contact);
                unitOfWork.Save();

                EmployeeContactDTO dto = unitOfWork.EmployeeContactsRepository.Get(d => d.Id == contact.Id, includeProperties: "ContactType").FirstOrDefault().ToDTO();
                return(CreatedAtRoute("GetEmployeeContact", new { id = dto.Id }, dto));
            }
            catch (NotFoundException nfe)
            {
                return(NotFound());
            }
            catch (ConflictException ce)
            {
                return(Conflict());
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }