コード例 #1
0
        private void metroButton2_Click(object sender, EventArgs e)
        {
            objState = Entitystate.Delected;
            if (MetroFramework.MetroMessageBox.Show(this, "Willst du es Wircklich löschen?", "Message", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                try
                {
                    Teilnehmer obj = teilnehmerBindingSource.Current as Teilnehmer;

                    if (obj != null)
                    {
                        using (IDbConnection db = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString))
                        {
                            if (db.State == ConnectionState.Closed)
                            {
                                db.Open();
                            }
                            int result = db.Execute("delete  from teilnehmer where id_teilnehmer= @id_teilnehmer", new { id_teilnehmer = obj.id_teilnehmer }, commandType: CommandType.Text);
                            if (result != 0)
                            {
                                teilnehmerBindingSource.RemoveCurrent();
                                metroPanel1.Enabled = false;
                                //pictureBox1.Image = null;
                                objState = Entitystate.Unchanged;
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    MetroFramework.MetroMessageBox.Show(this, ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
コード例 #2
0
 private void metroButton1_Click(object sender, EventArgs e)
 {
     objState            = Entitystate.Added;
     pictureBox1         = null;
     metroPanel1.Enabled = true;
     teilnehmerBindingSource.Add(new Teilnehmer());
     teilnehmerBindingSource.MoveLast();
     txtname.Focus();
 }
コード例 #3
0
        /// <summary>
        /// Create a new row in Entitystate for given entity.
        /// </summary>
        /// <param name="dbContext">Database context.</param>
        /// <param name="mode">EntityProcessMode. Udtraek/Update/Dagi.</param>
        /// <param name="entity">Entity name.</param>
        /// <param name="txid">Transaction ID.</param>
        public static void SetEntityStateStart(DawaReplicationDBContext dbContext, EntityProcessMode mode, string entity, long txid)
        {
            if (dbContext == null)
            {
                throw new ArgumentNullException(nameof(dbContext));
            }

            if (entity == null)
            {
                throw new ArgumentNullException(nameof(entity));
            }

            entity = entity.ToLower();

            // Create entity if missing:
            if (!dbContext.Entitystate.Any(c => c.Entity == entity))
            {
                var entitystate = new Entitystate
                {
                    Entity = entity,
                };
                dbContext.Add(entitystate);
                dbContext.SaveChanges();
            }

            var row = dbContext.Entitystate.Single(c => c.Entity == entity);

            row.Txid              = mode == EntityProcessMode.Update ? row.Txid : txid;
            row.Success           = null;
            row.Successtime       = null;
            row.SuccesstimeChange = row.SuccesstimeChange;
            row.Starttime         = DateTime.Now;
            row.Finishtime        = null;
            row.Count             = null;
            row.Message           = null;

            dbContext.Update(row);
            dbContext.SaveChanges();
        }
コード例 #4
0
        private void metroButton5_Click(object sender, EventArgs e)
        {
            try
            {
                teilnehmerBindingSource.EndEdit();
                Teilnehmer obj = teilnehmerBindingSource.Current as Teilnehmer;

                if (obj != null)
                {
                    using (IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString))
                    {
                        if (db.State == ConnectionState.Closed)
                        {
                            db.Open();
                        }
                        if (objState == Entitystate.Added)
                        {
                            DynamicParameters parameters = new DynamicParameters();
                            parameters.Add("@id_teilnehmer", dbType: DbType.Int32, direction: ParameterDirection.Output);
                            parameters.AddDynamicParams(new { name = obj.name, vorname = obj.vorname, geburtsdatum = obj.geb_dat, kurs = obj.kurs });
                            db.Execute("sp_teilnehmer_insert", parameters, commandType: CommandType.StoredProcedure);
                            obj.id_teilnehmer = parameters.Get <int>("@id_teilnehmer");
                        }
                        else if (objState == Entitystate.Changed)
                        {
                            db.Execute("sp_teilnehmer_update", new { id_teilnehmer = obj.id_teilnehmer, name = obj.name, vorname = obj.vorname, geburtsdatum = obj.geb_dat, kurs = obj.kurs }, commandType: CommandType.StoredProcedure);
                        }
                        metroGrid1.Refresh();
                        metroPanel1.Enabled = false;
                        objState            = Entitystate.Unchanged;
                    }
                }
            }
            catch (Exception ex)
            {
                MetroFramework.MetroMessageBox.Show(this, ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #5
0
 private void metroButton3_Click(object sender, EventArgs e)
 {
     objState            = Entitystate.Changed;
     metroPanel1.Enabled = true;
     txtname.Focus();
 }