Exemplo n.º 1
0
        public void Update(CurrentSessionDto dto)
        {
            using (SqlConnection sqlConnection = new SqlConnection(connectionString))
            {
                sqlConnection.Open();
                using (SqlDataAdapter adapter = new SqlDataAdapter(sql, connectionString))
                {
                    DataSet dataSet = new DataSet();
                    adapter.Fill(dataSet);

                    DataColumn[] key = new DataColumn[1];
                    key[0] = dataSet.Tables[0].Columns[0];
                    dataSet.Tables[0].PrimaryKey = key;

                    DataRow dataRow = dataSet.Tables[0].Rows.Find(dto.Id);

                    dataRow.BeginEdit();

                    dataRow["UserId"] = dto.UserId;

                    dataRow.EndEdit();
                    SqlCommandBuilder sqlCommandBuilder = new SqlCommandBuilder(adapter);

                    adapter.Update(dataSet);
                }
                sqlConnection.Close();
            }
        }
Exemplo n.º 2
0
        public void Create(CurrentSessionDto dto)
        {
            using (SqlConnection sqlConnection = new SqlConnection(connectionString))
            {
                sqlConnection.Open();
                using (SqlDataAdapter adapter = new SqlDataAdapter(sql, connectionString))
                {
                    DataSet dataSet = new DataSet();
                    adapter.Fill(dataSet, "CurrentSessions");

                    DataRow dataRowToAdd = dataSet.Tables["CurrentSessions"].NewRow();

                    foreach (var item in dto.GetType().GetProperties())
                    {
                        dataRowToAdd[item.Name] = item.GetValue(dto, null);
                    }

                    dataSet.Tables["CurrentSessions"].Rows.Add(dataRowToAdd);

                    SqlCommandBuilder sqlCommandBuilder = new SqlCommandBuilder(adapter);

                    adapter.Update(dataSet.Tables["CurrentSessions"]);
                }
                sqlConnection.Close();
            }
        }
Exemplo n.º 3
0
        public bool SignInToApplication(string email, string password)
        {
            string               userId            = "";
            CurrentSessionDto    sessionToWorkWith = null;
            List <BankClientDto> allUsers          = _bankClientDao.Read()
                                                     .ToList();
            List <CurrentSessionDto> allSessions = _currentSessionsDao.Read()
                                                   .ToList();

            foreach (var item in allUsers)
            {
                if (item.Email == email &&
                    PasswordHashGenerator.GetMd5Hash(password) == item.PasswordHash)
                {
                    userId = item.Id;
                    break;
                }
            }

            foreach (var item in allSessions)
            {
                if (item.UserId == userId)
                {
                    sessionToWorkWith = item;
                    break;
                }
            }

            if (sessionToWorkWith == null)
            {
                _currentSessionsDao.Create(new CurrentSessionDto()
                {
                    LastOperationTime = DateTime.Now,
                    UserId            = userId,
                    Id = Guid.NewGuid().ToString()
                });
                return(true);
            }

            if ((DateTime.Now - sessionToWorkWith.LastOperationTime).TotalMinutes > 60D)
            {
                _currentSessionsDao.Remove(sessionToWorkWith.Id);
                _currentSessionsDao.Create(new CurrentSessionDto()
                {
                    LastOperationTime = DateTime.Now,
                    UserId            = userId,
                    Id = Guid.NewGuid().ToString()
                });
                return(true);
            }
            return(false);
        }
Exemplo n.º 4
0
        public void CurrentSessionDao_Create()
        {
            CurrentSessionDto dto = new CurrentSessionDto()
            {
                UserId            = "1111",
                LastOperationTime = DateTime.Now,
                SignInTime        = DateTime.Now,
                EntityStatus      = EntityStatusType.IsActive,
                CreatedTime       = DateTime.Now
            };

            CurrentSessionDao dao = new CurrentSessionDao();

            dao.Create(dto);
        }
        public void CurrentSessionDao_Update()
        {
            CurrentSessionDto dto = new CurrentSessionDto();

            dto.UserId            = "002";
            dto.LastOperationTime = DateTime.Now;
            dto.SignInTime        = DateTime.Now;
            dto.EntityStatus      = EntityStatusType.IsActive;
            dto.CreatedTime       = DateTime.Now;
            CurrentSessionDao dao = new CurrentSessionDao();

            string result = dao.Update(dto);

            Assert.IsTrue(dto.Id == result);
        }
Exemplo n.º 6
0
        public void CurrentSessionDao_Delete()
        {
            CurrentSessionDto dto = new CurrentSessionDto()
            {
                Id                = Guid.NewGuid().ToString(),
                UserId            = "1111",
                LastOperationTime = DateTime.Now,
                SignInTime        = DateTime.Now,
                EntityStatus      = EntityStatusType.IsActive,
                CreatedTime       = DateTime.Now,
            };

            CurrentSessionDao dao = new CurrentSessionDao();

            dao.Create(dto);
            dao.Remove(dto.Id);
            Assert.IsNull(dao.Read(dto.Id));
        }
Exemplo n.º 7
0
        public CurrentSessionDto Read(string id)
        {
            CurrentSessionDto dtoToReturn = null;

            using (SqlConnection sqlConnection = new SqlConnection(connectionString))
            {
                sqlConnection.Open();
                using (SqlDataAdapter adapter = new SqlDataAdapter(sql, connectionString))
                {
                    DataSet dataSet = new DataSet();
                    adapter.Fill(dataSet, "CurrentSessions");
                    dataSet.Tables["CurrentSessions"].PrimaryKey = new DataColumn[] { dataSet.Tables["CurrentSessions"].Columns["Id"] };

                    DataRow dataRowToReturn = dataSet.Tables["CurrentSessions"].Rows.Find(id);

                    foreach (var item in dataRowToReturn.ItemArray.ToList())
                    {
                        Console.WriteLine(item);
                    }
                }
                sqlConnection.Close();
            }
            return(null);
        }