示例#1
0
        public async Task<userInfo> CheckTempGUID(string id)
        {
            userInfo user = null;
            Client client = null;

            try
            {
                using (WW_DevEntities db = new WW_DevEntities())
                {
                    client = db.Clients.Where(q => q.TempGUID == id).FirstOrDefault();

                    //couldn't find user in client table
                    if (client == null)
                        return null;

                    ApplicationUser aspUser = await FindAspUserByUserId(client.AspUserId);

                    //couldn't find user in asp user table
                    if (aspUser == null)
                        return null;

                    if (client.TempGUIDExpire > DateTime.Now)
                    {
                        user = new userInfo
                        {
                            FirstName = client.FirstName,
                            LastName = client.LastName,
                            UserName = aspUser.UserName,
                            Roles = new List<string>(),
                            AspUserId = client.AspUserId,
                            CreateDate = client.CreatedDate.ToShortDateString()
                        };

                        user.Roles.AddRange(await FindRolesByAspUserId(client.AspUserId));
                    }

                    client.TempGUID = null;
                    client.TempGUIDExpire = null;

                    db.SaveChanges();
                }

                return user;
            }
            catch (Exception ex)
            {
                ErroLogging.LogError(ex);
                throw ex;
            }
        }
示例#2
0
        public string SetTempGUID(ApplicationUser model)
        {
            try
            {
                Client client;
                double minutes = double.Parse(Config.TempGUIDLengthInMinutes);
                DateTime guidExpirationTime = DateTime.Now.AddMinutes(minutes);

                using (WW_DevEntities db = new WW_DevEntities())
                {
                    client = db.Clients.Where(q => q.AspUserId == model.Id).FirstOrDefault();

                    if (client == null)
                        return "There was no client with that Id.";

                    client.TempGUID = Guid.NewGuid().ToString();
                    client.TempGUIDExpire = guidExpirationTime;

                    db.SaveChanges();

                    return client.TempGUID;
                }
            }
            catch (Exception ex)
            {
                ErroLogging.LogError(ex);
                throw ex;
            }
        }