private static MetadataRecord MapMetadataTableRow(QueryReader reader)
            {
                var pk          = PtrToStringUTF8(reader.ColumnText(0));
                var repoId      = checked ((int)reader.ColumnInt64(1));
                var containerId = checked ((int)reader.ColumnInt64(2));
                var parentId    = checked ((int)reader.ColumnInt64(3));
                var counter     = checked ((int)reader.ColumnInt64(4));
                var version     = checked ((int)reader.ColumnInt64(5));
                var remoteId    = checked ((int)reader.ColumnInt64(6));
                var permissions = checked ((int)reader.ColumnInt64(7));
                var schematype  = checked ((int)reader.ColumnInt64(8));
                var schema      = PtrToStringUTF8(reader.ColumnText(9));
                var metadata    = PtrToStringUTF8(reader.ColumnText(10));

                return(new MetadataRecord()
                {
                    PK = pk,
                    RepoId = repoId,
                    ContainerId = containerId,
                    ParentId = parentId,
                    Counter = counter,
                    Version = version,
                    RemoteId = remoteId,
                    Permissions = permissions,
                    SchemaType = (byte)schematype,
                    Schema = schema == null ? null : JsonSerializer.Deserialize <ContainerSchema>(schema),
                    Metadata = metadata == null ? null : JsonSerializer.Deserialize <Metadata>(metadata)
                });
            }
示例#2
0
        public int GetMovieStopTimeAndResumeData(int movieId, int userId, out string fileName, out byte[] resumeData)
        {
            // Only compare the file as only the the path is not stored.
            resumeData = null;
            StopTimeResumeData stopTimeResumeData = new StopTimeResumeData();
            stopTimeResumeData.stopTime = -1;
            stopTimeResumeData.fileName = string.Empty;

            try
            {
                QueryReader<StopTimeResumeData> resume = new QueryReader<StopTimeResumeData>(string.Format("SELECT * FROM tblResume where intId={0} AND intUserId={1}", movieId, userId));
                resume.OnRow += new QueryReader<StopTimeResumeData>.Row(ResumeData_OnRow);
                resume.Execute(_connection, stopTimeResumeData);

                if (stopTimeResumeData.stopTime != 0)
                {
                    resumeData = new byte[stopTimeResumeData.resumeString.Length / 2];
                    FromHexString(stopTimeResumeData.resumeString).CopyTo(resumeData, 0);
                }
            }
            catch (Exception ex)
            {
                Log.Error("MyMovies::GetMovieStopTimeAndResumeData - exception err:{0} stack:{1}", ex.Message, ex.StackTrace);
            }
            fileName = stopTimeResumeData.fileName;

            return stopTimeResumeData.stopTime;
        }
示例#3
0
        static void Main(string[] args)
        {
            using (var db = new BlogContext()) {
                db.Blogs.Add(new Models.Blog
                {
                    Url    = "http://example.com",
                    Rating = 3
                });
                db.Blogs.Add(new Models.Blog
                {
                    Url    = "http://test.com",
                    Rating = 4
                });
                db.SaveChanges();

                var query = new QueryReader <Query>().Read();
                var blogs = db.Blogs.FetchByQuery(query).ToList();

                Console.WriteLine($"Found {blogs.Count} blogs");
                foreach (var blog in blogs)
                {
                    Console.WriteLine($"Fetched {blog.Url} with rating {blog.Rating}");
                }
            }
        }
        public static QueryDataReader ToDataReader(this QueryReader queryReader)
        {
            if (queryReader == null)
            {
                throw new ArgumentNullException(nameof(queryReader));
            }

            return(new QueryDataReader(queryReader));
        }
示例#5
0
        public void ExtractData_ExpressionSuccessfully()
        {
            var reader = new QueryReader();

            var component = reader.ExtractData(FileText);

            component.Expression.ShouldNotBeNull();
            component.Expression.ShouldBe(FileText);
        }
示例#6
0
        /// <summary>
        /// Performs application-defined tasks associated with freeing, releasing, or
        /// resetting unmanaged resources.
        /// </summary>
        public void Dispose()
        {
            if (_queryReader == null)
            {
                return;
            }

            _queryReader.Dispose();
            _queryReader = null;
        }
