Пример #1
0
        public ServiceResult <object> GridView(BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                var tableName   = Util.GetSqlServerTableName <DataLayer.Model.Core.Role.Role>();
                var queryString =
                    $"select entityId,roleName,expireMinute,deleted,fullTitle,createBy,accessKey from (select EntityId as entityId, RoleName as roleName,ExpireMinute as expireMinute,FullTitle as fullTitle,Deleted as deleted,CreateBy as createBy,AccessKey as accessKey from {tableName} where code <> 'ADMIN') e " +
                    QueryUtil.GetWhereClause(bp.Clause,
                                             QueryUtil.GetConstraintForNativeQuery(bp, ClassDetails[0].Clazz, false, false, true)) +
                    QueryUtil.GetOrderByClause(bp.Clause);
                queryString = QueryUtil.SetPaging(bp.Clause.PageNo, bp.Clause.PageSize, queryString);
                using (var unitOfWork = new UnitOfWork())
                {
                    var roleList = unitOfWork.Role.CreateNativeQuery(queryString, x => new[]
                    {
                        x[0] != null ? Convert.ToInt32(x[0]) : (object)null,
                        x[1] != null ? Convert.ToInt64(x[1]) : (object)null,
                        x[2]?.ToString(),
                        x[3]?.ToString()
                    });
                    if (roleList.Count == 0)
                    {
                        return(new ServiceResult <object>(new List <RoleDto>(), 0));
                    }
                    var list        = new List <object>();
                    var headerTitle = new object[] { "entityId", "roleName", "expireMinute" };
                    list.Add(headerTitle);
                    list.AddRange(roleList);
                    return(new ServiceResult <object>(list, roleList.Count));
                }
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #2
0
        public ServiceResult <object> GridView(BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                var tableName   = Util.GetSqlServerTableName <DataLayer.Model.Core.Organization.Organization>();
                var queryString =
                    $"select * from ( select EntityId as entityId,Name as name,child.parentName,ParentId as parentId,FullTitle as fullTitle,Deleted as deleted , AccessKey as accessKey , CreateBy as createBy from {tableName} as org left join (select EntityId as parentEntityId,Name as parentName from {tableName}) child on child.parentEntityId = org.ParentId ) e " +
                    QueryUtil.GetWhereClause(bp.Clause,
                                             QueryUtil.GetConstraintForNativeQuery(bp, ClassDetails[0].Clazz, false, false, false)) +
                    QueryUtil.GetOrderByClause(bp.Clause);
                queryString = QueryUtil.SetPaging(bp.Clause.PageNo, bp.Clause.PageSize, queryString);
                using (var unitOfWork = new UnitOfWork())
                {
                    var orgList = unitOfWork.Organization.CreateNativeQuery(queryString, x => new[]
                    {
                        x[0] != null ? Convert.ToInt32(x[0]) : (object)null,
                        x[1] != null ? Convert.ToInt64(x[1]) : (object)null,
                        x[2]?.ToString(),
                        x[3]?.ToString()
                    });
                    if (orgList.Count == 0)
                    {
                        return(new ServiceResult <object>(new List <OrganizationDto>(), 1));
                    }
                    var list        = new List <object>();
                    var headerTitle = new object[] { "entityId", "name", "parent" };
                    list.Add(headerTitle);
                    list.AddRange(orgList);
                    return(new ServiceResult <object>(list, orgList.Count));
                }
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #3
0
        public ServiceResult <object> GetState(BusinessParam bp, EntityStateDto dto)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                var tblUser         = Util.GetSqlServerTableName <Users>();
                var tblOrganization = Util.GetSqlServerTableName <DataLayer.Model.Core.Organization.Organization>();
                var tblRole         = Util.GetSqlServerTableName <DataLayer.Model.Core.Role.Role>();
                var tblEntity       = Util.GetSqlServerTableName <DataLayer.Model.Core.EntityState.EntityState>();
                var queryString     =
                    $"select entityId,tableName,tblEntityId,organizationName,userRoleRoleName, userLockerFirstName,userLockerLastName,userEntityId,fullTitle,deleted,createBy,accessKey from(select EntityId as entityId,FullTitle as fullTitle,mainUser.userEntityId as userEntityId ,Deleted as deleted,CreateBy as createBy,AccessKey as accessKey,TableName as tableName,TableEntityId as tblEntityId,mainOrganization.orgName as organizationName,mainRole.roleName as userRoleRoleName,mainUser.userFirstName as userLockerFirstName,mainUser.lastName as userLockerLastName from(select * from {tblEntity} where TableName = N'{dto.TableName}' And  TableEntityId = {dto.TableEntityId}) as mainData left join(select EntityId as roleEntityId,RoleName as roleName from {tblRole}) as mainRole on mainRole.roleEntityId = mainData.RoleId left join(select EntityId as OrganizationEntityId ,Name as orgName from {tblOrganization}) as mainOrganization on mainOrganization.OrganizationEntityId = mainData.OrganizationId left join(select EntityId as userEntityId,FirstName as userFirstName,LastName as lastName from {tblUser}) as mainUser on mainUser.userEntityId = mainData.UserId ) e  " +
                    QueryUtil.GetWhereClause(bp.Clause,
                                             QueryUtil.GetConstraintForNativeQuery(bp, ClassDetails[0].Clazz, false, false, true)) +
                    QueryUtil.GetOrderByClause(bp.Clause);
                using (var unitOfWork = new UnitOfWork())
                {
                    var entityStateList = unitOfWork.EntityState.CreateNativeQuery(queryString, x =>
                                                                                   new Dictionary <string, object>
                    {
                        { "entityId", Convert.ToInt64(x[0].ToString()) },
                        { "roleName", x[4].ToString() },
                        { "name", x[5].ToString() },
                        { "family", x[6].ToString() },
                        { "orgName", x[3].ToString() },
                        { "active", bp.UserInfo.UserId == Convert.ToInt64(x[7].ToString()) ? "1" : "0" }
                    });
                    return(entityStateList.Count == 0
                        ? new ServiceResult <object>(Enumerator.ErrorCode.NotFound, "رکوردی یافت نشد")
                        : new ServiceResult <object>(entityStateList[0], entityStateList.Count));
                }
            }
            catch (Exception ex)
            {
                return(ExceptionUtil.ExceptionHandler(ex, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #4
0
        public ServiceResult <object> AutocompleteView(BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                var tableName   = Util.GetSqlServerTableName <Users>();
                var queryString =
                    $"select * from (select EntityId as entityId,PersonId as parentId,FirstName as firstName,LastName as lastName,Username as username, FullTitle as fullTitle,Deleted as deleted,CreateBy as createBy,AccessKey as accessKey from {tableName}) e" +
                    QueryUtil.GetWhereClause(bp.Clause,
                                             QueryUtil.GetConstraintForNativeQuery(bp, ClassDetails[0].Clazz, true, false, true)) +
                    QueryUtil.GetOrderByClause(bp.Clause);
                using (var unitOfWork = new UnitOfWork())
                {
                    var usersList = unitOfWork.Users.CreateNativeQuery(queryString, x => new Dictionary <string, object>
                    {
                        { "entityId", Convert.ToInt64(x[0].ToString()) },
                        {
                            "parentId",
                            !string.IsNullOrEmpty(x[1].ToString()) ? Convert.ToInt64(x[1].ToString()) : (long?)null
                        },
                        { "firstName", x[2]?.ToString() },
                        { "lastName", x[3]?.ToString() },
                        { "username", x[4]?.ToString() },
                        { "fullTitle", x[4]?.ToString() }
                    });
                    return(usersList.Count == 0
                        ? new ServiceResult <object>(Enumerator.ErrorCode.NotFound, "رکوردی یافت نشد")
                        : new ServiceResult <object>(usersList, usersList.Count));
                }
            }
            catch (Exception ex)
            {
                return(ExceptionUtil.ExceptionHandler(ex, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }