Example #1
0
        public RegisterResponse Post(RegisterRequest request)
        {
            var response = new RegisterResponse();
            var _InfraDb = base.ResolveService <ITenantDbFactory>() as TenantDbFactory;

            DbParameter[] parameters =
            {
                _InfraDb.DataDB.GetNewParameter("email", System.Data.DbType.String, request.Email)
                // _InfraDb.DataDB.GetNewParameter("pwd", System.Data.DbType.String, (request.Password + request.Email).ToMD5Hash())
            };

            EbDataTable dt = _InfraDb.DataDB.DoQuery("INSERT INTO eb_users (email, u_token) VALUES ( @email, md5( @email || now())) RETURNING id, u_token;", parameters);

            if (dt.Rows.Count > 0)
            {
                try
                {
                    var myService = base.ResolveService <EmailServiceInternal>();
                    myService.Post(new EmailServicesMqRequest()
                    {
                        refid = "expressbase-expressbase-15-5-5", TenantAccountId = request.TenantAccountId, Subject = "EXPRESSbase Signup Confirmation", To = request.Email, UserId = Convert.ToInt32(dt.Rows[0][0])
                    });
                    // base.MessageProducer3.Publish(new EmailServicesMqRequest { refid = "eb_roby_dev-eb_roby_dev-15-894-1611", TenantAccountId = request.TenantAccountId, Subject = "EXPRESSbase Signup Confirmation", To = request.Email, UserId =Convert.ToInt32(dt.Rows[0][0]) });
                    response.UserName = dt.Rows[0][1].ToString();
                    response.UserId   = dt.Rows[0][0].ToString();
                }
                catch (Exception e) {
                }
            }

            return(response);
        }
