public void AddAbsenceRequestTest()
        {
            var config = new MapperConfigurationExpression();

            InitMapper(config);

            var container = new Container();

            InitContainer(container);
            MapUtil.DefaultMapper = new AutoMapperImpl(config);
            var repository = new Repository();

            InitDb(repository);
            var startDate      = DateTime.Now.AddDays(5);
            var endDate        = startDate.AddDays(8);
            var absenceRequest = new RequestAbsenceCommand("*****@*****.**", startDate, endDate);
            var bus            = container.GetInstance <IBus>();

            bus.Send(absenceRequest);
        }
        public IActionResult RequestAbsence([FromBody] RequestAbsence request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            var claimsIdentity = (ClaimsIdentity)User.Identity;
            var claimName      = claimsIdentity.FindFirst(c => c.Type == ClaimTypes.Name);
            var userName       = claimName.Value;
            var command        = new RequestAbsenceCommand(
                userName,
                request.StartDate,
                request.EndDate);

            _bus.Send(command);
            var id = command.RequestId;

            return(CreatedAtRoute("GetRequestAbsence", new { id }, id));
        }