c# - How to check if member A paid for month January in 2019 and if he did disable option to make payment again in 2019 for monthJanuary?
问题描述
I have a table membership where I'm saving all paid or owed months for every user, but I have a problem where member A can pay January 2019 or any other month unlimited amount of times. I need to check if member A (or whatever ID is for another member) paid for January 2019 (or any other month/year) and if he did, upon making same payment (January 2019) to throw an error that member A paid that month in 2019 already.
private void Plati_Clanarinu_tipka_Click(object sender, EventArgs e)
{
MySqlConnection connection;
string conString = "server=localhost; database=bazakudsumari; uid=David; password=root";
try
{
connection = new MySqlConnection
{
ConnectionString = conString
};
connection.Open();
if (string.IsNullOrWhiteSpace(iznos_clanarine.Text) || string.IsNullOrWhiteSpace(odaberi_mjesec.Text) || (!placeno.Checked && !duzan.Checked) || string.IsNullOrWhiteSpace(godina_uplate_clanarine.Text) || string.IsNullOrWhiteSpace(ime.Text) || string.IsNullOrWhiteSpace(prezime.Text) || string.IsNullOrWhiteSpace(datum_rodenja.Text) || string.IsNullOrWhiteSpace(oib.Text))
{
MessageBox.Show("Odaberite člana i ispunite sva potrebna polja prije naplate članarine!");
}
else
{
string Query = "INSERT INTO evidencija_clanarina (id_clana, mjesec, godina, vrsta, iznos, dug) VALUES (@id_clana, @mjesec, @godina, @vrsta, @iznos, @dug)";
using (MySqlCommand command = new MySqlCommand(Query, connection))
{
command.Parameters.AddWithValue("@id_clana", Convert.ToInt32(id_clana.Text));
command.Parameters.AddWithValue("@mjesec", odaberi_mjesec.Text);
command.Parameters.AddWithValue("@godina", godina_uplate_clanarine.Text);
if (placeno.Checked)
{
command.Parameters.AddWithValue("@dug", placeno.Text);
}
else
{
command.Parameters.AddWithValue("@dug", duzan.Text);
}
if (mjesecna_clanarina.Checked)
{
command.Parameters.AddWithValue("@vrsta", "Mjesečna");
command.Parameters.AddWithValue("@iznos", iznos_clanarine.Text);
}
else
{
command.Parameters.AddWithValue("@vrsta", "Godišnja");
command.Parameters.AddWithValue("@iznos", iznos_clanarine.Text);
}
command.ExecuteNonQuery();
}
MessageBox.Show("Uspješno plaćena članarina!");
DialogResult dialogResult = MessageBox.Show("Želite li naplatiti još jednu članarinu?", "", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
this.Focus();
}
else
{
this.Close();
}
odaberi_mjesec.Text = string.Empty;
iznos_clanarine.Text = string.Empty;
godina_uplate_clanarine.Text = string.Empty;
mjesecna_clanarina.Checked = false;
godisnja_clanarina.Checked = false;
placeno.Checked = false;
duzan.Checked = false;
baza_podataka_clanovi_clanarine.Refresh();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
解决方案
推荐阅读
- stream - jq --stream 在后台运行吗?
- javascript - Angular HttpInterceptor - 如何在发送到服务器端之前引用令牌(字符串 var)?
- node.js - 如何在 sinon 中存根回调结果?
- sql - 编写引用嵌套 VARRAY 的 SQL 语句
- wordpress - .htaccess 删除链接中的双 https:// http://
- nginx - Nginx GET攻击
- delphi - 如何将保存的树(在文件中)添加到另一棵树作为子树?
- vue.js - 在 vue 中添加键盘事件监听器
- android-studio - 使用 foo->detect 是错误的,但使用 (*foo).detect 是可以的
- ethereum - 获得一份可靠的 ERC20 代币持有者名单