public static object GetConverted(object value, e_ConvertType e_Convert, bool allowNull = true)
        {
            switch (e_Convert)
            {
            case e_ConvertType.String:
                return((value.ToStringObj().ToLower().Trim() == "null" || value.ToStringObj().ToLower().Trim() == "\"null\"") ? null : (!allowNull ? value.ToStringObj() : value.ToStringObjNull()));

            case e_ConvertType.Integer:
                return(!allowNull?value.ToIntObj() : value.ToIntObjNull());

            case e_ConvertType.Decimal:
                return(!allowNull?value.ToDecimalObj() : value.ToDecimalObjNull());

            case e_ConvertType.DateTime:
                return(!allowNull?value.ToDateTimeObj() : value.ToDateTimeObjNull());

            case e_ConvertType.Boolean:
                return(!allowNull?value.ToBoolObj() : value.ToBoolObjNull());

            case e_ConvertType.Long:
                return(!allowNull?value.ToLongObj() : value.ToLongObjNull());

            case e_ConvertType.Uniqueidentifier:
                return(!allowNull?value.ToGuidObj() : value.ToGuidObjNull());
            }
            return(value);
        }
Ejemplo n.º 2
0
        private object GetParameterCode(ICodeBase codeBase, DCEntityParametersModel parameterModel, EntityPropertyModel entityProperty)
        {
            e_ConvertType e_Convert = e_ConvertType.String;
            string        pn        = parameterModel.ParameterName;

            switch (this.MethodType)
            {
            case e_MethodType.Create:
                e_Convert = this.ConvertStrToType(entityProperty.DbType);
                break;

            case e_MethodType.Update:
                e_Convert = this.ConvertStrToType(entityProperty.DbType);
                break;

            case e_MethodType.Delete:
                e_Convert = this.ConvertStrToType(entityProperty.DbType);
                break;
            }
            return(parameterModel.GetRendered(codeBase, e_Convert, entityProperty.Required));
        }