Example #2
0
        private void UpdateErrorDraftIds(List <int> DraftIds)
        {
            try
            {
                List <string>       depT = new List <string>();
                int                 i;
                List <EbMobileForm> FormCollection = EbPageHelper.GetOfflineForms();

                foreach (EbMobileForm Form in FormCollection)
                {
                    if (depT.Contains(Form.TableName))
                    {
                        continue;
                    }

                    EbDataTable dt = Form.GetDraftIds();

                    foreach (EbDataRow dr in dt.Rows)
                    {
                        i = Convert.ToInt32(dr[0]);
                        if (!DraftIds.Contains(i))
                        {
                            Form.UpdateDraftAsSynced(Convert.ToInt32(dr[1]), i);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                EbLog.Error("UpdateErrorDraftIds: " + ex.Message);
            }
        }
Example #3
0
        public EbDataTable DoQuery(string query, params DbParameter[] parameters)
        {
            EbDataTable dt = new EbDataTable();

            using (var con = GetNewConnection() as NpgsqlConnection)
            {
                try
                {
                    con.Open();
                    using (NpgsqlCommand cmd = new NpgsqlCommand(query, con))
                    {
                        if (parameters != null && parameters.Length > 0)
                        {
                            cmd.Parameters.AddRange(parameters);
                        }

                        using (var reader = cmd.ExecuteReader())
                        {
                            this.AddColumns(dt, reader.GetColumnSchema());

                            PrepareDataTable(reader, dt);
                        }
                    }
                }
                catch (Npgsql.NpgsqlException npgse) { }
                catch (SocketException scket) { }
            }

            return(dt);
        }
Example #4
0
        //Signup_tok
        public static User GetInfraVerifiedUser(IDatabase db, string uname, string u_token)
        {
            User   _user = null;
            string sql   = "UPDATE eb_tenants SET is_verified = 'T' WHERE cname = @cname AND u_token = @u_token;";

            sql += "SELECT id, firstname,profileimg FROM eb_tenants WHERE cname = @cname AND u_token = @u_token";

            DbParameter[] parameters =
            {
                db.GetNewParameter("cname",   EbDbTypes.String, uname),
                db.GetNewParameter("u_token", EbDbTypes.String, u_token)
            };

            EbDataTable dt = db.DoQuery(sql, parameters);

            if (dt.Rows.Count != 0)
            {
                _user = new User
                {
                    UserId    = Convert.ToInt32(dt.Rows[0][0]),
                    Email     = uname,
                    FirstName = dt.Rows[0][1].ToString()
                };
            }

            return(_user);
        }
Example #5
0
        public EbDataTable DoQuery(string query, params DbParameter[] parameters)
        {
            EbDataTable dt = new EbDataTable();

            try
            {
                using (SqliteConnection con = new SqliteConnection("Data Source=" + this.DbPath))
                {
                    con.Open();
                    using (SqliteCommand cmd = con.CreateCommand())
                    {
                        cmd.CommandText = query;

                        if (parameters != null && parameters.Length > 0)
                        {
                            cmd.Parameters.AddRange(this.DbParamToSqlParam(parameters));
                        }

                        using (var reader = cmd.ExecuteReader())
                        {
                            PrepareDataTable(reader, dt);
                        }
                    }
                    con.Close();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            return(dt);
        }
Example #6
0
        public GetBotForm4UserResponse Get(GetBotForm4UserRequest request)
        {
            var                     Query1 = @"
SELECT
    
    EOV.obj_json
FROM
    eb_objects EO, eb_objects_ver EOV, eb_objects_status EOS
WHERE
    EO.id = EOV.eb_objects_id 
AND 
    EOS.eb_obj_ver_id = EOV.id 
AND 
    EO.id = ANY('@Ids')  
AND 
    EOS.status = 3 
 AND
    EO.obj_type = 18;;";
            EbDataTable             table  = this.TenantDbFactory.ObjectsDB.DoQuery(Query1.Replace("@Ids", request.BotFormIds));
            GetBotForm4UserResponse resp   = new GetBotForm4UserResponse();

            foreach (EbDataRow row in table.Rows)
            {
                var form = EbSerializers.Json_Deserialize(row[0].ToString());
                resp.BotForms.Add(form);
            }
            //int _id = Convert.ToInt32(request.BotFormIds);
            //var myService = base.ResolveService<EbObjectService>();
            //var res = (EbObjectFetchLiveVersionResponse)myService.Get(new EbObjectFetchLiveVersionRequest() { Id = _id });
            return(resp);
        }
        private void SetControlValues(EbDataRow masterRow)
        {
            foreach (var pair in this.Form.ControlDictionary)
            {
                EbMobileControl ctrl = pair.Value;
                object          data = masterRow[ctrl.Name];
                try
                {
                    if (ctrl is IFileUploadControl)
                    {
                        this.SetFileData(ctrl, data);
                    }
                    else if (ctrl is ILinesEnabled line)
                    {
                        EbDataTable lines = this.formData.Tables.Find(table => table.TableName == line.TableName);
                        ctrl.SetValue(lines);
                    }
                    else
                    {
                        ctrl.SetValue(data);
                    }

                    if (this.IsEditButtonVisible)
                    {
                        ctrl.SetAsReadOnly(true);
                    }
                }
                catch (Exception ex)
                {
                    EbLog.Error("Error when setting value to controls on edit");
                    EbLog.Error(ex.Message);
                }
            }
        }
        public EbDataSet DoQueries(string query, params DbParameter[] parameters)
        {
            EbDataSet ds = new EbDataSet();

            try
            {
                using SqliteConnection con = new SqliteConnection("Data Source=" + this.DbPath);
                con.Open();
                using (SqliteCommand cmd = con.CreateCommand())
                {
                    cmd.CommandText = query;

                    if (parameters != null && parameters.Length > 0)
                    {
                        cmd.Parameters.AddRange(this.DbParamToSqlParam(parameters));
                    }

                    using var reader = cmd.ExecuteReader();
                    do
                    {
                        EbDataTable dt = new EbDataTable();
                        PrepareDataTable(reader, dt);
                        ds.Tables.Add(dt);
                        ds.RowNumbers += dt.Rows.Count.ToString() + ",";
                    }while (reader.NextResult());
                }
                con.Close();
            }
            catch (Exception ex)
            {
                EbLog.Error("DataBaseAndroid.DoQueries---" + ex.Message);
            }
            return(ds);
        }
        protected void PrepareDataTable(SqliteDataReader reader, EbDataTable dt)
        {
            try
            {
                int _fieldCount = reader.FieldCount;

                for (int i = 0; i < _fieldCount; i++)
                {
                    dt.Columns.Add(new EbDataColumn
                    {
                        ColumnName  = reader.GetName(i),
                        ColumnIndex = i,
                        Type        = DbTypeConverter.ConvertToDbType(reader.GetFieldType(i))
                    });
                }

                while (reader.Read())
                {
                    EbDataRow dr     = dt.NewDataRow();
                    object[]  oArray = new object[_fieldCount];
                    reader.GetValues(oArray);
                    dr.AddRange(oArray);
                    dt.Rows.Add(dr);
                }
            }
            catch (Exception ex)
            {
                EbLog.Error(ex.Message);
            }
        }
        private async void SetPowerSelect(string value)
        {
            EbDataTable dt = null;

            if (this.NetworkType == NetworkMode.Offline)
            {
                dt = GetDataFromLocal(value);
            }
            else if (this.NetworkType == NetworkMode.Online)
            {
                Param param = new Param
                {
                    Name  = this.ValueMember.ColumnName,
                    Type  = ((int)this.ValueMember.Type).ToString(),
                    Value = value
                };
                dt = await GetDataFromCloud(new List <Param> {
                    param
                });
            }

            if (dt != null && dt.Rows.Any())
            {
                SetPowerSelectValue(dt.Rows[0]);
            }
        }
Example #11
0
        public EbConstraints(EbDataTable dt)
        {
            this.Constraints = new Dictionary <int, EbConstraint>();

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                int id = Convert.ToInt32(dt.Rows[i]["id"]);

                if (!this.Constraints.ContainsKey(id))
                {
                    this.Constraints.Add(id, new EbConstraint()
                    {
                        KeyId       = Convert.ToInt32(dt.Rows[i]["key_id"]),
                        KeyType     = (EbConstraintKeyTypes)Convert.ToInt32(dt.Rows[i]["key_type"]),
                        Description = Convert.ToString(dt.Rows[i]["description"])
                    });
                }
                this.Constraints[id].Values.Add(Convert.ToInt32(dt.Rows[i]["lid"]), new EbConstraintOTV()
                {
                    Type      = (EbConstraintTypes)Convert.ToInt32(dt.Rows[i]["c_type"]),
                    Operation = (EbConstraintOperators)Convert.ToInt32(dt.Rows[i]["c_operation"]),
                    Value     = Convert.ToString(dt.Rows[i]["c_value"])
                });
            }
        }
        private void Render(EbDataTable Data)
        {
            int c = 1;

            ResultList.Children.Clear();
            try
            {
                foreach (EbDataRow row in Data.Rows)
                {
                    ComboBoxLabel lbl = new ComboBoxLabel(c)
                    {
                        Padding = new Thickness(10),
                        Text    = row[this.powerSelect.DisplayMember.ColumnName]?.ToString(),
                        Value   = row[this.powerSelect.ValueMember.ColumnName],
                        Row     = row
                    };
                    lbl.GestureRecognizers.Add(recognizer);
                    ResultList.Children.Add(lbl);
                    c++;
                }
            }
            catch (Exception ex)
            {
                EbLog.Error("Failed to Render select ::" + ex.Message);
            }
            EmptyMessage.IsVisible = ResultList.Children.Count <= 0;
        }
Example #13
0
        public FileDownloadObject GetDownloadFile(IDatabase Datadb, int Id)
        {
            FileDownloadObject FileDownloadObject = null;

            try
            {
                string s = @"SELECT filename, bytea, eb_created_by, eb_created_at FROM
                            eb_downloads WHERE id=:id AND eb_del = 'F' ";

                DbParameter[] parameters = new DbParameter[] {
                    Datadb.GetNewParameter(":id", EbDbTypes.Int32, Id),
                };
                EbDataTable dt = Datadb.DoQuery(s, parameters);
                if (dt.Rows.Count > 0)
                {
                    FileDownloadObject = new FileDownloadObject
                    {
                        Id        = Id,
                        Filename  = dt.Rows[0][0].ToString(),
                        FileBytea = (byte[])dt.Rows[0][1],
                        CreatedBy = Convert.ToInt32(dt.Rows[0][2]),
                        //CreatedAt = Convert.ToDateTime(dt.Rows[0][3]),
                    };
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message + e.StackTrace);
            }
            return(FileDownloadObject);
        }
        private int GetFileRefIdInfra(int userId, string filename, string filetype, string tags, EbFileCategory ebFileCategory, string context)
        {
            int         refId = 0;
            EbDataTable table = null;

            //logging connection
            Console.WriteLine("FileClient Connection at GetFileRefIdInfra");
            Console.WriteLine(this.InfraConnectionFactory.DataDB.DBName);

            try
            {
                DbParameter[] parameters =
                {
                    this.InfraConnectionFactory.DataDB.GetNewParameter("userid",       EbDbTypes.Int32,  userId),
                    this.InfraConnectionFactory.DataDB.GetNewParameter("filename",     EbDbTypes.String, filename),
                    this.InfraConnectionFactory.DataDB.GetNewParameter("filetype",     EbDbTypes.String, filetype),
                    this.InfraConnectionFactory.DataDB.GetNewParameter("tags",         EbDbTypes.String, string.IsNullOrEmpty(tags)? string.Empty: tags),
                    this.InfraConnectionFactory.DataDB.GetNewParameter("filecategory", EbDbTypes.Int16,  (int)ebFileCategory),
                    this.InfraConnectionFactory.DataDB.GetNewParameter("context",      EbDbTypes.String, context)
                };
                table = this.InfraConnectionFactory.DataDB.DoQuery(this.InfraConnectionFactory.DataDB.EB_UPLOAD_IDFETCHQUERY, parameters);

                string s = table.Rows[0][0].ToString();
                refId = int.Parse(s);
            }
            catch (Exception e)
            {
                Console.WriteLine("ERROR: POSGRE: " + e.Message);
            }
            return(refId);
        }
Example #15
0
        public ApplicationCollection(EbDataTable dtApp, EbDataTable dtObjects)
        {
            _acol = new List <Application>();
            foreach (var dr in dtApp.Rows)
            {
                int appid = Convert.ToInt32(dr[0]);
                _acol.Add(new Application {
                    Id = appid, Name = dr[1].ToString()
                });
            }

            foreach (EbDataRow dr in dtObjects.Rows)
            {
                var app_id  = Convert.ToInt32(dr[3]);
                var ob_type = Convert.ToInt32(dr[2]);
                if (app_id != 0)
                {
                    if (!this.GetApplication(app_id).ObjectTypes.ContainsKey(ob_type))
                    {
                        this.GetApplication(app_id).ObjectTypes.Add(ob_type);
                    }


                    this.GetApplication(app_id).ObjectTypes[ob_type].Add(new Eb_Object {
                        Obj_Id = Convert.ToInt32(dr[0]), Obj_Name = dr[1].ToString()
                    });
                }
            }
        }
        public static List <EbObjectWrapper> GetParticularVersion(IDatabase objectsDb, string RefId)
        {
            List <EbObjectWrapper> wrap = new List <EbObjectWrapper>();

            DbParameter[] parameters =
            {
                objectsDb.GetNewParameter("refid", EbDbTypes.String, RefId)
            };

            EbDataTable dt = objectsDb.DoQuery(objectsDb.EB_PARTICULAR_VERSION_OF_AN_OBJ, parameters);

            foreach (EbDataRow dr in dt.Rows)
            {
                EbObjectWrapper _ebObject = (new EbObjectWrapper
                {
                    Json = dr[0].ToString(),
                    VersionNumber = dr[1].ToString(),
                    EbObjectType = (dr[4] != DBNull.Value) ? Convert.ToInt32(dr[4]) : 0,
                    Status = Enum.GetName(typeof(ObjectLifeCycleStatus), Convert.ToInt32(dr[2])),
                    Tags = dr[3].ToString(),
                    DisplayName = dr[5].ToString(),
                    RefId = RefId
                });
                wrap.Add(_ebObject);
            }

            return(wrap);
        }
        public async Task <EbDataSet> GetFormLocalDataAsync(EbMobileForm form, int rowid)
        {
            EbDataSet ds = new EbDataSet();

            try
            {
                //only to remove the warning
                await Task.Delay(1);

                EbDataTable masterData = App.DataDB.DoQuery($"SELECT * FROM {form.TableName} WHERE id = {rowid};");
                masterData.TableName = form.TableName;
                ds.Tables.Add(masterData);

                foreach (var pair in form.ControlDictionary)
                {
                    if (pair.Value is ILinesEnabled)
                    {
                        string linesQuery = $"SELECT * FROM {(pair.Value as ILinesEnabled).TableName} WHERE {form.TableName}_id = {rowid};";

                        EbDataTable linesData = App.DataDB.DoQuery(linesQuery);
                        linesData.TableName = (pair.Value as ILinesEnabled).TableName;
                        ds.Tables.Add(linesData);
                    }
                }
            }
            catch (Exception ex)
            {
                EbLog.Error(ex.Message);
            }
            return(ds);
        }
Example #18
0
        private async Task PushDependencyData(WebformData webdata, EbMobileForm sourceForm, EbMobileForm dependencyForm, int liveId, int localId)
        {
            try
            {
                string RefColumn = $"{sourceForm.TableName}_id";
                string query     = string.Format(StaticQueries.STARFROM_TABLE_WDEP, dependencyForm.GetQuery(), dependencyForm.TableName, RefColumn, localId);

                EbDataTable dt = App.DataDB.DoQuery(query);

                if (dt.Rows.Any())
                {
                    SingleTable SingleTable = new SingleTable();

                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        FillLiveId(dt, dt.Rows[i], liveId, RefColumn);

                        PushResponse resp = await SendRecord(webdata, dependencyForm, dt, dt.Rows[i], i);

                        if (resp.RowAffected <= 0)
                        {
                            continue;
                        }
                        dependencyForm.FlagLocalRow(resp);
                    }
                }
            }
            catch (Exception ex)
            {
                EbLog.Error("SyncServices.PushDependencyData---" + ex.Message);
            }
        }
        private EbDataTable GetLocalData(string search, bool preload)
        {
            EbDataTable dt;
            string      sql = HelperFunctions.B64ToString(powerSelect.OfflineQuery.Code).TrimEnd(';');
            string      WrpdQuery;

            if (preload)
            {
                WrpdQuery = $"SELECT * FROM ({sql}) AS WR LIMIT 100;";
            }
            else
            {
                WrpdQuery = $"SELECT * FROM ({sql}) AS WR WHERE WR.{powerSelect.DisplayMember.ColumnName} LIKE '%{search}%' LIMIT 100;";
            }

            try
            {
                dt = App.DataDB.DoQuery(WrpdQuery);
            }
            catch (Exception ex)
            {
                EbLog.Error(ex.Message);
                dt = new EbDataTable();
            }

            return(dt);
        }
Example #20
0
        private void GetLinesEnabledData(int localid, EbMobileForm form, WebformData formData)
        {
            try
            {
                Dictionary <string, EbMobileControl> controls = form.ChildControls.ToControlDictionary();

                foreach (var ctrl in controls.Values)
                {
                    if (ctrl is ILinesEnabled Ilines)
                    {
                        SingleTable st = new SingleTable();
                        formData.MultipleTables.Add(Ilines.TableName, st);

                        EbDataTable data = Ilines.GetLocalData(form.TableName, localid);

                        foreach (var dr in data.Rows)
                        {
                            SingleRow row = new SingleRow {
                                LocId = Convert.ToInt32(dr["eb_loc_id"])
                            };
                            row.Columns.AddRange(Ilines.GetColumnValues(data.Columns, dr));
                            st.Add(row);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                EbLog.Error(ex.Message);
            }
        }
Example #21
0
        public EbDataRow GetAsDataRow()
        {
            EbDataRow   row = null;
            EbDataTable dt  = new EbDataTable();

            if (Parameters != null && Parameters.Any())
            {
                row = dt.NewDataRow();
                dt.Rows.Add(row);

                List <object> dataArray = new List <object>();

                for (int i = 0; i < Parameters.Count; i++)
                {
                    EbMobileStaticParameter pm = Parameters[i];

                    dt.Columns.Add(new EbDataColumn
                    {
                        ColumnName  = pm.Name,
                        ColumnIndex = i
                    });

                    dataArray.Add(pm.Value);
                }
                row.AddRange(dataArray.ToArray());
            }
            return(row ?? dt.NewDataRow());
        }
Example #22
0
        public object Get(SearchForms request)
        {
            var             e  = LoadTestConfiguration();
            DatabaseFactory df = new DatabaseFactory(e);
            EbDataTable     dt = null;

            using (var con = df.ObjectsDatabase.GetNewConnection())
            {
                con.Open();
                dt = df.ObjectsDatabase.DoQuery("SELECT * FROM eb_objects;");
            };

            List <Form> lf = new List <Form>();

            foreach (EbDataRow dr in dt.Rows)
            {
                var  _id    = Convert.ToInt32(dr[0]);
                bool bAddMe = (request.Id == 0) ? true : (request.Id > 0 && request.Id == _id);

                if (bAddMe)
                {
                    lf.Add(new Form
                    {
                        Id    = Convert.ToInt32(dr[0]),
                        Name  = dr[1].ToString(),
                        Bytea = dr[2] as byte[]
                    });
                }
            }

            return(new FormResponse
            {
                Forms = lf
            });
        }
Example #23
0
        public static EbApi GetApiByName(string name, string version, IDatabase ObjectsDB)
        {
            EbApi  api_o = null;
            string sql   = ObjectsDB.EB_API_BY_NAME;

            DbParameter[] parameter =
            {
                ObjectsDB.GetNewParameter("objname", EbDbTypes.String, name),
                ObjectsDB.GetNewParameter("version", EbDbTypes.String, version)
            };
            EbDataTable dt = ObjectsDB.DoQuery(sql, parameter);

            if (dt.Rows.Count > 0)
            {
                EbDataRow       dr        = dt.Rows[0];
                EbObjectWrapper _ebObject = (new EbObjectWrapper
                {
                    Json = dr[0].ToString(),
                    VersionNumber = dr[1].ToString(),
                    EbObjectType = (dr[4] != DBNull.Value) ? Convert.ToInt32(dr[4]) : 0,
                    Status = Enum.GetName(typeof(ObjectLifeCycleStatus), Convert.ToInt32(dr[2])),
                    Tags = dr[3].ToString(),
                    RefId = null,
                });
                api_o = EbSerializers.Json_Deserialize <EbApi>(_ebObject.Json);
            }

            return(api_o);
        }
        public void CreateTables(SQLiteTableSchemaList SQLSchemaList)
        {
            try
            {
                foreach (SQLiteTableSchema SQLSchema in SQLSchemaList)
                {
                    var tableExist = App.DataDB.DoScalar(string.Format(StaticQueries.TABLE_EXIST, SQLSchema.TableName));

                    if (Convert.ToInt32(tableExist) > 0)
                    {
                        EbDataTable dt = App.DataDB.DoQuery(string.Format(StaticQueries.COL_SCHEMA, SQLSchema.TableName));

                        List <SQLiteColumSchema> unCreated = this.GetNewControls(SQLSchema.Columns, dt.Columns);

                        if (unCreated.Count > 0)
                        {
                            AlterTable(SQLSchema.TableName, unCreated);
                        }
                    }
                    else
                    {
                        CreateTable(SQLSchema.TableName, SQLSchema.Columns);
                    }
                }
            }
            catch (Exception e)
            {
                EbLog.Error($"Failed to create tables" + e.Message);
            }
        }
        public RegisterResponse Post(RegisterRequest request)
        {
            RegisterResponse response = new RegisterResponse();

            //   var _InfraDb = base.ResolveService<IEbConnectionFactory>() as EbConnectionFactory;

            DbParameter[] parameters =
            {
                this.InfraConnectionFactory.DataDB.GetNewParameter("email", EbDbTypes.String, request.Email)
                // _InfraDb.DataDB.GetNewParameter("pwd", System.Data.DbType.String, (request.Password + request.Email).ToMD5Hash())
            };

            EbDataTable dt = this.InfraConnectionFactory.DataDB.DoQuery("INSERT INTO eb_tenants (email) VALUES ( @email) RETURNING id;", parameters);

            if (dt.Rows.Count > 0)
            {
                try
                {
                    response.UserId = dt.Rows[0][0].ToString();
                }
                catch (Exception e)
                {
                    Console.WriteLine("Exception: " + e.ToString());
                }
            }

            return(response);
        }
Example #26
0
        public void InitAutoId(string Table)
        {
            string query = PrefixExpr?.GetCode();

            if (!string.IsNullOrWhiteSpace(query) && NetworkType == NetworkMode.Offline)
            {
                string prefix = null, idSyncd = null, idMax = null, idNxt = null;

                EbDataTable dt = App.DataDB.DoQuery(query);
                if (dt.Rows.Count > 0)
                {
                    prefix = dt.Rows[0][0]?.ToString();
                }

                dt = App.DataDB.DoQuery($"SELECT val FROM eb_latest_autoid WHERE key = '{Table}_{Name}'");
                if (dt.Rows.Count > 0)
                {
                    idSyncd = dt.Rows[0][0]?.ToString();
                }

                dt = App.DataDB.DoQuery($"SELECT MAX({Name}) FROM {Table} WHERE {Name} LIKE '{prefix}%' LIMIT 1");
                if (dt.Rows.Count > 0)
                {
                    idMax = dt.Rows[0][0]?.ToString();
                }

                if (!string.IsNullOrWhiteSpace(idSyncd) && !string.IsNullOrWhiteSpace(idMax))
                {
                    if (string.Compare(idSyncd, idMax, true) > 0)
                    {
                        idNxt = idSyncd;
                    }
                    else
                    {
                        idNxt = idMax;
                    }
                }
                else if (string.IsNullOrWhiteSpace(idSyncd) && !string.IsNullOrWhiteSpace(idMax))
                {
                    idNxt = idMax;
                }
                else if (!string.IsNullOrWhiteSpace(idSyncd) && string.IsNullOrWhiteSpace(idMax))
                {
                    idNxt = idSyncd;
                }
                else if (string.IsNullOrWhiteSpace(idSyncd) && string.IsNullOrWhiteSpace(idMax))
                {
                    idNxt = prefix + "0".PadLeft(SerialLength, '0');
                }

                int serialval;
                int.TryParse(idNxt.Substring(prefix.Length), out serialval);
                serialval++;
                idNxt = prefix + serialval.ToString().PadLeft(SerialLength, '0');

                SetValue(idNxt);
            }
        }
 public void SetValue(EbDataTable dataTable)
 {
     foreach (EbDataRow row in dataTable.Rows)
     {
         MobileTableRow tableRow = DR2TableRow(row);
         var            rowView  = GetRow(tableRow);
         Body.Children.Add(rowView);
     }
 }
Example #28
0
        private void FillLiveId(EbDataTable dt, EbDataRow dr, int liveId, string columName)
        {
            EbDataColumn col = dt.Columns[columName];

            if (col != null)
            {
                dr[col.ColumnIndex] = liveId;
            }
        }
        public static string GetRefIdByVerId(IDatabase ObjectsDB, int ObjVerId)
        {
            string sql = "SELECT refid FROM eb_objects_ver WHERE id = @id";

            DbParameter[] p    = { ObjectsDB.GetNewParameter("id", EbDbTypes.Int32, ObjVerId) };
            EbDataTable   _tbl = ObjectsDB.DoQuery(sql, p);

            return(_tbl.Rows.Count > 0 ? Convert.ToString(_tbl.Rows[0][0]) : null);
        }
        private async Task SetData()
        {
            Device.BeginInvokeOnMainThread(() => Loader.IsVisible = true);

            EbDataTable Data = await this.GetData(SelectSearchBox.Text);

            this.Render(Data);

            Device.BeginInvokeOnMainThread(() => Loader.IsVisible = false);
        }