public async Task <AccessToSystemModel> CreateAccessToSystem(AccessToSystemModel data, IPrincipal currentUser)
        {
            var claims = ((ClaimsIdentity)currentUser.Identity).Claims;

            data.LastLogin  = DateTime.Now;
            data.FullName   = claims.First(x => x.Type.Contains("firstname")).Value;
            data.SchoolCode = claims.First(x => x.Type.Contains("person_unique_id")).Value;

            /* try
             * {
             *   var people = await _peopleService.Get(data.Email);
             *   data.SchoolCode = people.SchoolId.Value.ToString(); //claims.First(x => x.Type.Contains("person_unique_id")).Value;
             * }
             * catch (Exception) {
             *   data.SchoolCode = "";
             * }*/


            var newEntity = MapAccessToSystemModelToAccessToSystemEntity(data);

            try
            {
                var entity = await _commands.CreateAccessToSystem(newEntity);

                return(MapAccessToSystemEntityToAccessToSystemModel(entity));
            }
            catch (Exception e) {
                Console.Write(e);
            }

            return(null);
        }
        private Persistence.Models.AccessToSystem MapAccessToSystemModelToAccessToSystemEntity(AccessToSystemModel model)
        {
            if (model == null)
            {
                return(null);
            }

            return(new Persistence.Models.AccessToSystem
            {
                Id = model.Id,
                Email = model.Email,
                FullName = model.FullName,
                LastLogin = model.LastLogin,
                SchoolCode = model.SchoolCode
            });
        }