示例#1
0
        public object Put(CreateUser request)
        {
            CreateUserValidator.ValidateAndThrow(request);

            using (var session = NHibernateHelper.OpenSession())
            {
                using (var transaction = session.BeginTransaction())
                {
                    var user = new UserModel();

                    user.Created = DateTime.Now.ToTimestamp();

                    if (request.FirstName.IsSet())
                    {
                        user.FirstName = request.FirstName;
                    }
                    if (request.LastName.IsSet())
                    {
                        user.LastName = request.LastName;
                    }
                    if (request.Nickname.IsSet())
                    {
                        user.Nickname = request.Nickname;
                    }
                    if (request.PhoneNumber.IsSet())
                    {
                        user.PhoneNumber = request.PhoneNumber;
                    }
                    if (request.Email.IsSet())
                    {
                        user.Email = request.Email;
                    }
                    if (request.Password.IsSet())
                    {
                        user.Password = request.Password;
                    }

                    session.SaveOrUpdate(user);
                    transaction.Commit();

                    return(new UserDto(user));
                }
            }
        }
示例#2
0
        public object Delete(DatabaseStatus request)
        {
            var user = new UserModel()
            {
                LastLoggedIn = DateTime.Now.ToTimestamp()
            };

            try
            {
                using (var session = NHibernateHelper.OpenSession())
                {
                    using (var transaction = session.BeginTransaction())
                    {
                        session.SaveOrUpdate(user);
                        transaction.Commit();
                    }
                }
            }
            catch (Exception ex)
            {
                return(new HttpError(HttpStatusCode.InternalServerError, "Creating in the database failed with: " + ex));
            }

            try
            {
                using (var session = NHibernateHelper.OpenSession())
                {
                    using (var transaction = session.BeginTransaction())
                    {
                        session.Delete(user);
                        transaction.Commit();
                    }
                }

                return(new HttpError(HttpStatusCode.OK, "Creating in and deleting from the database is functional."));
            }
            catch (Exception ex)
            {
                return(new HttpError(HttpStatusCode.InternalServerError, "Deleting from the database failed with: " + ex));
            }
        }