public DataTable GetQuery(Do_Constants.Str_QuerySource SourceObject, string Fields, QueryCondition Condition, string Sort = "", long Top = 0, int Page = 0)
 {
     Connection_Wcf Cn = this.GetConnection();
     return this.GetQuery(Cn, SourceObject, Fields, Condition, Sort);
 }
        public String GetQuery(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_GetQuery Request_GetQuery)
        {
            SimpleDataTable Rv = new SimpleDataTable();
            Interface_DataAccess Da = Do_Methods.CreateDataAccess();
            try
            {
                if (Do_Methods.Convert_String(Request_GetQuery.ConnectionString) == "")
                { Da.Connect(); }
                else
                { Da.Connect(Request_GetQuery.ConnectionString); }

                DataTable Dt = null;

                if (Do_Methods.Convert_String(Request_GetQuery.Condition_String) != "")
                {
                    Dt = Da.GetQuery(
                    Request_GetQuery.ObjectName
                    , Request_GetQuery.Fields
                    , Request_GetQuery.Condition_String
                    , Request_GetQuery.Sort);
                    Rv = new SimpleDataTable(Dt);
                }
                else
                {
                    Dt = Da.GetQuery(
                    Request_GetQuery.ObjectName
                    , Request_GetQuery.Fields
                    , Request_GetQuery.Condition
                    , Request_GetQuery.Sort
                    , Request_GetQuery.Top
                    , Request_GetQuery.Page);
                    Rv = new SimpleDataTable(Dt);
                }
            }
            catch (Exception Ex)
            { this.ErrorHandler(Ex, "WcfService.Method: GetQuery"); }
            finally
            { Da.Close(); }

            return Rv.Serialize();
        }
 public DataTable GetQuery(Do_Constants.Str_QuerySource SourceObject, String Fields, QueryCondition Condition, String Sort = "", Int64 Top = 0, Int32 Page = 0)
 {
     if (this.mConnection == null)
     {
         Connection_SqlServer Cn = new Connection_SqlServer();
         try
         {
             Cn.Connect();
             return this.GetQuery(Cn, SourceObject, Fields, Condition, Sort, Top, Page);
         }
         catch (Exception ex)
         { throw ex; }
         finally
         { Cn.Close(); }
     }
     else
     { return this.GetQuery(this.mConnection, SourceObject, Fields, Condition, Sort, Top, Page); }
 }
        public void Add_Parameter(String Name, Do_Constants.eParameterType Type, Object Value = null, Int32 Size = 0, Byte Scale = 0, Byte Precision = 0)
        {
            QueryParameter Parameter =
                new QueryParameter()
                {
                    Name = Name,
                    Value = Value,
                    Type = Type,
                    Size = Size,
                    Scale = Scale,
                    Precision = Precision
                };

            this.Add_Parameter(Parameter);
        }
 public long List_Count(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_List Request_List)
 {
     return this.mChannel.List_Count(Request_Session, Request_List);
 }
 public string Load(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_Load Request_Load)
 {
     return this.mChannel.Load(Request_Session, Request_Load);
 }
        public string PreparedQuery_Prepare(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_PreparedQuery_Prepare Request_Command)
        {
            String PreparedQuerySessionID = "";
            Interface_DataAccess Da = Do_Methods.CreateDataAccess();
            try
            {
                if (Do_Methods.Convert_String(Request_Command.ConnectionString) == "")
                { Da.Connect(); }
                else
                { Da.Connect(Request_Command.ConnectionString); }

                PreparedQuery Obj_Pq = Da.CreatePreparedQuery(Request_Command.Query, Request_Command.Parameters);
                PreparedQuerySessionID = Do_Methods.GenerateGuid(
                    (
                    from O in this.mPreparedQuerySessions
                    where O.Value.SessionID == Request_Session.SessionID
                    select O.Value.PreparedQuerySessionID).ToList()
                    );

                Str_PreparedQuerySession Obj_Pqs = new Str_PreparedQuerySession();
                Obj_Pqs.SessionID = Request_Session.SessionID;
                Obj_Pqs.PreparedQuerySessionID = PreparedQuerySessionID;
                Obj_Pqs.Obj = Obj_Pq;
                Obj_Pqs.SessionDate = DateTime.Now;

                this.mPreparedQuerySessions.Add(Obj_Pqs);

                Obj_Pq.Prepare();
            }
            catch (Exception Ex)
            { this.ErrorHandler(Ex, "WcfService.Method: PreparedQuery_Prepare"); }

            return PreparedQuerySessionID;
        }
 public string GetSystemParameter(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_SystemParameter Request_SystemParameter)
 {
     return this.mChannel.GetSystemParameter(Request_Session, Request_SystemParameter);
 }
        public String Load_TableDetails(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_Load Request_Load)
        {
            SimpleDataTable Rv = new SimpleDataTable();
            Interface_DataAccess Da = Do_Methods.CreateDataAccess();
            try
            {
                if (Do_Methods.Convert_String(Request_Load.ConnectionString) == "")
                { Da.Connect(); }
                else
                { Da.Connect(Request_Load.ConnectionString); }

                Rv = new SimpleDataTable(Da.Load_TableDetails(Request_Load.ObjectName, Request_Load.Key, Request_Load.Condition, Request_Load.ForeignKeys));
            }
            catch (Exception Ex)
            { this.ErrorHandler(Ex, "WcfService.Method: Load_TableDetails"); }
            finally
            { Da.Close(); }

            return Rv.Serialize();
        }
        public string PreparedQuery_ExecuteQuery(Do_Constants.Str_Request_Session Request_Session, string PreparedQuerySessionID, Do_Constants.Str_Request_PreparedQuery_Parameters Request_Parameters)
        {
            SimpleDataSet Rv = new SimpleDataSet();

            try
            {
                Str_PreparedQuerySession? Obj_Pqs = this.mPreparedQuerySessions.FirstOrDefault(X => X.Value.PreparedQuerySessionID == PreparedQuerySessionID && X.Value.SessionID == Request_Session.SessionID);
                if (Obj_Pqs != null)
                {
                    Str_PreparedQuerySession Inner_Obj_Pqs = Obj_Pqs.Value;
                    Inner_Obj_Pqs.SessionDate = DateTime.Now;

                    PreparedQuery Obj_Pq = Obj_Pqs.Value.Obj;
                    if (Request_Parameters.Parameters != null)
                    {
                        foreach (QueryParameter Sp in Request_Parameters.Parameters)
                        { Obj_Pq.pParameter_Set(Sp.Name, Sp.Value); }
                    }

                    DataSet Ds = Obj_Pq.ExecuteQuery();
                    SimpleDataSet Sds = new SimpleDataSet(Ds);
                    Rv = Sds;
                }
            }
            catch (Exception Ex)
            { this.ErrorHandler(Ex, "WcfService.Method: PreparedQuery_ExecuteQuery"); }

            return Rv.Serialize();
        }
        public String Load(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_Load Request_Load)
        {
            SimpleDataRow Rv = new SimpleDataRow();
            Interface_DataAccess Da = Do_Methods.CreateDataAccess();
            try
            {
                if (Do_Methods.Convert_String(Request_Load.ConnectionString) == "")
                { Da.Connect(); }
                else
                { Da.Connect(Request_Load.ConnectionString); }

                DataRow Dr = Da.Load(Request_Load.ObjectName, Request_Load.ObjectKeys, Request_Load.Key);
                SimpleDataTable Sds = new SimpleDataTable(Dr.Table.Clone());
                Rv = Sds.NewRow(Dr);
            }
            catch (Exception Ex)
            { this.ErrorHandler(Ex, "WcfService.Method: Load"); }
            finally
            { Da.Close(); }

            return Rv.Serialize();
        }
        public String List_Empty(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_List Request_List)
        {
            SimpleDataTable Rv = new SimpleDataTable();
            Interface_DataAccess Da = Do_Methods.CreateDataAccess();
            try
            {
                if (Do_Methods.Convert_String(Request_List.ConnectionString) == "")
                { Da.Connect(); }
                else
                { Da.Connect(Request_List.ConnectionString); }

                DataTable Dt = Da.List_Empty(Request_List.ObjectName);
                Rv = new SimpleDataTable(Dt);
            }
            catch (Exception Ex)
            { this.ErrorHandler(Ex, "WcfService.Method: List_Empty"); }
            finally
            { Da.Close(); }

            return Rv.Serialize();
        }
        public long List_Count(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_List Request_List)
        {
            Int64 Rv = 0;
            Interface_DataAccess Da = Do_Methods.CreateDataAccess();
            try
            {
                if (Do_Methods.Convert_String(Request_List.ConnectionString) == "")
                { Da.Connect(); }
                else
                { Da.Connect(Request_List.ConnectionString); }

                Rv = Da.List_Count(Request_List.ObjectName, Request_List.Condition);
            }
            catch (Exception Ex)
            { this.ErrorHandler(Ex, "WcfService.Method: List_Count"); }
            finally
            { Da.Close(); }

            return Rv;
        }
 public string ExecuteQuery(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_Execute Request_Execute)
 {
     return this.mChannel.ExecuteQuery(Request_Session, Request_Execute);
 }
        public String SaveDataRow(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_Save Request_Save)
        {
            Do_Constants.Str_Response_Save Rv = new Do_Constants.Str_Response_Save();
            SimpleDataRow Sdr_Obj = SimpleDataRow.Deserialize(Request_Save.Serialized_ObjectDataRow);
            DataRow Dr_Obj = Sdr_Obj.ToDataRow();
            Boolean SaveResult = false;

            Interface_DataAccess Da = Do_Methods.CreateDataAccess();
            try
            {
                if (Do_Methods.Convert_String(Request_Save.ConnectionString) == "")
                { Da.Connect(); }
                else
                { Da.Connect(Request_Save.ConnectionString); }

                SaveResult =
                    Da.SaveDataRow(
                        Dr_Obj
                        , Request_Save.TableName
                        , Request_Save.SchemaName
                        , Request_Save.IsDelete
                        , Request_Save.CustomKeys);
            }
            catch (Exception Ex)
            { this.ErrorHandler(Ex, "WcfService.Method: SaveDataRow"); }
            finally
            { Da.Close(); }

            Rv.SaveResult = SaveResult;
            Rv.Sdr = new SimpleDataRow(Dr_Obj);

            return Do_Methods.SerializeObject_Json(Rv);
        }
 public string GetQuery(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_GetQuery Request_GetQuery)
 {
     return this.mChannel.GetQuery(Request_Session, Request_GetQuery);
 }
        public void SetSystemParameter(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_SystemParameter Request_SystemParameter)
        {
            Interface_DataAccess Da = Do_Methods.CreateDataAccess();
            try
            {
                if (Do_Methods.Convert_String(Request_SystemParameter.ConnectionString) == "")
                { Da.Connect(); }
                else
                { Da.Connect(Request_SystemParameter.ConnectionString); }

                Da.SetSystemParameter(Request_SystemParameter.ParameterName, Request_SystemParameter.ParameterValue);
            }
            catch (Exception Ex)
            { this.ErrorHandler(Ex, "WcfService.Method: SetSystemParameter"); }
            finally
            { Da.Close(); }
        }
 public string GetTableDef(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_List Request_List)
 {
     return this.mChannel.GetTableDef(Request_Session, Request_List);
 }
        public String ExecuteNonQuery(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_Execute Request_Execute)
        {
            Interface_DataAccess Da = Do_Methods.CreateDataAccess();
            Int32 Result = 0;

            try
            {
                if (Do_Methods.Convert_String(Request_Execute.ConnectionString) == "")
                { Da.Connect(); }
                else
                { Da.Connect(Request_Execute.ConnectionString); }

                if (Do_Methods.Convert_String(Request_Execute.Query) != "")
                { Result = Da.ExecuteNonQuery(Request_Execute.Query); }
                else
                { Result = Da.ExecuteNonQuery(Request_Execute.ProcedureName, Request_Execute.ProcedureParameters); }
            }
            catch (Exception Ex)
            { this.ErrorHandler(Ex, "WcfService.Method: ExecuteNonQuery"); }
            finally
            { Da.Close(); }

            return Do_Methods.SerializeObject_Json(typeof(Int32), Result);
        }
 public string List_Empty(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_List Request_List)
 {
     return this.mChannel.List_Empty(Request_Session, Request_List);
 }
 public string PreparedQuery_ExecuteQuery(Do_Constants.Str_Request_Session Request_Session, string PreparedQuerySessionID, Do_Constants.Str_Request_PreparedQuery_Parameters Request_Parameters)
 {
     return this.mChannel.PreparedQuery_ExecuteQuery(Request_Session, PreparedQuerySessionID, Request_Parameters);
 }
        public DataTable GetQuery(Interface_Connection Connection, Do_Constants.Str_QuerySource SourceObject, string Fields, QueryCondition Condition, string Sort = "", long Top = 0, int Page = 0)
        {
            Fields = Do_Methods.Convert_String(Fields);
            Sort = Do_Methods.Convert_String(Sort);

            string Query_RowNumberSort = Sort;
            if (Query_RowNumberSort.Trim() == "")
            { Query_RowNumberSort = "(Select 0)"; }

            string Query_Top = "";
            if (Top > 0)
            { Query_Top = "Top " + Top.ToString(); }

            Int64 PageCondition = 0;
            if (Page > 0)
            { PageCondition = Top * (Page - 1); }

            if (SourceObject.ObjectName.Trim() != "")
            { SourceObject.ObjectName = @" From  " + SourceObject.ObjectName + " "; }
            if (SourceObject.Fields.Trim() == "")
            { SourceObject.Fields = @" * "; }
            if (SourceObject.Condition.Trim() != "")
            { SourceObject.Condition = @" Where " + SourceObject.Condition; }

            if (Fields.Trim() == "")
            { Fields = " * "; }
            if (Sort.Trim() != "")
            { Sort = " Order By " + Sort; }

            PreparedQuery Pq = this.CreatePreparedQuery();
            string Query_Condition = "";
            if (Condition != null)
            {
                Query_Condition = " Where 1 = 1 ";
                Query_Condition += " And " + Condition.GetQueryCondition();
                Pq.Add_Parameter(Condition.GetParameters());
            }

            //Pq.pQuery = @"Select " + Query_Top + @" [Tb].* From ( Select Row_Number() Over (Order By " + Query_RowNumberSort + @") As [RowNumber], " + Fields + " " + SourceObject + " " + Query_Condition + @" ) As [Tb] Where [Tb].RowNumber > " + PageCondition + " " + Sort;
            //Pq.pQuery = @"Declare @Query As VarChar(Max); Set @Query = 'Select ' + @Top + ' [Tb].* From ( Select Row_Number() Over (Order By ' + @RowNumberSort + ') As [RowNumber], ' + @Fields + ' ' + @ViewObject + ' ' + @Condition + ' ) As [Tb] Where [Tb].RowNumber >= ' + @PageCondition + ' ' + @Sort; Exec(@Query)";
            Pq.pQuery = @"Declare @ViewObject As VarChar(Max); Set @ViewObject = ' Select * ' + @Param_ViewObject_TableName + ' ' + @Param_ViewObject_Condition + ' ';  Declare @Query As VarChar(Max); Set @Query = 'Select ' + @Param_Top + ' [Tb].* From ( Select Row_Number() Over (Order By ' + @Param_RowNumberSort + ') As [RowNumber] , ' + @Param_Fields + ' From ('+ @ViewObject + ') As [Source] '" + @Query_Condition + @"' ) As [Tb] Where [Tb].RowNumber >= ' + @Param_PageCondition + ' ' + @Param_Sort; Exec(@Query);";
            Pq.Add_Parameter(new QueryParameter() { Name = "Param_ViewObject_TableName", Value = SourceObject.ObjectName, Type = Do_Constants.eParameterType.VarChar, Size = 8000 });
            Pq.Add_Parameter(new QueryParameter() { Name = "Param_ViewObject_Condition", Value = SourceObject.Condition, Type = Do_Constants.eParameterType.VarChar, Size = 8000 });
            Pq.Add_Parameter(new QueryParameter() { Name = "Param_Top", Value = Query_Top, Type = Do_Constants.eParameterType.VarChar, Size = 8000 });
            Pq.Add_Parameter(new QueryParameter() { Name = "Param_RowNumberSort", Value = Query_RowNumberSort, Type = Do_Constants.eParameterType.VarChar, Size = 8000 });
            Pq.Add_Parameter(new QueryParameter() { Name = "Param_PageCondition", Value = PageCondition.ToString(), Type = Do_Constants.eParameterType.VarChar, Size = 8000 });
            Pq.Add_Parameter(new QueryParameter() { Name = "Param_Fields", Value = Fields, Type = Do_Constants.eParameterType.VarChar, Size = 8000 });
            Pq.Add_Parameter(new QueryParameter() { Name = "Param_Sort", Value = Sort, Type = Do_Constants.eParameterType.VarChar, Size = 8000 });
            Pq.Prepare();

            return Pq.ExecuteQuery().Tables[0];
        }
 public string PreparedQuery_Prepare(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_PreparedQuery_Prepare Request_Command)
 {
     return this.mChannel.PreparedQuery_Prepare(Request_Session, Request_Command);
 }
        Object ConvertParameterValues(Object Input, Do_Constants.eParameterType Type)
        {
            if (Input == null)
            { return DBNull.Value; }

            if (Input == DBNull.Value)
            { return DBNull.Value; }

            switch (Type)
            {
                case Do_Constants.eParameterType.Binary:
                    Input = Do_Methods.Convert_Byte(Input);
                    break;
                case Do_Constants.eParameterType.Boolean:
                    Input = Do_Methods.Convert_Boolean(Input);
                    break;
                case Do_Constants.eParameterType.DateTime:
                    DateTime? Inner_Date = Do_Methods.Convert_DateTime(Input);
                    if (Inner_Date == null) { Input = DBNull.Value; }
                    Input = Inner_Date.Value;
                    break;
                case Do_Constants.eParameterType.Int:
                    Input = Do_Methods.Convert_Int32(Input);
                    break;
                case Do_Constants.eParameterType.Long:
                    Input = Do_Methods.Convert_Int64(Input);
                    break;
                case Do_Constants.eParameterType.Numeric:
                    Input = Do_Methods.Convert_Double(Input);
                    break;
                case Do_Constants.eParameterType.VarChar:
                    Input = Do_Methods.Convert_String(Input);
                    break;
            }

            return Input;
        }
 public String SaveDataRow(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_Save Request_Save)
 {
     return this.mChannel.SaveDataRow(Request_Session, Request_Save);
 }
        public DataTable GetQuery(Interface_Connection Connection, Do_Constants.Str_QuerySource SourceObject, string Fields, QueryCondition Condition, string Sort = "", long Top = 0, int Page = 0)
        {
            Do_Constants.Str_Request_GetQuery Rgq = new Do_Constants.Str_Request_GetQuery();
            Rgq.ObjectQuerySource = SourceObject;
            Rgq.Fields = Fields;
            Rgq.Condition = Condition;
            Rgq.Sort = Sort;
            Rgq.Top = Do_Methods.Convert_Int32(Top);
            Rgq.Page = Page;

            Rgq.ConnectionString = (Connection as Connection_Wcf).pConnectionString;

            Do_Constants.Str_Request_Session Rs = new Do_Constants.Str_Request_Session();
            Rs.SessionID = ClsDataAccess_Wcf_Session.Instance.pSessionID;

            Client_WcfService Client = Client_WcfService.CreateObject();
            string ResponseData = Client.GetQuery(Rs, Rgq);
            SimpleDataTable Sdt = SimpleDataTable.Deserialize(ResponseData);

            return Sdt.ToDataTable();
        }
 public void SetSystemParameter(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_SystemParameter Request_SystemParameter)
 {
     this.mChannel.SetSystemParameter(Request_Session, Request_SystemParameter);
 }