Ejemplo n.º 3
0
        private object GetParameterCode(ICodeBase codeBase, DCMethodParaetersModel paraetersModel)
        {
            e_ConvertType e_Convert = e_ConvertType.String;
            string        pn        = paraetersModel.ParameterName;

            switch (this.MethodGroupType)
            {
            case e_MethodGroupType.User:
                switch (this.MethodID)
                {
                case nameof(IUserCodeHelper.CreateBpmsUser):
                    e_Convert = this.ConvertStrToType("userName:String,firstName:String,LastName:String,email:String,mobile:String,telePhone:String".Split(',').FirstOrDefault(c => c.Split(':')[0] == pn).Split(':')[1]);
                    break;

                case nameof(IUserCodeHelper.CreateSiteUser):
                    e_Convert = this.ConvertStrToType("userName:String,firstName:String,LastName:String,email:String,password:String,doLogin:Boolean,createBpms:Boolean".Split(',').FirstOrDefault(c => c.Split(':')[0] == pn).Split(':')[1]);
                    break;

                case nameof(IUserCodeHelper.GetUserPropertyByID):
                    e_Convert = this.ConvertStrToType("id:Guid,propertyName:String".Split(',').FirstOrDefault(c => c.Split(':')[0] == pn).Split(':')[1]);
                    break;

                case nameof(IUserCodeHelper.GetUserPropertyByUserName):
                    e_Convert = this.ConvertStrToType("userName:String,propertyName:String".Split(',').FirstOrDefault(c => c.Split(':')[0] == pn).Split(':')[1]);
                    break;
                }
                break;

            case e_MethodGroupType.Message:
                switch (this.MethodID)
                {
                case nameof(IMessageCodeHelper.AddError):
                    e_Convert = this.ConvertStrToType("message:String".Split(',').FirstOrDefault(c => c.Split(':')[0] == pn).Split(':')[1]);
                    break;

                case nameof(IMessageCodeHelper.AddInfo):
                    e_Convert = this.ConvertStrToType("message:String".Split(',').FirstOrDefault(c => c.Split(':')[0] == pn).Split(':')[1]);
                    break;

                case nameof(IMessageCodeHelper.AddSuccess):
                    e_Convert = this.ConvertStrToType("message:String".Split(',').FirstOrDefault(c => c.Split(':')[0] == pn).Split(':')[1]);
                    break;

                case nameof(IMessageCodeHelper.AddWarning):
                    e_Convert = this.ConvertStrToType("message:String".Split(',').FirstOrDefault(c => c.Split(':')[0] == pn).Split(':')[1]);
                    break;
                }
                break;

            case e_MethodGroupType.Url:
                switch (this.MethodID)
                {
                case "RedirectUrl":
                    e_Convert = this.ConvertStrToType("url:String".Split(',').FirstOrDefault(c => c.Split(':')[0] == pn).Split(':')[1]);
                    break;

                case "RedirectForm":
                    e_Convert = this.ConvertStrToType("applicationPageId:Guid".Split(',').FirstOrDefault(c => c.Split(':')[0] == pn).Split(':')[1]);
                    break;
                }
                break;

            case e_MethodGroupType.AccessRule:
                switch (this.MethodID)
                {
                case "GetDepartmentHierarchyByUserId":
                    e_Convert = this.ConvertStrToType("userID:Guid,roleCode:Integer,goUpDepartment:Boolean".Split(',').FirstOrDefault(c => c.Split(':')[0] == pn).Split(':')[1]);
                    break;

                case "GetUserID":
                    e_Convert = this.ConvertStrToType("departmentID:Guid,roleCode:Integer".Split(',').FirstOrDefault(c => c.Split(':')[0] == pn).Split(':')[1]);
                    break;

                case "GetRoleCode":
                    e_Convert = this.ConvertStrToType("userID:Guid,departmentID:Guid".Split(',').FirstOrDefault(c => c.Split(':')[0] == pn).Split(':')[1]);
                    break;

                case "GetRoleCodeList":
                    e_Convert = this.ConvertStrToType("userID:Guid,departmentID:Guid".Split(',').FirstOrDefault(c => c.Split(':')[0] == pn).Split(':')[1]);
                    break;

                case "AddRoleToUser":
                    e_Convert = this.ConvertStrToType("userID:Guid,departmentID:Guid,roleCode:Integer".Split(',').FirstOrDefault(c => c.Split(':')[0] == pn).Split(':')[1]);
                    break;

                case "RemoveRoleFromUser":
                    e_Convert = this.ConvertStrToType("userID:Guid,departmentID:Guid,roleCode:Integer".Split(',').FirstOrDefault(c => c.Split(':')[0] == pn).Split(':')[1]);
                    break;
                }
                break;
            }
            return(paraetersModel.GetRendered(codeBase, e_Convert));
        }
        /// <summary>
        /// this method would return variable convert type like string,int,boo,... according to variable name
        /// </summary>
        public static e_ConvertType GetVariableConvertType(string variableName, Guid?processId, Guid?applicationPageId, IUnitOfWork unitOfWork)
        {
            e_ConvertType   e_Convert       = e_ConvertType.Integer;
            sysBpmsVariable sysBpmsVariable = unitOfWork.Repository <IVariableRepository>().GetInfo(processId, applicationPageId, variableName.Split('.')[0], null);;

            if (sysBpmsVariable != null)
            {
                switch ((sysBpmsVariable.e_VarTypeLU)sysBpmsVariable.VarTypeLU)
                {
                case sysBpmsVariable.e_VarTypeLU.String:
                    e_Convert = e_ConvertType.String;
                    break;

                case sysBpmsVariable.e_VarTypeLU.Uniqueidentifier:
                    e_Convert = e_ConvertType.Uniqueidentifier;
                    break;

                case sysBpmsVariable.e_VarTypeLU.Integer:
                    e_Convert = e_ConvertType.Integer;
                    break;

                case sysBpmsVariable.e_VarTypeLU.Decimal:
                    e_Convert = e_ConvertType.Decimal;
                    break;

                case sysBpmsVariable.e_VarTypeLU.List:

                    break;

                case sysBpmsVariable.e_VarTypeLU.Object:
                    switch ((sysBpmsVariable.e_RelationTypeLU)sysBpmsVariable.RelationTypeLU)
                    {
                    case sysBpmsVariable.e_RelationTypeLU.Entity:
                        sysBpmsEntityDef sysEntity = unitOfWork.Repository <IEntityDefRepository>().GetInfo(sysBpmsVariable.EntityDefID.Value);
                        if (sysEntity != null && variableName.Split('.').Count() == 2)
                        {
                            EntityPropertyModel propertyModel = sysEntity.AllProperties.FirstOrDefault(c => c.Name == variableName.Split('.')[1]);
                            if (propertyModel != null)
                            {
                                switch (propertyModel.DbType)
                                {
                                case EntityPropertyModel.e_dbType.String: e_Convert = e_ConvertType.String; break;

                                case EntityPropertyModel.e_dbType.Integer: e_Convert = e_ConvertType.Integer; break;

                                case EntityPropertyModel.e_dbType.Decimal: e_Convert = e_ConvertType.Decimal; break;

                                case EntityPropertyModel.e_dbType.Long: e_Convert = e_ConvertType.Long; break;

                                case EntityPropertyModel.e_dbType.DateTime: e_Convert = e_ConvertType.DateTime; break;

                                case EntityPropertyModel.e_dbType.Uniqueidentifier: e_Convert = e_ConvertType.Uniqueidentifier; break;

                                case EntityPropertyModel.e_dbType.boolean: e_Convert = e_ConvertType.Boolean; break;
                                }
                            }
                        }
                        break;
                    }
                    break;

                case sysBpmsVariable.e_VarTypeLU.DateTime:
                    e_Convert = e_ConvertType.DateTime;
                    break;

                case sysBpmsVariable.e_VarTypeLU.Boolean:
                    e_Convert = e_ConvertType.Boolean;
                    break;
                }
            }
            return(e_Convert);
        }