示例#7
0
        public void TestProductsQuery()
        {
            const string providername     = "System.Data.SqlClient";
            var          connectionString = ConnectionStrings.Northwind;

            ProviderChecker.Check(providername, connectionString);

            var reader  = new QueryReader();
            var columns = reader.GetQueryColumns(connectionString, providername, "Select ProductID, ProductName FROM Products");

            Assert.AreEqual(2, columns.Count);
        }
        async protected override void OnActivated(IActivatedEventArgs args)
        {
            await InitializeAppAsync();

            if (args.Kind == ActivationKind.Protocol)
            {
                var protocol_args = args as ProtocolActivatedEventArgs;
                var query         = protocol_args.Uri.Query.ToLower();
                var reader        = QueryReader.Load(query);



                var target_page = reader["page"];



                if (target_page == "street")
                {
                    StreetSideViewPage street_view = new StreetSideViewPage();
                    var center_point = new Geopoint(new BasicGeoposition
                    {
                        Latitude  = App.State.NextEvent.Latitude.Value,
                        Longitude = App.State.NextEvent.Longitude.Value,
                    });
                    await street_view.InitializeAsync(center_point);

                    Window.Current.Content = street_view;
                }
                else if (target_page == "main")
                {
                    Window.Current.Content = new ApplicationHostPage();
                }
                else if (target_page == "counter")
                {
                    Window.Current.Content = new PatronCounter();
                }
                else if (target_page == "test")
                {
                    Window.Current.Content = new TestPage();
                }
                else
                {
                    Window.Current.Content = new PageNotFound();
                }
            }
            else if (args.Kind == ActivationKind.ProtocolForResults)
            {
                var protocol_args = args as ProtocolForResultsActivatedEventArgs;
                Window.Current.Content = new LaunchResponsePage(protocol_args);
            }
            Window.Current.Activate();
        }
        private static IDictionary <string, object> GetValues(this QueryReader reader)
        {
            var result = new Dictionary <string, object>(reader.ColumnCount, StringComparer.OrdinalIgnoreCase);

            for (var i = 0; i < reader.ColumnCount; i++)
            {
                var key   = reader.GetColumnName(i);
                var value = reader[i];
                result[key] = value;
            }

            return(result);
        }
 public bool RestoreTabeles(string folderPath)
 {
     try
     {
         MySqlConnection mySqlConnection = new MySqlConnection(ConnectionString);
         mySqlConnection.Open();
         List <string> queryList = QueryReader.GetTableQueryFiles(folderPath);
         foreach (string query in queryList)
         {
             MySqlCommand mySqlCommand = new MySqlCommand(query, mySqlConnection);
             mySqlCommand.ExecuteNonQuery();
         }
         return(true);
     }
     catch (Exception Ex)
     {
         return(false);
     }
 }
示例#11
0
        /// <summary>
        /// Represents an Excel-compatible workbook file, with a specified WorkbookParams.
        /// </summary>
        /// <param name="p1"></param>
        public Workbook(WorkBookParams p1)
        {
            this.runParameters = p1;
            //// max rows is actually max rows subtract 1, since we're including row headers
            //this.runParameters.MaxRowsPerSheet = this.runParameters.MaxRowsPerSheet - 1;

            queryReader = new QueryReader(runParameters.Query, runParameters.QueryTimeout, runParameters.FromFile, runParameters.ConnectionString);

            workers = new List <WorkerProgress>();

            Thread t = new Thread(EmitRowsOverTime);

            t.IsBackground = true;
            WorkerProgress w = new WorkerProgress();

            w.t         = t;
            w.cancelled = false;

            lock (workerLock)
                workers.Add(w);
        }
        public static DataTable ExecuteDataTable(this QueryReader queryReader)
        {
            if (queryReader == null)
            {
                throw new ArgumentNullException(nameof(queryReader));
            }

            var dataTable = queryReader.CreateSchemaTable();
            var values    = new object[queryReader.ColumnCount];

            while (queryReader.Read())
            {
                for (var i = 0; i < queryReader.ColumnCount; i++)
                {
                    values[i] = queryReader[i];
                }

                dataTable.Rows.Add(values);
            }

            return(dataTable);
        }
示例#13
0
        async protected override void OnFileActivated(FileActivatedEventArgs args)
        {
            var target_file = args.Files.FirstOrDefault() as StorageFile;
            var query       = await target_file.ReadTextAsync();

            var reader      = QueryReader.Load(query);
            var target_page = reader["page"];

            if (target_page == "street")
            {
                StreetSideViewPage street_view = new StreetSideViewPage();
                var center_point = new Geopoint(new BasicGeoposition
                {
                    Latitude  = App.State.NextEvent.Latitude.Value,
                    Longitude = App.State.NextEvent.Longitude.Value,
                });
                await street_view.InitializeAsync(center_point);

                Window.Current.Content = street_view;
            }
            else if (target_page == "main")
            {
                Window.Current.Content = new ApplicationHostPage();
            }
            else if (target_page == "counter")
            {
                Window.Current.Content = new PatronCounter();
            }
            else if (target_page == "test")
            {
                Window.Current.Content = new TestPage();
            }
            else
            {
                Window.Current.Content = new PageNotFound();
            }
            Window.Current.Activate();
        }
        public static DataTable CreateSchemaTable(this QueryReader queryReader)
        {
            if (queryReader == null)
            {
                throw new ArgumentNullException(nameof(queryReader));
            }

            var dataTable           = new DataTable(@"Results");
            var existingColumnNames = new HashSet <string>();

            for (var i = 0; i < queryReader.ColumnCount; i++)
            {
                var columnName       = queryReader.GetColumnName(i);
                var uniqueColumnName = GenerateUniqueColumnName(existingColumnNames, columnName);
                var columnType       = queryReader.GetColumnType(i);
                var dataColumn       = new DataColumn(uniqueColumnName, columnType);
                dataColumn.Caption = columnName;
                dataTable.Columns.Add(dataColumn);
                existingColumnNames.Add(uniqueColumnName);
            }

            return(dataTable);
        }
