Example #1
0
    static public Usuari SelectUser(String correu)
    {
        //_client = new MongoClient();
        //database = _client.GetDatabase("prova");
        var client = new MongoClient("mongodb://localhost");
        var coll   = client.GetServer().GetDatabase("prova").GetCollection("Usuaris");

        var query = Query.EQ("mail", correu);
        var doc2  = coll.FindOne(query);

        MongoDB.Bson.BsonValue valueName  = null;
        MongoDB.Bson.BsonValue valueBirth = null;
        MongoDB.Bson.BsonValue valueMail  = null;
        if (doc2 != null)
        {
            valueName  = doc2["name"];
            valueMail  = doc2["mail"];
            valueBirth = doc2["birthdate"];
        }

        bool comp = false;

        if (valueMail != null && valueName != null)
        {
            if (valueMail.AsString == correu)
            {
                user.name      = valueName.AsString;
                user.mail      = valueMail.AsString;
                user.birthdate = valueBirth.AsString;
            }
        }


        return(user);
    }
Example #2
0
    static protected bool SelectLogIn(string correu, string pw)
    {
        //_client = new MongoClient();
        //database = _client.GetDatabase("prova");
        var client = new MongoClient("mongodb://localhost");
        var coll   = client.GetServer().GetDatabase("prova").GetCollection("Usuaris");


        /*gustos.Add(new BsonDocument{  //Codi per a posar un array dintre del document
         *  {"tastes", tast}
         * });*/
        //var collection = _database.GetCollection<BsonDocument>("Usuaris");
        //var filter = Builders<BsonDocument>.Filter.Eq("name", user.name);
        //var count = 0;
        //var batch = new BsonDocument();
        //using (var cursor = await collection.FindAsync(filter))
        //{
        //    while (await cursor.MoveNextAsync())
        //    {
        //         batch= cursor.Current;
        //        foreach (var document in batch)
        //        {
        //            // process document
        //            count++;
        //        }
        //    }
        //}

        var query = Query.EQ("mail", correu);
        var doc2  = coll.FindOne(query);

        MongoDB.Bson.BsonValue valueMail = null;
        MongoDB.Bson.BsonValue valuePw   = null;
        if (doc2 != null)
        {
            valueMail = doc2["mail"];
            valuePw   = doc2["pw"];
        }

        bool comp = false;

        if (valueMail != null && valuePw != null)
        {
            if (valueMail.AsString == correu && Encrypt.Desencriptar(valuePw.AsString, "") == pw)
            {
                comp = true;
            }
        }


        return(comp);
    }
        private void AddToTrxActions(IList <TrxAction> trxActions, BsonDocument actionDoc)
        {
            string act_digest = actionDoc.GetValue("block_num").AsInt32.ToString() + "-" +
                                actionDoc.GetValue("receipt").AsBsonDocument.GetValue("act_digest").AsString;

            BsonDocument asBsonDocument = actionDoc.GetValue("act").AsBsonDocument;
            string       account        = asBsonDocument.GetValue("account").AsString;
            string       name           = asBsonDocument.GetValue("name").AsString;
            string       data_hex       = string.Empty;

            MongoDB.Bson.BsonValue data = MongoDB.Bson.BsonNull.Value;
            BsonValue dataValue;
            BsonValue hexDataValue;

            if (asBsonDocument.TryGetValue("hex_data", out hexDataValue) && asBsonDocument.TryGetValue("data", out dataValue))
            {
                data     = dataValue;
                data_hex = hexDataValue.AsString;
            }
            else if (asBsonDocument.TryGetValue("hex_data", out hexDataValue))
            {
                data_hex = hexDataValue.AsString;
            }
            else if (asBsonDocument.TryGetValue("data", out dataValue))
            {
                data_hex = dataValue.AsString;
            }
            string    trx_id     = actionDoc.GetValue("trx_id").AsString;
            int       block_num  = actionDoc.GetValue("block_num").AsInt32;
            string    block_time = actionDoc.GetValue("block_time").AsString;
            TrxAction trxAction  = new TrxAction()
            {
                act_digest = act_digest,
                trx_id     = trx_id,
                block_num  = (long)block_num,
                block_time = block_time,
                account    = account,
                name       = name,
                data       = data,
                data_hex   = data_hex
            };

            if (trxActions.Any <TrxAction>((Func <TrxAction, bool>)(ad => ad.act_digest == act_digest)))
            {
                return;
            }
            trxActions.Add(trxAction);
        }
        public async Task ReSetAppliedTransactionsAsync()
        {
            var collection = this.m_Database.GetCollection <BsonDocument>(this.m_TrxActionsCollectionName);

            using (var cursor = await collection.FindAsync <BsonDocument>(new BsonDocument("data_error", true)))
            {
                while (true)
                {
                    if (await cursor.MoveNextAsync())
                    {
                        foreach (BsonDocument bsonDocument in cursor.Current)
                        {
                            BsonDocument           document = bsonDocument;
                            MongoDB.Bson.BsonValue _id      = document.GetValue("_id");
                            string account              = document.GetValue("account").AsString;
                            string name                 = document.GetValue("name").AsString;
                            string data_hex             = document.GetValue("data_hex").AsString;
                            bool   has_hex              = !string.IsNullOrEmpty(data_hex);
                            MongoDB.Bson.BsonValue data = (MongoDB.Bson.BsonValue)null;
                            if (has_hex)
                            {
                                string parsedData = await this.m_ABIService.ParseAsync(account, name, data_hex);

                                if (!string.IsNullOrEmpty(parsedData))
                                {
                                    data = BsonDocument.Parse(parsedData).GetValue("args");
                                }
                            }
                            bool flag = has_hex && data == (MongoDB.Bson.BsonValue)BsonNull.Value;
                            if (!flag)
                            {
                                document["data"]       = data;
                                document["data_error"] = (MongoDB.Bson.BsonValue)flag;
                                await collection.ReplaceOneAsync(new BsonDocument("_id", _id), document, this.m_UpdateOptions);
                            }
                            _id      = (MongoDB.Bson.BsonValue)null;
                            data     = (MongoDB.Bson.BsonValue)null;
                            document = (BsonDocument)null;
                        }
                    }
                    else
                    {
                        break;
                    }
                }
            }
        }