Esempio n. 1
0
 /// <summary>
 /// Refreshs the entity instance from the database.
 /// </summary>
 ///
 /// <param name="userContext">
 /// User context.
 /// </param>
 ///
 /// <param name="appSettings">
 /// Entity to refresh (must be in database).
 /// </param>
 public void Refresh(IUserContext userContext, ref VahapYigit.Test.Models.UserRole entity)
 {
     using (var et = new ExecutionTracerService())
         using (var db = new UserRoleCrud(userContext))
         {
             db.Refresh(ref entity);
         }
 }
Esempio n. 2
0
 /// <summary>
 /// Gets an entity given its unique ID.
 /// </summary>
 ///
 /// <param name="userContext">
 /// User context.
 /// </param>
 ///
 /// <param name="id">
 /// Unique ID.
 /// </param>
 ///
 /// <returns>
 /// The entity.
 /// </returns>
 public VahapYigit.Test.Models.UserRole GetById(IUserContext userContext, long id)
 {
     using (var et = new ExecutionTracerService())
         using (var db = new UserRoleCrud(userContext))
         {
             return(db.GetById(id));
         }
 }
Esempio n. 3
0
 /// <summary>
 /// Deletes the entity from the database.
 /// </summary>
 ///
 /// <param name="userContext">
 /// User context.
 /// </param>
 ///
 /// <param name="entity">
 /// Entity to delete.
 /// </param>
 ///
 /// <returns>
 /// The number of affected rows.
 /// </returns>
 public int Delete(IUserContext userContext, VahapYigit.Test.Models.UserRole entity)
 {
     using (var et = new ExecutionTracerService())
         using (var db = new UserRoleCrud(userContext))
         {
             return(db.Delete(entity));
         }
 }
Esempio n. 4
0
 /// <summary>
 /// Deletes the entity given its unique ID.
 /// </summary>
 ///
 /// <param name="userContext">
 /// User context.
 /// </param>
 ///
 /// <param name="id">
 /// Unique ID.
 /// </param>
 ///
 /// <returns>
 /// The number of affected rows.
 /// </returns>
 public int Delete(IUserContext userContext, long id)
 {
     using (var et = new ExecutionTracerService())
         using (var db = new UserRoleCrud(userContext))
         {
             return(db.Delete(id));
         }
 }
Esempio n. 5
0
 /// <summary>
 /// Saves (or updates) the entity in the database.
 /// </summary>
 ///
 /// <param name="userContext">
 /// User context.
 /// </param>
 ///
 /// <param name="entity">
 /// Entity to save or update.
 /// </param>
 ///
 /// <param name="options">
 /// Optional options.
 /// </param>
 ///
 /// <returns>
 /// The number of affected rows.
 /// </returns>
 public int Save(IUserContext userContext, ref VahapYigit.Test.Models.UserRole entity, SaveOptions options = null)
 {
     using (var et = new ExecutionTracerService(tag: entity.State.ToString()))
         using (var db = new UserRoleCrud(userContext))
         {
             return(db.Save(ref entity, options));
         }
 }
Esempio n. 6
0
 /// <summary>
 /// Indicates whether the search returns at least 1 entity.
 /// </summary>
 ///
 /// <param name="userContext">
 /// User context.
 /// </param>
 ///
 /// <param name="options">
 /// Optional search options. If not defined, all records are returned.
 /// </param>
 ///
 /// <returns>
 /// True if the search returns at least 1 entity; otherwise, false.
 /// </returns>
 public bool HasResult(IUserContext userContext, SearchOptions options = null)
 {
     using (var et = new ExecutionTracerService())
         using (var db = new UserRoleCrud(userContext))
         {
             return(db.HasResult(options));
         }
 }
Esempio n. 7
0
 /// <summary>
 /// Gets entities with search options.
 /// </summary>
 ///
 /// <param name="userContext">
 /// User context.
 /// </param>
 ///
 /// <param name="options">
 /// Optional options, filters, orderby, paging, etc.
 /// </param>
 ///
 /// <returns>
 /// A collection of entities.
 /// </returns>
 public TCollection <VahapYigit.Test.Models.UserRole> Search(IUserContext userContext, ref SearchOptions options)
 {
     using (var et = new ExecutionTracerService())
         using (var db = new UserRoleCrud(userContext))
         {
             return(db.Search(ref options));
         }
 }
Esempio n. 8
0
 /// <summary>
 /// Gets all the UserRole entities associated to a given User.
 /// </summary>
 ///
 /// <param name="userContext">
 /// User context.
 /// </param>
 ///
 /// <param name="idUser">
 /// Unique ID of the User.
 /// </param>
 ///
 /// <returns>
 /// A collection of UserRole entities.
 /// </returns>
 public TCollection <VahapYigit.Test.Models.UserRole> GetByIdUser(IUserContext userContext, long idUser)
 {
     using (var et = new ExecutionTracerService())
         using (var db = new UserRoleCrud(userContext))
         {
             return(db.GetByIdUser(idUser));
         }
 }
Esempio n. 9
0
        public bool IsRegistered(IUserContext userContext, out User user)
        {
            bool bIsRegistered = false;

            user = null;

            using (var et = new ExecutionTracerService())
                using (var userCrud = new UserCrud(userContext))
                    using (var userRoleCrud = new UserRoleCrud(userContext))
                        using (var roleCrud = new RoleCrud(userContext))
                        {
                            var options = new SearchOptions {
                                MaxRecords = 1
                            };

                            // Note about the the first parameter (orGroup) -> different values -> OR operator
                            // Thus userContext.Identifier can contain either the Username or the email address (Unique constraint on these values)

                            options.Filters.Add(0, User.ColumnNames.Username, FilterOperator.Equals, userContext.Identifier);
                            options.Filters.Add(1, User.ColumnNames.Email, FilterOperator.Equals, userContext.Identifier);

                            var users = userCrud.Search(ref options);
                            if (users.Count == 1)
                            {
                                user = users.First();
                                if (user.Password == userContext.Password)         // because of French_CI_AI collation at SQL Server side (Case Insensitive, Accent Insensitive)
                                {
                                    bIsRegistered = true;

                                    userCrud.LoadUserRoleCollection(ref user);
                                    user.UserRoleCollection.ForEach((userRole) => { userRoleCrud.LoadRole(ref userRole); });

                                    user.LastConnectionDate = DateTime.Now;
                                    userCrud.Save(ref user);
                                }
                            }
                        }

            if (!bIsRegistered)
            {
                user = null;
            }

            return(bIsRegistered);
        }