示例#15
0
        private void UserUpdate()
        {
            string connectionString = "SERVER=" + DBConnect.SERVER + ";" +
                                      "DATABASE=" + DBConnect.DATABASE_NAME + ";" + "UID=" +
                                      DBConnect.USER_NAME + ";" + "PASSWORD="******";" + "SslMode=" +
                                      DBConnect.SslMode + ";";

            try
            {
                //This is an Update query which which will replace the text from the window form to the database
                string UserUpdateQuery = "update isad157_SSyantanTamang.users set UserID='" + this.textUserID.Text + "' ,FirstName = '" + this.textFirstName.Text +
                                         "',LastName='" + this.textLastName.Text + "',Gender='" + this.textGender.Text +
                                         "',Hometown='" + this.textHometown.Text + "',City='" + this.textCity.Text + "' where UserID='" + this.textUserID.Text + "';";

                //Creates a connection between our Windows form and our Database
                MySqlConnection MyConnection = new MySqlConnection(connectionString);
                MySqlCommand    sqlcmd       = new MySqlCommand(UserUpdateQuery, MyConnection);
                MySqlDataReader QueryReader;

                //Opens the connection to our database
                MyConnection.Open();
                QueryReader = sqlcmd.ExecuteReader();

                //Displays a message informing the User that the details were successfully changed
                MessageBox.Show("Details have now been updated, please refresh!");
                while (QueryReader.Read())
                {
                }
                //Close Database Connection
                MyConnection.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
示例#16
0
        private void CreateNewUser()
        {
            string connectionString = "SERVER=" + DBConnect.SERVER + ";" +
                                      "DATABASE=" + DBConnect.DATABASE_NAME + ";" + "UID=" +
                                      DBConnect.USER_NAME + ";" + "PASSWORD="******";" + "SslMode=" +
                                      DBConnect.SslMode + ";";

            try
            {
                //This is going to create a new user into the database
                string CreateUserQuery = "insert isad157_SSyantanTamang.users set FirstName = '" + this.textFirstName.Text +
                                         "',LastName='" + this.textLastName.Text + "',Gender='" + this.textGender.Text +
                                         "',Hometown='" + this.textHometown.Text + "',City='" + this.textCity.Text + "';";

                //Creates a connection between our Windows form and our Database
                MySqlConnection MyDBConnection = new MySqlConnection(connectionString);
                MySqlCommand    sqlcmd         = new MySqlCommand(CreateUserQuery, MyDBConnection);
                MySqlDataReader QueryReader;

                //Opens the connection to our database
                MyDBConnection.Open();
                QueryReader = sqlcmd.ExecuteReader();

                //Displays a message informing the User that the details were successfully changed
                MessageBox.Show("A new User has now been added, please refresh!");
                while (QueryReader.Read())
                {
                }
                //Close Database Connection
                MyDBConnection.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
示例#17
0
        private void OnCertification()
        {
            List<Item> availableCertifications = new List<Item>();       // Based upon the current view (All, Last played, Last Added)
            QueryReader<List<Item>> sql = new QueryReader<List<Item>>(SqlRating);
            sql.OnRow += new QueryReader<List<Item>>.Row(OnRow_Rating);
            sql.OnConnection += new Sql.ConnectionEvent(sql_OnConnection);
            sql.Execute(ConnectionString, availableCertifications);

            Filter dialog = new Filter("Certifications", _currentCertifications, availableCertifications);
            dialog.DoModal();
        }
示例#18
0
        public static void Main(string[] args)
        {
            //string connectionString = "Data Source=" + AppDomain.CurrentDomain.BaseDirectory + "\\DataSource\\" + ConfigHelper.GetConnectionString("SQLiteConnection");
            string connectionString = ConfigHelper.GetConnectionString("SqlConnection");

            #region 框架测试
            ///此部分最好在全局中注册,或者在IOC注册中注册
            ProviderFactory.RegisterProviderFactory(connectionString, DateProvider.SqlServer);

            DbContext context = new DbContext(connectionString);
            //强类型
            StoreSimpleClient <tb_User> client = context.CreateStoreSimpleClient <tb_User>();
            //无类型
            var nonClient = context.CreateNonSimpleClient();

            ///以下方法都是支持无类型的

            //列表获取
            client.GetList(e => e.name == "cxb" || e.mobile == "15989027156");
            nonClient.GetList <tb_User>(e => e.name == "cxb" || e.mobile == "15989027156");
            //新增
            var inum = client.Insert(new tb_User()
            {
                mobile = "15989027256", name = "bosco", password = "******", sex = 1, roleid = 1
            });
            //更新
            int unum = client.Update(new tb_User {
                mobile = "15989027255", name = "bosco", password = "******", sex = 1, isDelete = true
            }, e => e.name == "cxb");
            //部分更新
            client.UpdatePart(e => new tb_User()
            {
                name = "123", mobile = "15989027156"
            }, a => a.name == "cxb");
            //删除
            int dnum = client.Detele(e => e.name == "b");
            //分页查找
            int pageindex   = 1;
            int pagesize    = 100;
            var nonPagelist = nonClient.GetPageList <UserInfo>(e => true, pageindex, pagesize);
            var pagelist    = client.GetPageList(e => true, pageindex, pagesize);
            //普通SQL查询
            var result = client.Query <tb_User>("select * from tb_User", new { });
            //单条数据返回
            var resultSingle = client.QuerySingle <tb_User>("select * from tb_User", new { });

            //支持事务
            context.CreateTransaction();
            client.Insert(new tb_User()
            {
                mobile = "15989027256", name = "bosco", password = "******", sex = 1, roleid = 1
            });
            client.Update(new tb_User {
                mobile = "15989027255"
            }, e => e.name == "cxb");
            context.CommitTransaction();

            #endregion
            #region 支持根和聚合方式
            nonClient.Insert <tb_Role>(new tb_Role {
                rid = 1, rname = "cxb", risDelete = 2
            });
            tb_Role roles = new tb_Role();
            client.Query <tb_Role, tb_UserX, tb_Role>("select * from tb_User u left join tb_Role r on u.roleid=r.rid", (tb_Role, tb_UserX) =>
            {
                if (tb_Role.rid != roles.rid)
                {
                    roles = tb_Role;
                }
                roles.UserList.Add(tb_UserX);
                return(roles);
            });
            #endregion
            #region 支持多结果集
            QueryReader    reader       = client.QueryMultiple("select * from tb_User;select * from tb_Role");
            List <tb_User> ReadUserList = reader.ReadList <tb_User>().ToList();
            List <tb_Role> ReadRoleList = reader.ReadList <tb_Role>().ToList();

            #endregion
            #region 查询对象方法
            //QueryObjectclient<tb_User> query = new QueryObjectclient<tb_User>(connectionString);
            //var userq = new tb_User() { mobile = "15989027256", name = "bosco", password = "******", sex = 1 };
            //query.Insert(userq);
            //userq = query.Get(new Condition() { field = "mobile", operarorsign = "=", value = "15989027256" });
            //Console.WriteLine(userq.mobile);
            //List<Condition> conditions = new List<Condition>();
            //conditions.Add(new Condition() { field = "mobile", operarorsign = "=", value = "15989027256" });
            //userq = query.Get(conditions);
            //Console.WriteLine(userq.mobile);
            #endregion
        }
示例#19
0
        private void LoadMovieActors(int movieID)
        {
            GUIWaitCursor.Show();
            GUIControl.ClearControl(GetID, facadeView.GetID);
            ArrayList itemlist = new ArrayList();

            QueryReader<ArrayList> sql = new QueryReader<ArrayList>(string.Format(_movieActorsSQL, movieID));
            sql.OnRow += new QueryReader<ArrayList>.Row(OnRow_Actor);
            sql.OnConnection += new Sql.ConnectionEvent(Movies.sql_OnConnection);
            sql.Execute(Movies.ConnectionString, itemlist);

            foreach (GUIListItem item in itemlist)
            {
                facadeView.Add(item);
            }
            //set object count label
            GUIPropertyManager.SetProperty("#itemcount", MediaPortal.Util.Utils.GetObjectCountLabel(itemlist.Count));
            GUIPropertyManager.SetProperty("#currentmodule", "MyMovies Artists");
            facadeView.CurrentLayout = GUIFacadeControl.Layout.List;
            facadeView.SelectedListItemIndex = _currentSelectionIndex;
            GUIWaitCursor.Hide();
        }
示例#20
0
        static void Main(string[] args)
        {
            /*
            try
            {
                Console.WriteLine("Reading query 1.");
                new DevDBProvider().WithSqlReader(DBUtils.CURRENT_DB, "SELECT CT.C_C_CARNET_NUMBER, CT.C_C_STATE, CT.C_C_REASON FROM [CURRENT].DBO.CAR_CUR_CARNET_TABLE CT WITH(NOLOCK) WHERE CT.C_C_CARNET_NUMBER > 70320000", reader =>
                    {
                       return new QueryReader<Carnet>(new string[] { "C_C_CARNET_NUMBER", "C_C_STATE", "C_C_REASON" }, reader).Read();
                    }).Apply(c => Console.WriteLine(c));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            Console.ReadLine();

            try
            {
                Console.WriteLine("Reading query 2.");
                new DevDBProvider().WithSqlReader(DBUtils.CURRENT_DB, "SELECT CT.C_C_CARNET_NUMBER, CT.C_C_STATE, CT.C_C_REASON FROM [CURRENT].DBO.CAR_CUR_CARNET_TABLE CT WITH(NOLOCK) WHERE CT.C_C_CARNET_NUMBER > 70320000", reader =>
                {
                    return new QueryReader<Carnet2>(new string[] { "C_C_CARNET_NUMBER", "C_C_STATE", "C_C_REASON" }, reader).Read();
                }).Apply(c => Console.WriteLine(c));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            Console.ReadLine();

            return;
            */
            try
            {
                if (args.Length == 0) { return; }
                string cifName = args[0];

                CIFFile aFile = dbProvider.WithSqlReader(DBUtils.DISPATCH_DB, String.Format(@"select ToolsDB.dbo.GetCarnetNumberWithCheckDigit(c.D_C_CARNET_NUMBER) as CarnetNumber, h.D_H_CREATION_DATE, h.D_H_FILE_CUST_FILE, c.D_C_DATE_IN_LEDGER, c.D_C_REF_IN_LEDGER, c.D_C_REF_CUST_OFFICE, c.D_C_DATE_OF_DISCHARGE, D_C_REF_NUM_DISCHARGE, D_C_DISCHARGE_TYPE, c.D_C_SHEET_NUMBER, c.D_C_DISCHARGE_STATUS, c.D_C_NUM_PACKAGES, c.D_C_COMMENT, c.D_C_ASSOC_INVOICED, c.D_C_COUNTRY_ISO, c.D_C_SERIES_TYPE, c.D_C_CARNET_INDEX, ad.C_XST_ASSOCIATION_TXT, ad.C_XST_COUNTRY_ISO_CODE, c.D_C_CREATION_DATE
            from Dispatch.dbo.CAR_DISP_HEADERS h join Dispatch.dbo.CAR_DISP_CARNETS c on c.D_C_FILE_KEY = h.D_H_FILE_KEY join [Current].dbo.CAR_CUR_SYS_ASSOC_DETAILS ad on c.D_C_ASSOC_INVOICED = ad.C_XST_ASSOCIATION
            where h.D_H_FILE_CUST_FILE = '{0}'", cifName), reader =>
                {
                    DateTime processingDate = DateTime.Now;
                    string cifFilename = args[0];
                    IEnumerable<CIFRecord> records = new QueryReader<CIFRecord>(new string[] { "CarnetNumber", /*"D_H_CREATION_DATE", /*"D_H_FILE_CUST_FILE", */"D_C_DATE_IN_LEDGER", "D_C_REF_IN_LEDGER", "D_C_REF_CUST_OFFICE", "D_C_DATE_OF_DISCHARGE",
                        "D_C_REF_NUM_DISCHARGE", "D_C_DISCHARGE_TYPE", "D_C_SHEET_NUMBER", "D_C_DISCHARGE_STATUS", "D_C_NUM_PACKAGES", "D_C_COMMENT", "D_C_ASSOC_INVOICED", "D_C_COUNTRY_ISO", "D_C_SERIES_TYPE",
                        "D_C_CARNET_INDEX", /*"C_XST_ASSOCIATION_TXT", "C_XST_COUNTRY_ISO_CODE", */"D_C_CREATION_DATE" }, reader).Read();
                    // string carnetNumber, DateTime dateInLedger, string refInLedger, string customsOfficeReference, DateTime dateOfDischarge, string dischargeReference, string dischargeType, int vpn, string dischargeStatus, int numOfPacks, string comments, short invoicedAssociation, string countryISO, short seriesType, int carnetIndex, DateTime creationDate

                    /*
                     * System.String,        System.DateTime,       System.String,      System.String,                  System.DateTime,        System.String,              System.String,      System.Int32, System.String,        System.Int32, System.String,    System.Int16,               System.String,   System.Int16,      System.Int32, System.String, System.String, System.DateTime
                     * */
                    /*DateTime processingDate = DateTime.Now;
                    string cifFilename = args[0];

                    IEnumerable<CIFRecord> records = reader.ReadEachRow(read =>
                        {
                            CarnetNumber carnetNumber = read.GetString(carnetNumberIndex, string.Empty);
                            processingDate = read.GetDateTime(processingDateIndex, DateTime.Now);
                            cifFilename = read.GetString(cifFilenameIndex, cifFilename);
                            DateTime dateInLedger = read.GetDateTime(dateInLedgerIndex, DateTime.Now);
                            string refInLedger = read.GetString(refInLedgerIndex, string.Empty);
                            string customsOfficeReference = read.GetString(customsOfficeReferenceIndex, string.Empty);
                            DateTime dateOfDischarge = read.GetDateTime(dateOfDischargeIndex, DateTime.Now);
                            string dischargeRef = read.GetString(dischargeRefIndex, string.Empty);
                            string dischargeType = read.GetString(dischargeTypeIndex, string.Empty);
                            int vpn = read.GetInt(vpnIndex, -1);
                            string dischargeStatus = read.GetString(dischargeStatusIndex, string.Empty);
                            int packs = read.GetInt(packsIndex, -1);
                            string comments = read.GetString(commentsIndex, string.Empty);
                            short invoicedAssociationId = read.GetShort(invoicedAssociationIndex, -1);
                            Association invoicedAssociation = refs.GetAssociationById(invoicedAssociationId);
                            if (invoicedAssociation == null)
                            {
                                Console.Out.WriteLine("Invoiced association not found. Id=" + invoicedAssociationId.ToString());
                            }
                            else
                            {
                                if (invoicedAssociation.Country == null)
                                {
                                    Console.Out.WriteLine("Invoiced association country not found.");
                                }
                            }
                            string countryISO = read.GetString(countryISOIndex, string.Empty);
                            short seriesType = read.GetShort(seriesTypeIndex, -1);
                            int carnetIndex = read.GetInt(carnetIndexIndex, -1);
                            DateTime creationDate = read.GetDateTime(creationDateIndex);
                            CIFRecord record = new CIFRecord(carnetNumber, dateInLedger, refInLedger, customsOfficeReference, dateOfDischarge, dischargeRef, dischargeType, vpn, dischargeStatus, packs, comments, invoicedAssociation, countryISO, seriesType, carnetIndex, creationDate);
                            return record;
                        });*/
                    CIFFile file = new CIFFile(records, processingDate, cifFilename);
                    return file;
                });
                // Write the records back to a CXF file
                aFile.Records
                     .GroupBy(record => record.InvoicedAssociation, new Association.EqualityComparer())
                     .Apply(associationRecords => IOUtils.WithFileWriter(IOUtils.GetCurrentDirectory(), CXFFile.MakeFilename(associationRecords.Key as Association), writer =>
                     {
                         Country country = refs.GetCountryByCode("CHE");
                         writer.WriteLine(new CXFFileBuilder()
                             .BeginFile(country, "IRU")
                             .AddSegments(associationRecords.Select(record => ConvertRecord(record, aFile, country, "IRU")))
                             .EndFile()
                             .ToString());
                     }));
            }
            catch (Exception ex)
            {
                Console.Out.WriteLine(ex);
            }
        }
示例#21
0
 internal QueryDataReader(QueryReader queryReader)
 {
     _queryReader = queryReader;
 }
示例#22
0
        async protected override void OnActivated(IActivatedEventArgs args)
        {
            await InitializeAppAsync();

            if (args.Kind == ActivationKind.Protocol)
            {
                var protocol_args = args as ProtocolActivatedEventArgs;
                var query         = WebUtility.UrlDecode(protocol_args.Uri.Query.ToLower());
                var reader        = QueryReader.Load(query);

                if (reader.Contains("launchcontext"))
                {
                    var context = reader["launchcontext"];
                    if (context == "all_events")
                    {
                        Window.Current.Content = new ListEventsPage(App.State.Events);
                    }
                    else if (context == "event")
                    {
                        var event_id   = Guid.Parse(reader["event_id"]);
                        var event_list = App.State.Events.Where(i => i.EventID == event_id).ToList();
                        Window.Current.Content = new ListEventsPage(event_list);
                    }
                }
                else if (reader.Contains("page"))
                {
                    var target_page = reader["page"];

                    if (target_page == "street")
                    {
                        StreetSideViewPage street_view = new StreetSideViewPage();
                        var center_point = new Geopoint(new BasicGeoposition
                        {
                            Latitude  = App.State.NextEvent.Latitude.Value,
                            Longitude = App.State.NextEvent.Longitude.Value,
                        });
                        await street_view.InitializeAsync(center_point);

                        Window.Current.Content = street_view;
                    }
                    else if (target_page == "main")
                    {
                        Window.Current.Content = new ApplicationHostPage();
                    }
                    else if (target_page == "counter")
                    {
                        Window.Current.Content = new PatronCounter();
                    }
                    else if (target_page == "test")
                    {
                        Window.Current.Content = new TestPage();
                    }
                    else
                    {
                        Window.Current.Content = new PageNotFound();
                    }
                }
            }
            else if (args.Kind == ActivationKind.ProtocolForResults)
            {
                var protocol_args = args as ProtocolForResultsActivatedEventArgs;
                Window.Current.Content = new LaunchResponsePage(protocol_args);
            }
            else if (args.Kind == ActivationKind.VoiceCommand)
            {
                var command_args = args as VoiceCommandActivatedEventArgs;
                if (command_args != null)
                {
                    var rule_path = command_args.Result.RulePath[0];
                    var location  = command_args.Result.SemanticInterpretation.Properties["location"][0].ToLower();

                    var events = App.State.Events;

                    switch (rule_path)
                    {
                    case "show-events-today":
                    {
                        var today = DateTime.Now.Date;
                        events = (from evt in events
                                  where evt.StartDateTime.Date == today &&
                                  evt.Address.ToLower().Contains(location)
                                  select evt).ToList();
                    }
                    break;

                    case "show-events-tomorrow":
                    {
                        var tomorrow = DateTime.Now.Date.Add(TimeSpan.FromDays(1));
                        events = (from evt in events
                                  where evt.StartDateTime.Date == tomorrow &&
                                  evt.Address.ToLower().Contains(location)
                                  select evt).ToList();
                    }
                    break;

                    case "show-events-thisweek":
                    {
                        var today         = DateTime.Now.Date;
                        var week_starting = today.Subtract(TimeSpan.FromDays((int)today.DayOfWeek));
                        var week          = Math.Floor(week_starting.DayOfYear / 7.0);

                        events = (from evt in events
                                  let evt_day = evt.StartDateTime
                                                let evt_dow = (int)evt_day.DayOfWeek
                                                              let days_to_subtract = TimeSpan.FromDays(evt_dow)
                                                                                     let evt_week_starting = evt_day.Subtract(days_to_subtract)
                                                                                                             let evt_week = Math.Floor(evt_week_starting.DayOfYear / 7.0)
                                                                                                                            where week == evt_week &&
                                                                                                                            evt.Address.ToLower().Contains(location)
                                                                                                                            select evt).ToList();
                    }
                    break;

                    case "show-events-thismonth":
                    {
                        var today = DateTime.Now;
                        events = (from evt in events
                                  where evt.StartDateTime.Month == today.Month &&
                                  evt.Address.ToLower().Contains(location)
                                  select evt).ToList();
                    }
                    break;
                    }
                    Window.Current.Content = new ListEventsPage(events);
                }
            }
            Window.Current.Activate();
        }
示例#23
0
        public void ExtractData_WhenTextIsEmpty_ExceptionRaised(string text)
        {
            var reader = new QueryReader();

            Assert.Throws <ArgumentNullException>(() => reader.ExtractData(text));
        }
示例#24
0
        /// <summary>
        /// Create a CSV of the genres associated with the specified movie.
        /// </summary>
        /// <param name="movieId">int movie ID</param>
        /// <returns>csv of Genres</returns>
        private string GetMovieGenres(int movieId)
        {
            StringBuilder genres = new StringBuilder();
            QueryReader<StringBuilder> sql = new QueryReader<StringBuilder>(string.Format("SELECT g.nvcName FROM tblTitleGenre tg INNER JOIN tblGenres g ON tg.intGenre = g.intId WHERE intTitle = {0}", movieId));
            sql.OnRow += new QueryReader<StringBuilder>.Row(OnRow_CSV);
            sql.Execute(ConnectionString, genres);

            return genres.ToString();
        }
示例#25
0
        /// <summary>
        /// Create a CSV of the directors associated with the specified movie.
        /// </summary>
        /// <param name="movieId">int movie ID</param>
        /// <returns>csv of directors names</returns>
        private string GetMovieDirectors(int movieId)
        {
            StringBuilder directors = new StringBuilder();
            QueryReader<StringBuilder> sql = new QueryReader<StringBuilder>(string.Format("{0} WHERE intTitle = {1}", _directorsSQL, movieId));
            sql.OnRow += new QueryReader<StringBuilder>.Row(OnRow_CSV);
            sql.Execute(ConnectionString, directors);

            return directors.ToString();
        }
示例#26
0
        public static void Main(string[] args)
        {
            //string connectionString = "Data Source=" + AppDomain.CurrentDomain.BaseDirectory + "\\DataSource\\" + ConfigHelper.GetConnectionString("SQLiteConnection");
            string connectionString = ConfigHelper.GetConnectionString("SqlConnection");

            #region 框架测试
            ///此部分最好在全局中注册,或者在IOC注册中注册
            ProviderFactory.RegisterProviderFactory(connectionString, DateProvider.SqlServer);

            DbContext context = new DbContext(connectionString);
            //强类型
            Repository <tb_User> repository = context.CreateRepository <tb_User>();
            //无类型
            var nonrepository = context.CreateNonRepository();

            ///以下方法都是支持无类型的

            //列表获取
            repository.GetList(e => e.name == "cxb" || e.mobile == "15989027156");
            nonrepository.GetList <tb_User>(e => e.name == "cxb" || e.mobile == "15989027156");
            //新增
            var inum = repository.Insert(new tb_User()
            {
                mobile = "15989027256", name = "bosco", password = "******", sex = 1, roleid = 1
            });
            //更新
            int unum = repository.Update(new tb_User {
                mobile = "15989027255", name = "bosco", password = "******", sex = 1, isDelete = true
            }, e => e.name == "cxb");
            //部分更新
            repository.UpdatePart(e => new tb_User()
            {
                name = "123", mobile = "15989027156"
            }, a => a.name == "cxb");
            //删除
            int dnum = repository.Detele(e => e.name == "b");
            //分页查找
            int pageindex   = 1;
            int pagesize    = 100;
            var nonpagelist = nonrepository.GetPageList <UserInfo>(e => true, pageindex, pagesize);
            var pagelist    = repository.GetPageList(e => true, pageindex, pagesize);
            //支持事务
            context.CreateTransaction();
            repository.Insert(new tb_User()
            {
                mobile = "15989027256", name = "bosco", password = "******", sex = 1, roleid = 1
            });
            repository.Update(new tb_User {
                mobile = "15989027255"
            }, e => e.name == "cxb");
            context.CommitTransaction();

            #endregion
            #region 支持根和聚合方式
            nonrepository.Insert <tb_Role>(new tb_Role {
                rid = 1, rname = "cxb", risDelete = 2
            });
            tb_Role roles = new tb_Role();
            repository.Query <tb_Role, tb_UserX, tb_Role>("select * from tb_User u left join tb_Role r on u.roleid=r.rid", (tb_Role, tb_UserX) =>
            {
                if (tb_Role.rid != roles.rid)
                {
                    roles = tb_Role;
                }
                roles.UserList.Add(tb_UserX);
                return(roles);
            });
            #endregion
            #region 支持多结果集
            QueryReader    reader       = repository.QueryMultiple("select * from tb_User;select * from tb_Role");
            List <tb_User> ReadUserList = reader.ReadList <tb_User>().ToList();
            List <tb_Role> ReadRoleList = reader.ReadList <tb_Role>().ToList();

            #endregion
            #region 支持多结果
            QueryReader readerOne = repository.QueryMultiple("select * from tb_User; select* from tb_Role");
            var         nonUser   = readerOne.Read <tb_User>();
            var         role      = readerOne.Read <tb_Role>();
            #endregion
            #region 查询对象方法
            //QueryObjectRepository<tb_User> query = new QueryObjectRepository<tb_User>(connectionString);
            //var userq = new tb_User() { mobile = "15989027256", name = "bosco", password = "******", sex = 1 };
            //query.Insert(userq);
            //userq = query.Get(new Condition() { field = "mobile", operarorsign = "=", value = "15989027256" });
            //Console.WriteLine(userq.mobile);
            //List<Condition> conditions = new List<Condition>();
            //conditions.Add(new Condition() { field = "mobile", operarorsign = "=", value = "15989027256" });
            //userq = query.Get(conditions);
            //Console.WriteLine(userq.mobile);
            #endregion
            string sqlRecord = "select * from tb_User";

            #region SimpleOrm性能测试
            var watcher = new Stopwatch();
            watcher.Start();

            for (int i = 0; i < 100; i++)
            {
                repository.Query <tb_User>(sqlRecord, null).FirstOrDefault();
            }
            watcher.Stop();
            var duration = watcher.Elapsed.TotalMilliseconds;
            Console.WriteLine("SimpleOrm的效率:" + duration);
            #endregion

            #region Dapper性能测试
            var watcher0 = new Stopwatch();
            watcher0.Start();

            IDbConnection conn = new SqlConnection(connectionString);
            for (int i = 0; i < 100; i++)
            {
                conn.Query <tb_User>(sqlRecord, null).ToList().FirstOrDefault();
            }
            watcher0.Stop();
            var duration0 = watcher0.Elapsed.TotalMilliseconds;
            Console.WriteLine("Dapper的效率:" + duration0);
            #endregion

            #region 反射性能测试

            var watcher1 = new Stopwatch();
            watcher1.Start();
            for (int i = 0; i < 100; i++)
            {
                repository.QueryReflect <tb_User>(sqlRecord, null).FirstOrDefault();
            }
            watcher1.Stop();
            var duration1 = watcher1.Elapsed.TotalMilliseconds;
            Console.WriteLine(".net反射的效率:" + duration1);
            #endregion

            Console.Read();
        }
示例#27
0
        /// <summary>
        /// Create a CSV of the studios associated with the specified movie.
        /// </summary>
        /// <param name="movieId">int movie ID</param>
        /// <returns>csv of studio names</returns>
        private string GetStudios(int movieId)
        {
            StringBuilder studios = new StringBuilder();
            QueryReader<StringBuilder> sql = new QueryReader<StringBuilder>(string.Format("{0} WHERE intTitle = {1}", _studiosSQL, movieId));
            sql.OnRow += new QueryReader<StringBuilder>.Row(OnRow_CSV);
            sql.Execute(ConnectionString, studios);

            return studios.ToString();
        }
示例#28
0
        private void OnYears()
        {
            List<Item> availableYears = new List<Item>();       // Based upon the current view (All, Last played, Last Added)
            QueryReader<List<Item>> sql = new QueryReader<List<Item>>(SqlYears);
            sql.OnRow += new QueryReader<List<Item>>.Row(OnRow_Year);
            sql.OnConnection += new Sql.ConnectionEvent(sql_OnConnection);
            sql.Execute(ConnectionString, availableYears);

            Filter dialog = new Filter("Production Years", _currentYears, availableYears);
            dialog.DoModal();
        }
示例#29
0
        private void OnGenre()
        {
            List<Item> availableGenre = new List<Item>();       // Based upon the current view (All, Last played, Last Added)
            QueryReader<List<Item>> sql = new QueryReader<List<Item>>(SqlGenres);
            sql.OnRow += new QueryReader<List<Item>>.Row(OnRow_Genre);
            sql.OnConnection += new Sql.ConnectionEvent(sql_OnConnection);
            sql.Execute(ConnectionString, availableGenre);

            Filter dialog = new Filter(135, _currentGenres, availableGenre);
            dialog.DoModal(true);
        }
示例#30
0
        /// <summary>
        /// Read the data from SQL using the current settings.
        /// </summary>
        private void LoadCurrentSettings()
        {
            GUIWaitCursor.Show();

            try
            {
                ArrayList itemlist = new ArrayList();
                QueryReader<ArrayList> sql = new QueryReader<ArrayList>(SqlMovies);
                sql.OnRow += new QueryReader<ArrayList>.Row(OnRow_Movie);
                sql.OnConnection += new Sql.ConnectionEvent(sql_OnConnection);
                sql.Execute(ConnectionString, itemlist);

                LoadItems(itemlist, _currentSelectionIndex);
                GUIWaitCursor.Hide();
            }
            catch (Exception ex)
            {
                Log.Error("MyMovies::LoadCurrentSettings - Error loading movies");
                Log.Error(ex);

                GUIWaitCursor.Hide();
                GUIDialogOK dlgOk = (GUIDialogOK)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_OK);
                dlgOk.SetHeading(342);//Movies
                dlgOk.SetLine(1, 315);//Database error
                dlgOk.DoModal(GetID);
            }
        }