Esempio n. 1
0
        public IDtoOutObjects CreateUser(DtoInUser dtoInUser)
        {
            string  deviceName = dtoInUser.DeviceName;
            User    user       = new User();
            var     configIn   = new MapperConfiguration(cfg => { cfg.CreateMap <DtoInUser, User>(); });
            IMapper mapperIn   = configIn.CreateMapper();

            mapperIn.Map(dtoInUser, user);
            user.BornDate = new DateTime(dtoInUser.Year, dtoInUser.Month, dtoInUser.Day);
            try
            {
                if (!UserExists(user))
                {
                    Credential c = new Credential(user.Email, Guid.NewGuid().ToString(), user);

                    Credential credential = credentialsRepository.Add(c);
                    credentialsRepository.Save();
                    User u = _usersRepostiory.FindBy(x => x.Id == user.Id && x.IsDeleted == false).FirstOrDefault();
                    #region createMapperUser
                    var     config = new MapperConfiguration(cfg => { cfg.CreateMap <User, DtoOutUser>(); });
                    IMapper mapper = config.CreateMapper();
                    #endregion
                    DtoOutUser dtoOutUser = new DtoOutUser();
                    mapper.Map(u, dtoOutUser);

                    dtoOutUser.TokenString = TokenTools.CreateToken(u, deviceName).TokenString;
                    return(dtoOutUser);
                }
                else
                {
                    DtoOutError error = new DtoOutError();
                    error.Exception = new DuplicateObjectInDatabaseException("User");
                    error.Message   = "This user is already created";
                    return(error);
                }
            }
            catch (Exception ex)
            {
                DtoOutError error = new DtoOutError();
                error.Exception = ex;
                error.Message   = ex.Message;
                return(error);
            }
        }
Esempio n. 2
0
        public IDtoOutObjects Login(string loginName, string password, string deviceName)
        {
            Credential credential = _credentialRepository.FindBy(x => x.LoginName == loginName && x.IsDeleted == false && x.ObjectUser.IsDeleted == false).FirstOrDefault();

            if (credential != null && credential.Password == password)
            {
                Token       t           = TokenTools.CreateToken(credential.ObjectUser, deviceName);
                var         config      = new MapperConfiguration(cfg => { cfg.CreateMap <Token, DtoOutToken>(); });
                IMapper     mapper      = config.CreateMapper();
                DtoOutToken dtoOutToken = new DtoOutToken();
                mapper.Map(t, dtoOutToken);
                dtoOutToken.IdUser = TokenTools.getUserFromToken(dtoOutToken.TokenString).Id;
                return(dtoOutToken);
            }
            else
            {
                DtoOutError error = new DtoOutError();
                error.Exception = new CredentialAreNotValidException();
                error.Message   = "Credentials are not assign to account";
                return(error);
            }
        }