Exemple #1
0
        public GetUserInfoResponse Process(GetUserInfoRequest request)
        {
            try
            {
                if (request.UserId == 0)
                {
                }
                UserInfo userInfo = null;
                var      dao      = new UserInfoDao();
                var      userData = dao.GetUser(request.UserId);
                if (userData != null)
                {
                    userInfo = UserInfoMapper.ToModel(userData);
                }

                return(new GetUserInfoResponse()
                {
                    Token = request.Token, ResultType = ResultType.OK, UserInfo = userInfo
                });
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                return(new GetUserInfoResponse()
                {
                    Token = request.Token, ResultType = ResultType.Error
                });
            }
        }
Exemple #2
0
        public GetAllUsersResponse Process(GetAllUsersRequest request)
        {
            try
            {
                var users    = new List <UserInfo>();
                var userData = new UserInfoDao().GetAllUsers(true);
                if (userData != null)
                {
                    userData.ForEach(x => users.Add(UserInfoMapper.ToUserSummaryDto(x)));
                }

                return(new GetAllUsersResponse()
                {
                    Token = request.Token, ResultType = ResultType.OK, Users = users
                });
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                return(new GetAllUsersResponse()
                {
                    Token = request.Token, ResultType = ResultType.Error
                });
            }
        }
Exemple #3
0
        public async Task <List <UserInfoDto> > GetRichiesteAmiciziaOfCurrentUser()
        {
            Guid currentUserId = new Guid(User.Identity.GetUserId());

            List <Guid> idRichieste = await AmiciUtility.GedIdRichiesteOfUser(currentUserId);

            List <UserInfo> utentiRichieste = await dbDataContext.UserInfo.Where(x => idRichieste.Contains(x.IdAspNetUser)).ToListAsync();

            return(UserInfoMapper.UserInfoToUserInfoDtoList(utentiRichieste));
        }
Exemple #4
0
        public UpdateUserInfoResponse Process(UpdateUserInfoRequest request)
        {
            try
            {
                if (request.UserInfo == null)
                {
                }

                var userEnrollInfoDao = new UserEnrollInfoDao();
                var userDao           = new UserInfoDao();

                var enroll = new Enroll()
                {
                    DIN = (UInt64)request.UserInfo.UserId, Fingerprint = new byte[Zd2911Utils.MaxFingerprintLength * 10]
                };
                var deviceUser = new User()
                {
                    DIN = (UInt64)request.UserInfo.UserId, Enrolls = new List <Enroll> {
                        enroll
                    }
                };

                if (request.UserInfo.CredentialServices != null)
                {
                    var originalEnroll = userEnrollInfoDao.GetEnroll(request.UserInfo.UserId);
                    if (originalEnroll != null)
                    {
                        enroll.EnrollType = originalEnroll.EnrollType;
                    }
                }

                UserInfoMapper.UpdateSystemInfo(ref deviceUser, request.UserInfo);
                bool result = userDao.SaveOrUpdateUser(deviceUser);

                return(new UpdateUserInfoResponse()
                {
                    Token = request.Token, ResultType = ResultType.OK
                });
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                return(new UpdateUserInfoResponse()
                {
                    Token = request.Token, ResultType = ResultType.Error
                });
            }
        }
Exemple #5
0
        public async Task <IHttpActionResult> GetUserInfoByIdUsersAsync(Guid idUser)
        {
            UserInfo userInfo = await dbDataContext.UserInfo.SingleOrDefaultAsync(x => x.IdAspNetUser == idUser);

            string email = await dbContext.Users.Where(x => x.Id == idUser.ToString()).Select(x => x.Email).FirstOrDefaultAsync();

            //FIXME inserire anche immagine da Facebook
            //ExternalLoginData externalLogin = ExternalLoginData.FromIdentity(User.Identity as ClaimsIdentity);
            UserInfoDto dto = UserInfoMapper.UserInfoToUserInfoDto(userInfo, email);

            Guid idUtenteCorrente = new Guid(User.Identity.GetUserId());

            //se idUtenteCorrente == idUser, sto restituendo il profilo dell'utente corrente quindi non c'è nessuna relazione da stabilire: metto ME e restituisco
            if (idUser == idUtenteCorrente)
            {
                dto.Relation = UserRelation.ME;
                return(Ok(dto));
            }

            //recupero la relazione tra current e utente con idUser
            UserAmicizia userAmicizia = await dbDataContext.UserAmicizia
                                        .Where(x => (x.IdUserDestinatario == idUser && x.IdUserRichiedente == idUtenteCorrente) ||
                                               (x.IdUserDestinatario == idUtenteCorrente && x.IdUserRichiedente == idUser)
                                               ).FirstOrDefaultAsync();

            //se la relazione è null non sono amici
            if (userAmicizia == null)
            {
                dto.Relation = UserRelation.STRANGER;
            }
            //se nella relazione accettato = true i due utente sono già in contatto (sono amici)
            else if (userAmicizia.Accettato == true)
            {
                dto.Relation = UserRelation.CONTACT;
            }
            //se accettato = false e destinatario = current, richiesta in entrata
            else if (userAmicizia.Accettato == false && userAmicizia.IdUserDestinatario == idUtenteCorrente)
            {
                dto.Relation = UserRelation.REQUEST_IN;
            }
            //se accettato = false e richiedente = current, richiesta in uscita
            else if (userAmicizia.Accettato == false && userAmicizia.IdUserRichiedente == idUtenteCorrente)
            {
                dto.Relation = UserRelation.REQUEST_OUT;
            }
            return(Ok(dto));
        }
Exemple #6
0
        public async Task <List <UserInfoDto> > GetAmiciOfCurrentUser()
        {
            Guid currentUserId = new Guid(User.Identity.GetUserId());

            List <Guid> idAmici = await AmiciUtility.GetIdAmiciOfUser(currentUserId);

            List <UserInfo> amici = await dbDataContext.UserInfo.Where(x => idAmici.Contains(x.IdAspNetUser)).ToListAsync();

            //var query =
            //           from info in dbDataContext.UserInfo
            //           join user in dbContext.Users on info.IdAspNetUser equals user.Id
            //           where idAmici.Contains(info.IdAspNetUser)
            //           select new UserInfoDto { Nome = info.Nome,
            //                                    Cognome = info.Cognome,
            //                                    FotoProfilo = info.FotoProfilo,
            //                                    Email = user.Email};
            return(UserInfoMapper.UserInfoToUserInfoDtoList(amici));
        }
 public UserServiceTests(PreceptorTimeContextFactory factory)
 {
     userRepo   = new UserRepository(factory.ContextInstance);
     userMapper = new UserInfoMapper();
 }