Exemplo n.º 28
0
 public void Setup_FromQuerySource(
     String GridName
     , Do_Constants.Str_QuerySource DataSource_QuerySource
     , ClsBindGrid GridDefinition
     , List<String> List_TableKey = null
     , Boolean IsSelection = false
     , Boolean AllowSort = false
     , Boolean AllowPaging = false
     , Boolean IsDefault = false)
 {
     this.Setup(
         GridName
         , eSourceType.QuerySource
         , DataSource_QuerySource
         , GridDefinition
         , IsSelection
         , List_TableKey
         , AllowSort
         , AllowPaging
         , IsDefault);
 }
        public string ExecuteQuery(Do_Constants.Str_Request_Session Request_Session, Do_Constants.Str_Request_Execute Request_Execute)
        {
            Interface_DataAccess Da = Do_Methods.CreateDataAccess();
            String Rv = "";
            try
            {
                if (Do_Methods.Convert_String(Request_Execute.ConnectionString) == "")
                { Da.Connect(); }
                else
                { Da.Connect(Request_Execute.ConnectionString); }

                if (Do_Methods.Convert_String(Request_Execute.Query) != "")
                {
                    DataSet Ds = Da.ExecuteQuery(Request_Execute.Query);
                    SimpleDataSet Sds = new SimpleDataSet(Ds);
                    Rv = Sds.Serialize();
                }
                else
                {
                    DataSet Ds = Da.ExecuteQuery(Request_Execute.ProcedureName, Request_Execute.ProcedureParameters);
                    SimpleDataSet Sds = new SimpleDataSet(Ds);
                    Rv = Sds.Serialize();
                }
            }
            catch (Exception Ex)
            { this.ErrorHandler(Ex, "WcfService.Method: ExecuteQuery"); }
            finally
            { Da.Close(); }

            return Rv;
        }