public static int Update(Smena smena, MyDatabase pDb = null) { MyDatabase db; if (pDb == null) { db = new MyDatabase(); db.Connect(); } else { db = (MyDatabase)pDb; } SqlCommand command = db.CreateCommand(SQL_UPDATE); PrepareCommand(command, smena); int ret = db.ExecuteNonQuery(command); if (pDb == null) { db.Close(); } return(ret); }
private bool UpdateDoctorShift(IzabraniLekar lekar) { bool success = true; Smena s = (Smena)metroGridSmenaLekara.SelectedRows[0].DataBoundItem; Smena found = null; foreach (Smena ss in lekar.Smene) { if (ss.Equals(s)) { found = ss; break; } } found.Datum_Do = metroDateTimeDatumDo.Value.Date; found.Id.Datum_Od = metroDateTimeDatumOd.Value.Date; found.SmenaLekara = metroRadioButtonSmenaPrepodne.Checked ? 1 : 2; //s.Datum_Do = metroDateTimeDatumDo.Value.Date; //s.Id.Datum_Od = metroDateTimeDatumOd.Value.Date; //s.SmenaLekara = metroRadioButtonSmenaPrepodne.Checked ? 1 : 2; try { session_local.Update(lekar); session_local.Flush(); session_local.Refresh(lekar_local); // Lokalna kopija se osvezava (za svaki slucaj) jer nesto nece da radi kako treba } catch (Exception ex) { MetroMessageBox.Show(this, "Error u funkciji za ažuriranje smene " + ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); success = false; } return(success); }
private bool AddDoctorShift(IzabraniLekar lekar) { bool success = true; Smena s = new Smena() { SmenaLekara = metroRadioButtonSmenaPrepodne.Checked ? 1 : 2, Datum_Do = metroDateTimeDatumDo.Value.Date, Id = new SmenaId() { Datum_Od = metroDateTimeDatumOd.Value.Date, Lekar = lekar } }; // Proveri da li je smena regularna (nema preklapanja) if (!IsShiftRegular(s)) { MetroMessageBox.Show(this, "Smena koju želite da unesete se preklapa po datumima sa već unetim smenama", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } lekar.Smene.Add(s); try { session_local.Save(lekar); session_local.Flush(); } catch (Exception ex) { MetroMessageBox.Show(this, "Greška u funkciji za dodavanje smene " + ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); success = false; } return(success); }
private void AfterConstruct(MainF xF) { xNSI = xF.xNSI; xSm = xF.xSm; nCurReg = (int)xF.xDLLPars; // центровка формы Rectangle screen = Screen.PrimaryScreen.Bounds; this.Location = new Point((screen.Width - this.Width) / 2, (screen.Height - this.Height) / 2); SetBindSmenaPars(); SetAvtFields(); if (xMF.evReadNSI != null) {// загрузку НСИ выполнять параллельно авторизации xTh = new Thread(new ThreadStart(ReadLocNSI)); xTh.Priority = ThreadPriority.Lowest; xTh.Start(); } if (nCurReg != AppC.AVT_PARS) {// парметры изменяются только с клавиатуры ehScan = new BarcodeScanner.BarcodeScanEventHandler(OnScanBage); xMF.xBCScanner.BarcodeScan += ehScan; } else { xOldSm.nSklad = xSm.nSklad; xOldSm.nUch = xSm.nUch; xOldSm.sDatDoc = xSm.DocData; xOldSm.nReg = xSm.RegApp; } BeginEditAvt(nCurReg); }
private Smena GetDoctorShift(IzabraniLekar lekar) { Smena smena = null; foreach (Smena s in lekar.Smene) { if (s.Id.Datum_Od <= metroDateTime1.Value.Date && s.Datum_Do >= metroDateTime1.Value.Date) { smena = s; break; } } return(smena); }
private static Collection <Smena> Read(SqlDataReader reader) { Collection <Smena> smeny = new Collection <Smena>(); while (reader.Read()) { int i = -1; Smena smena = new Smena(); smena.ID_smeny = reader.GetInt32(++i); smena.Popis = reader.GetString(++i); smeny.Add(smena); } return(smeny); }
private void FromGridToControl() { Smena s = (Smena)metroGridSmenaLekara.SelectedRows[0].DataBoundItem; metroDateTimeDatumOd.Value = s.Id.Datum_Od; metroDateTimeDatumDo.Value = s.Datum_Do; if (s.SmenaLekara == 1) { metroRadioButtonSmenaPrepodne.Checked = true; } else { metroRadioButtonSmenaPoslepodne.Checked = true; } }
// //private string jmbg_lekara, active_patient_jmbg; //private int smena_lekara; //private string sql_search; public FormLekar(string jmbg_lekara) { InitializeComponent(); session = DataLayer.GetSession(); oracle_session = DataLayerOracle.GetSession(); lekar_local = session.Load <IzabraniLekar>(jmbg_lekara); //this.jmbg_lekara = lekar_local.Jmbg; this.Text = lekar_local.Ime + " " + lekar_local.Prezime; //this.Text = GetDoctorNameAndSurname(jmbg_lekara); metroDateTime1.MinDate = System.DateTime.Today; metroDateTime1.Value = System.DateTime.Now; // causes event that calls RefreshControls to initialize the controls metroTabGlobal.SelectedIndex = 0; // Show 'Raspored pregleda' first metroComboBoxIzborPretrage.SelectedIndex = 1; // LBO default way of search metroLabelInfoOTerminu.Text = "Prelaz preko dugmeta za info o terminu"; metroLabelInfoPacijenta.Text = string.Empty; //metroLabelInfoPacijenta.Text = "Pacijent: "; smena_lekara_local = GetDoctorShift(lekar_local); metroLabelSmenaLekara.Text = smena_lekara_local == null ? "Smena nije postavljena za izabrani datum" : GetShiftName(smena_lekara_local.SmenaLekara); //metroButtonPretraziPacijente_Click += metroComboBoxIzborPretrage_SelectedIndexChanged; foreach (Control c in pnlPopodne.Controls) { MetroButton mb = c as MetroButton; if (mb != null) { mb.Click += metroButton_Click; mb.MouseHover += metroButton_MouseHover; mb.MouseLeave += metroButton_MouseLeave; //mb.UseStyleColors = true; } } foreach (Control c in pnlPrepodne.Controls) { MetroButton mb = c as MetroButton; if (mb != null) { mb.Click += metroButton_Click; mb.MouseHover += metroButton_MouseHover; mb.MouseLeave += metroButton_MouseLeave; //mb.UseStyleColors = true; } } }
private void button7_Click(object sender, EventArgs e) { ISession s = DataLayer.GetSession(); IzabraniLekar il = s.Get <IzabraniLekar>("0112955445023"); Smena smena = new Smena() { Datum_Do = new DateTime(2018, 12, 30), SmenaLekara = 2 }; smena.Id.Datum_Od = new DateTime(2018, 1, 1); smena.Id.Lekar = il; il.Smene.Add(smena); s.Save(il); s.Flush(); s.Close(); }
public static void SaveXML() { XmlDocument xmlDoc = new XmlDocument(); try { xmlDoc.Load(path); foreach (XmlNode add in xmlDoc.GetElementsByTagName("add")) { if (add.Attributes["key"].Value == "DEVICE_ID") { add.Attributes["value"].Value = DeviceId; } if (add.Attributes["key"].Value == "IP") { add.Attributes["value"].Value = ServerIP; } if (add.Attributes["key"].Value == "PORT") { add.Attributes["value"].Value = ServerPort; } if (add.Attributes["key"].Value == "SMENA") { add.Attributes["value"].Value = Smena.ToString(); } if (add.Attributes["key"].Value == "LOCATION") { add.Attributes["value"].Value = Location.ToString(); } if (add.Attributes["key"].Value == "CONTROL_TYPE") { add.Attributes["value"].Value = ControlType.ToString(); } if (add.Attributes["key"].Value == "CONTROL_TABNO") { add.Attributes["value"].Value = ControlTabNo.ToString(); } } xmlDoc.Save(path); } catch (Exception exp) { MessageBox.Show("Отсутствует файл настроек или неверные настройки!\n\n" + exp, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1); } }
private void Window_Closed(object sender, EventArgs e) { try { using (ApplicationDBContext context = new ApplicationDBContext()) { Smena smena = new Smena() { Started = Convert.ToDateTime(labSmenaStart.Text), Finished = DateTime.Now, WorkerId = Properties.Settings.Default.WorkerId }; context.Smenas.Add(smena); context.SaveChanges(); } } catch (Exception ex) { MessageBox.Show("Error8"); } }
public static Smena Select(int id, MyDatabase pDb = null) { MyDatabase db; if (pDb == null) { db = new MyDatabase(); db.Connect(); } else { db = (MyDatabase)pDb; } SqlCommand command = db.CreateCommand(SQL_SELECT_ID); command.Parameters.AddWithValue("@ID_smeny", id); SqlDataReader reader = db.Select(command); Collection <Smena> smeny = Read(reader); Smena smena = null; if (smeny.Count == 1) { smena = smeny[0]; } reader.Close(); if (pDb == null) { db.Close(); } if (smena == null) { Console.WriteLine("Smena neexistuje"); } return(smena); }
private bool DeleteDoctorShift(IzabraniLekar lekar) { bool success = true; Smena s = (Smena)metroGridSmenaLekara.SelectedRows[0].DataBoundItem; lekar.Smene.Remove(s); metroGridSmenaLekara.Rows.RemoveAt(metroGridSmenaLekara.SelectedRows[0].Index); try { session_local.Delete(s); session_local.Save(lekar); session_local.Flush(); } catch (Exception ex) { MetroMessageBox.Show(this, "Error u funkciji za brisanje smene " + ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); success = false; } return(success); }
private bool IsShiftRegular(Smena nova_smena) { bool success = true; IQuery query = session_local.CreateQuery("from Smena s where s.Id.Lekar = :lekar"); query.SetParameter("lekar", nova_smena.Id.Lekar); IList <Smena> lista_smena = query.List <Smena>(); foreach (Smena s in lista_smena) { if (s.Id.Datum_Od == nova_smena.Id.Datum_Od) { return(false); } if (s.Id.Datum_Od < nova_smena.Id.Datum_Od) { if (s.Datum_Do < nova_smena.Id.Datum_Od) { continue; } else { return(false); } } else // s.Id.Datum_od > nova_smena.Id.Datum_od { if (s.Id.Datum_Od > nova_smena.Datum_Do) { continue; } else { return(false); } } } return(success); }
private static void PrepareCommand(SqlCommand command, Smena smena) { command.Parameters.AddWithValue("@ID_smeny", smena.ID_smeny); command.Parameters.AddWithValue("@Popis", smena.Popis); }
public void popuniKalendar() { try { oznaciDanas(); lbPonSmena.Text = null; lbUtoSmena.Text = null; lbSreSmena.Text = null; lbCetSmena.Text = null; lbPetSmena.Text = null; lbSubSmena.Text = null; Smena s = new Smena(); var forma = Application.OpenForms["formaRadnika"] as formaRadnika; if (forma != null) { s.ID = int.Parse(forma.lbID.Text); } Radnik r = new Radnik(); r.ID = s.ID; DataTable dt = r.selectRadnik(); lbRadnik.Text = dt.Rows[0][3].ToString(); if (dt.Rows[0][11] != null) { r.Slika = (byte[])(dt.Rows[0][11]); MemoryStream mstream = new MemoryStream(r.Slika); pictureBox.Image = System.Drawing.Image.FromStream(mstream); } DataTable smene = s.selectSmenuPoIDU(); for (int i = 0; i < smene.Rows.Count; i++) { if (lbPon.Text.Equals(smene.Rows[i][0].ToString())) { lbPonSmena.Text = smene.Rows[i][1].ToString() + " smena"; } if (lbUto.Text.Equals(smene.Rows[i][0].ToString())) { lbUtoSmena.Text = smene.Rows[i][1].ToString() + " smena"; } if (lbSre.Text.Equals(smene.Rows[i][0].ToString())) { lbSreSmena.Text = smene.Rows[i][1].ToString() + " smena"; } if (lbCet.Text.Equals(smene.Rows[i][0].ToString())) { lbCetSmena.Text = smene.Rows[i][1].ToString() + " smena"; } if (lbPet.Text.Equals(smene.Rows[i][0].ToString())) { lbPetSmena.Text = smene.Rows[i][1].ToString() + " smena"; } if (lbSub.Text.Equals(smene.Rows[i][0].ToString())) { lbSubSmena.Text = smene.Rows[i][1].ToString() + " smena"; } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void registerDoctorOrSister_Click(object sender, EventArgs e) { Doctors doctor = this.createDoctors(); string maxId = getMaxId(); try { int mId = Int32.Parse(maxId); doctor.id = (++mId).ToString(); } catch (Exception exception) { doctor.id = ""; } Dictionary <string, object> queryDict = new Dictionary <string, object>(); queryDict.Add("id", doctor.id); queryDict.Add("Ime", doctor.Ime); queryDict.Add("Prezime", doctor.Prezime); queryDict.Add("ID_Kartice", doctor.ID_Kartice); queryDict.Add("Smena", doctor.Smena); queryDict.Add("DoktorOrSestra", doctor.DoktorOrSestra); queryDict.Add("Odeljenje", doctor.Odeljenje); queryDict.Add("Sifra", doctor.Sifra); var query = new Neo4jClient.Cypher.CypherQuery("CREATE (n:Doctors {id:'" + doctor.id + "',Ime:'" + doctor.Ime + "', Prezime:'" + doctor.Prezime + "', ID_Kartice:'" + doctor.ID_Kartice + "', Smena:'" + doctor.Smena + "', DoktorOrSestra:'" + doctor.DoktorOrSestra + "', Odeljenje:'" + doctor.Odeljenje + "', Sifra:'" + doctor.Sifra + "'}) return n", queryDict, CypherResultMode.Set); List <Doctors> doctors = ((IRawGraphClient)client).ExecuteGetCypherResults <Doctors>(query).ToList(); #region Validation string odeljenje_string = departmentDoctors.Text; Dictionary <string, object> queryCheck = new Dictionary <string, object>(); queryCheck.Add("odeljenje", odeljenje_string); var queryCheckV = new Neo4jClient.Cypher.CypherQuery("start n=node(*) where exists(n.broj) and n.broj =~ {odeljenje} return n", queryCheck, CypherResultMode.Set); List <Odeljenje> odeljenja = ((IRawGraphClient)client).ExecuteGetCypherResults <Odeljenje>(queryCheckV).ToList(); #endregion //Ako ne postoji odeljenje if (odeljenja.Count == 0) { Odeljenje odeljenje = new Odeljenje(); odeljenje.broj = doctor.Odeljenje; string maxId2 = getMaxId(); try { int mId = Int32.Parse(maxId2); odeljenje.id = (++mId).ToString(); } catch (Exception exception) { odeljenje.id = ""; } Dictionary <string, object> queryDict2 = new Dictionary <string, object>(); queryDict2.Add("id", odeljenje.id); queryDict2.Add("broj", odeljenje.broj); var query2 = new Neo4jClient.Cypher.CypherQuery("CREATE (n:Odeljenje {id:'" + odeljenje.id + "',broj:'" + odeljenje.broj + "'}) return n", queryDict2, CypherResultMode.Set); ((IRawGraphClient)client).ExecuteGetCypherResults <Odeljenje>(query2).ToList(); } #region Validation Smena string smena_string = doctor.Smena; Dictionary <string, object> queryCheckS = new Dictionary <string, object>(); queryCheckS.Add("smena", smena_string); var queryCheckSmene = new Neo4jClient.Cypher.CypherQuery("start n=node(*) where exists(n.broj_smene) and n.broj_smene =~ {smena} return n", queryCheckS, CypherResultMode.Set); List <Smena> smena = ((IRawGraphClient)client).ExecuteGetCypherResults <Smena>(queryCheckSmene).ToList(); #endregion //Ako ne postoji smena if (smena.Count == 0) { Smena s = new Smena(); s.broj_smene = doctor.Smena; string maxId2 = getMaxId(); try { int mId = Int32.Parse(maxId2); s.id = (++mId).ToString(); } catch (Exception exception) { s.id = ""; } Dictionary <string, object> queryDict2 = new Dictionary <string, object>(); queryDict2.Add("id", s.id); queryDict2.Add("broj_smene", s.broj_smene); var query2 = new Neo4jClient.Cypher.CypherQuery("CREATE (n:Smene {id:'" + s.id + "',broj_smene:'" + s.broj_smene + "'}) return n", queryDict2, CypherResultMode.Set); ((IRawGraphClient)client).ExecuteGetCypherResults <Smena>(query2).ToList(); } client.Cypher .Match("(d:Doctors)", "(o:Odeljenje)") .Where((Doctors d) => d.id == doctor.id) .AndWhere((Odeljenje o) => o.broj == doctor.Odeljenje) .Create("(d)<-[r:Radi_U]-(o)") .ExecuteWithoutResults(); client.Cypher .Match("(d:Doctors)", "(o:Odeljenje)") .Where((Doctors d) => d.id == doctor.id) .AndWhere((Odeljenje o) => o.broj == doctor.Odeljenje) .Create("(d)-[r:Pripada]->(o)") .ExecuteWithoutResults(); client.Cypher .Match("(d:Doctors)", "(s:Smene)") .Where((Doctors d) => d.id == doctor.id) .AndWhere((Smena s) => s.broj_smene == doctor.Smena) .Create("(d)<-[r:Radi_U_Smeni]-(s)") .ExecuteWithoutResults(); this.Close(); }
public void popuniKalendar() { try { oznaciDanas(); lbPonPrva.Text = null; lbPonDruga.Text = null; lbUtoPrva.Text = null; lbUtoDruga.Text = null; lbSrePrva.Text = null; lbSreDruga.Text = null; lbCetPrva.Text = null; lbCetDruga.Text = null; lbPetPrva.Text = null; lbPetDruga.Text = null; lbSubPrva.Text = null; lbSubDruga.Text = null; DataTable radnici = Direktor.selectRadnike(); DataTable smene = Smena.selectSmene(); for (int i = 0; i < smene.Rows.Count; i++) { if (lbPon.Text.Equals(smene.Rows[i][0].ToString())) { for (int j = 0; j < radnici.Rows.Count; j++) { if (smene.Rows[i][2].ToString().Equals(radnici.Rows[j][10].ToString()) && smene.Rows[i][1].ToString().Equals("prva")) { lbPonPrva.Text = radnici.Rows[j][3].ToString(); } else if (smene.Rows[i][2].ToString().Equals(radnici.Rows[j][10].ToString()) && smene.Rows[i][1].ToString().Equals("druga")) { lbPonDruga.Text = radnici.Rows[j][3].ToString(); } } } if (lbUto.Text.Equals(smene.Rows[i][0].ToString())) { for (int j = 0; j < radnici.Rows.Count; j++) { if (smene.Rows[i][2].ToString().Equals(radnici.Rows[j][10].ToString()) && smene.Rows[i][1].ToString().Equals("prva")) { lbUtoPrva.Text = radnici.Rows[j][3].ToString(); } else if (smene.Rows[i][2].ToString().Equals(radnici.Rows[j][10].ToString()) && smene.Rows[i][1].ToString().Equals("druga")) { lbUtoDruga.Text = radnici.Rows[j][3].ToString(); } } } if (lbSre.Text.Equals(smene.Rows[i][0].ToString())) { for (int j = 0; j < radnici.Rows.Count; j++) { if (smene.Rows[i][2].ToString().Equals(radnici.Rows[j][10].ToString()) && smene.Rows[i][1].ToString().Equals("prva")) { lbSrePrva.Text = radnici.Rows[j][3].ToString(); } else if (smene.Rows[i][2].ToString().Equals(radnici.Rows[j][10].ToString()) && smene.Rows[i][1].ToString().Equals("druga")) { lbSreDruga.Text = radnici.Rows[j][3].ToString(); } } } if (lbCet.Text.Equals(smene.Rows[i][0].ToString())) { for (int j = 0; j < radnici.Rows.Count; j++) { if (smene.Rows[i][2].ToString().Equals(radnici.Rows[j][10].ToString()) && smene.Rows[i][1].ToString().Equals("prva")) { lbCetPrva.Text = radnici.Rows[j][3].ToString(); } else if (smene.Rows[i][2].ToString().Equals(radnici.Rows[j][10].ToString()) && smene.Rows[i][1].ToString().Equals("druga")) { lbCetDruga.Text = radnici.Rows[j][3].ToString(); } } } if (lbPet.Text.Equals(smene.Rows[i][0].ToString())) { for (int j = 0; j < radnici.Rows.Count; j++) { if (smene.Rows[i][2].ToString().Equals(radnici.Rows[j][10].ToString()) && smene.Rows[i][1].ToString().Equals("prva")) { lbPetPrva.Text = radnici.Rows[j][3].ToString(); } else if (smene.Rows[i][2].ToString().Equals(radnici.Rows[j][10].ToString()) && smene.Rows[i][1].ToString().Equals("druga")) { lbPetDruga.Text = radnici.Rows[j][3].ToString(); } } } if (lbSub.Text.Equals(smene.Rows[i][0].ToString())) { for (int j = 0; j < radnici.Rows.Count; j++) { if (smene.Rows[i][2].ToString().Equals(radnici.Rows[j][10].ToString()) && smene.Rows[i][1].ToString().Equals("prva")) { lbSubPrva.Text = radnici.Rows[j][3].ToString(); } else if (smene.Rows[i][2].ToString().Equals(radnici.Rows[j][10].ToString()) && smene.Rows[i][1].ToString().Equals("druga")) { lbSubDruga.Text = radnici.Rows[j][3].ToString(); } } } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void btnAzurirajD_MouseClick(object sender, MouseEventArgs e) { try { if (imeRadnikaD.Text.ToString().Equals("") && dbSmena.Text.ToString().Equals("Izaberite smenu")) { customMessageBox.Show("Izaberite radnika i smenu!"); } else if (imeRadnikaD.Text.ToString().Equals("")) { customMessageBox.Show("Izaberite radnika!"); } else if (dbSmena.Text.ToString().Equals("Izaberite smenu")) { customMessageBox.Show("Izaberite smenu!"); } else if (dtpOdD.Value > dtpDoD.Value) { customMessageBox.Show("Krajnji datum ne sme biti pre početnog!"); } else { bool validacija = false; Smena s = new Smena(); DataTable dt = new DataTable(); dt = Direktor.selectRadnike(); for (int i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[i][3].ToString().Equals(imeRadnikaD.Text)) { s.ID = int.Parse(dt.Rows[i][10].ToString()); } } int razlika = dtpDoD.Value.Day - dtpOdD.Value.Day; if (razlika < 0) { razlika += 31; } for (int i = 0; i <= razlika; i++) { s.Datum = dtpOdD.Value.AddDays(i).ToShortDateString(); s.izborSmene = dbSmena.Text; DataTable provera = s.selectSmenu(); if (provera.Rows.Count == 0) { validacija = true; } } if (!validacija) { for (int i = 0; i <= razlika; i++) { s.Datum = dtpOdD.Value.AddDays(i).ToShortDateString(); s.izborSmene = dbSmena.Text; s.azurirajSmenu(); } } else { customMessageBox.Show("Ne možete ažurirati smenu koja je prazna."); } popuniKalendar(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void btnDodajD_MouseClick(object sender, MouseEventArgs e) { try { if (imeRadnikaD.Text.ToString().Equals("") && dbSmena.Text.ToString().Equals("Izaberite smenu")) { customMessageBox.Show("Izaberite radnika i smenu!"); } else if (imeRadnikaD.Text.ToString().Equals("")) { customMessageBox.Show("Izaberite radnika!"); } else if (dbSmena.Text.ToString().Equals("Izaberite smenu")) { customMessageBox.Show("Izaberite smenu!"); } else if (dtpOdD.Value > dtpDoD.Value) { customMessageBox.Show("Krajnji datum ne sme biti pre početnog!"); } else { Smena s = new Smena(); DataTable dt = new DataTable(); dt = Direktor.selectRadnike(); for (int i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[i][3].ToString().Equals(imeRadnikaD.Text)) { s.ID = int.Parse(dt.Rows[i][10].ToString()); } } int razlika = dtpDoD.Value.Day - dtpOdD.Value.Day; if (razlika < 0) { razlika += 31; } bool provera = false; List <string> zauzetiDani = new List <string> { }; for (int i = 0; i <= razlika; i++) { s.Datum = dtpOdD.Value.AddDays(i).ToShortDateString(); s.izborSmene = dbSmena.Text; DataTable smena = s.selectSmenu(); if (smena.Rows.Count > 0) { provera = true; zauzetiDani.Add(dtpOdD.Value.AddDays(i).ToShortDateString()); } } if (!provera) { for (int i = 0; i <= razlika; i++) { s.Datum = dtpOdD.Value.AddDays(i).ToShortDateString(); s.izborSmene = dbSmena.Text; s.dodajSmenu(); } popuniKalendar(); } else { if (zauzetiDani.Count == 1) { customMessageBox.Show(s.izborSmene.First().ToString().ToUpper() + String.Join("", s.izborSmene.Skip(1)) + " smena " + zauzetiDani[0] + " je već zauzeta."); } else { customMessageBox.Show(s.izborSmene.First().ToString().ToUpper() + String.Join("", s.izborSmene.Skip(1)) + " smena od " + zauzetiDani[0] + "-" + zauzetiDani[zauzetiDani.Count - 1] + " je zauzeta."); } } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void metroDateTime1_ValueChanged(object sender, EventArgs e) { smena_lekara_local = GetDoctorShift(lekar_local); RefreshControls(lekar_local); }
private void RefreshControls(IzabraniLekar lekar) { Smena s = GetDoctorShift(lekar); if (s == null) { MetroMessageBox.Show(this, "Lekaru izabranog pacijenta nije podešena smena za traženi datum, i nije moguće zakazati termin", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); UpdateForm(3); // lekaru nije podesena smena return; } UpdateForm(GetDoctorShift(lekar).SmenaLekara); IQuery query = session_local.CreateQuery("from Termin t where t.Lekar.Jmbg = :lekar and t.Datum = :datum"); query.SetParameter("lekar", lekar_local.Jmbg); query.SetParameter("datum", metroDateTime1.Value.Date); IList <Termin> termini_lekara = query.List <Termin>(); // lista svih danasnjih termina zadatog lekara #region Reset all buttons foreach (Control c in pnlPrepodne.Controls) { MetroButton mb = c as MetroButton; //int time = Int32.Parse(System.DateTime.Now.ToShortTimeString().Replace(".", String.Empty)); DateTime datetime = System.DateTime.Now; int time = Int32.Parse(datetime.Hour.ToString() + datetime.Minute.ToString()); if (mb != null) { mb.Enabled = true; if (metroDateTime1.Value.Date == System.DateTime.Now.Date && s.SmenaLekara == 1 && Int32.Parse(mb.Text.Replace(":", String.Empty)) <= (time + 100)) // sledeci sat { mb.Enabled = false; } } } foreach (Control c in pnlPopodne.Controls) { MetroButton mb = c as MetroButton; //int time = Int32.Parse(System.DateTime.Now.ToShortTimeString().Replace(".", String.Empty)); DateTime datetime = System.DateTime.Now; int time = Int32.Parse(datetime.Hour.ToString() + datetime.Minute.ToString()); if (mb != null) { mb.Enabled = true; if (metroDateTime1.Value.Date == System.DateTime.Now.Date && s.SmenaLekara == 2 && Int32.Parse(mb.Text.Replace(":", String.Empty)) <= (time + 100)) { mb.Enabled = false; } } } #endregion foreach (Termin t in termini_lekara) { int time = t.Vreme; //MetroMessageBox.Show(this, "Enter while loop in rdr.Read() " + time.ToString(), "rdr.Read()", MessageBoxButtons.OK, MessageBoxIcon.Error); if (time <= 1330) { MetroButton mb = this.pnlPrepodne.Controls["metroButton" + time.ToString()] as MetroButton; if (mb != null) { mb.Enabled = false; // moze biti kliknutu jer je zakazan termin (postoji pacijent) } } else { MetroButton mb = this.pnlPopodne.Controls["metroButton" + time.ToString()] as MetroButton; if (mb != null) { mb.Enabled = false; // moze biti kliknutu jer je zakazan termin (postoji pacijent) } } } }
private void shiftDoctor_Click(object sender, EventArgs e) { if (Int32.Parse(changeShift.Text) > 3) { MessageBox.Show("Smene mogu biti od 1 do 3"); } else { #region Validation Smena string smena_string = changeShift.Text; Dictionary <string, object> queryCheckS = new Dictionary <string, object>(); queryCheckS.Add("smena", smena_string); var queryCheckSmene = new Neo4jClient.Cypher.CypherQuery("start n=node(*) where exists(n.broj_smene) and n.broj_smene =~ {smena} return n", queryCheckS, CypherResultMode.Set); List <Smena> smena = ((IRawGraphClient)client).ExecuteGetCypherResults <Smena>(queryCheckSmene).ToList(); #endregion //Ako ne postoji smena if (smena.Count == 0) { Smena s = new Smena(); s.broj_smene = changeShift.Text; string maxId2 = getMaxId(); try { int mId = Int32.Parse(maxId2); s.id = (++mId).ToString(); } catch (Exception exception) { s.id = ""; } Dictionary <string, object> queryDict2 = new Dictionary <string, object>(); queryDict2.Add("id", s.id); queryDict2.Add("broj_smene", s.broj_smene); var query2 = new Neo4jClient.Cypher.CypherQuery("CREATE (n:Smene {id:'" + s.id + "',broj_smene:'" + s.broj_smene + "'}) return n", queryDict2, CypherResultMode.Set); ((IRawGraphClient)client).ExecuteGetCypherResults <Smena>(query2).ToList(); } var queryDelete = new Neo4jClient.Cypher.CypherQuery("MATCH(n { id: '" + doctors.id + "' })<-[r: Radi_U_Smeni]->(m {broj_smene: '" + doctors.Smena + "' }) DELETE r return m", new Dictionary <string, object>(), CypherResultMode.Set); ((IRawGraphClient)client).ExecuteGetCypherResults <Smena>(queryDelete).ToList(); var queryP = new Neo4jClient.Cypher.CypherQuery("start n=node(*) where (n:Doctors) and exists(n.id) and n.id =~ '" + this.doctors.id + "' set n.Smena = '" + changeShift.Text + "' return n", new Dictionary <string, object>(), CypherResultMode.Set); List <Doctors> patients = ((IRawGraphClient)client).ExecuteGetCypherResults <Doctors>(queryP).ToList(); client.Cypher .Match("(d:Doctors)", "(s:Smene)") .Where((Doctors d) => d.id == doctors.id) .AndWhere((Smena s) => s.broj_smene == changeShift.Text) .Create("(d)<-[r:Radi_U_Smeni]-(s)") .ExecuteWithoutResults(); UpdateSmena(changeShift.Text); doctors.Smena = changeShift.Text; } }
private void RefreshControls(IzabraniLekar lekar) { smena_lekara_local = GetDoctorShift(lekar_local); if (smena_lekara_local == null) { UpdateForm(3); // Sve false } else { UpdateForm(smena_lekara_local.SmenaLekara); } //lekar_local.Termini[0].Pacijent IQuery query = session.CreateQuery("from Termin t where t.Lekar.Jmbg = :lekar and t.Datum = :datum"); query.SetParameter("lekar", lekar_local.Jmbg); query.SetParameter("datum", metroDateTime1.Value.Date); IList <Termin> termini_lekara = query.List <Termin>(); // lista svih danasnjih termina zadatog lekara #region Reset all buttons foreach (Control c in pnlPrepodne.Controls) { MetroButton mb = c as MetroButton; if (mb != null) { mb.Highlight = false; mb.Enabled = false; // ne mogu biti kliknuti (jer nije zakazan termin) //mb.BackColor = Color.LightCyan; // LightCyan = Free } } foreach (Control c in pnlPopodne.Controls) { MetroButton mb = c as MetroButton; if (mb != null) { mb.Highlight = false; mb.Enabled = false; // ne mogu biti kliknuti (jer nije zakazan termin) //mb.BackColor = Color.LightCyan; // LightCyan = Free } } #endregion foreach (Termin t in termini_lekara) { int time = t.Vreme; //MetroMessageBox.Show(this, "Enter while loop in rdr.Read() " + time.ToString(), "rdr.Read()", MessageBoxButtons.OK, MessageBoxIcon.Error); if (time <= 1330) { MetroButton mb = this.pnlPrepodne.Controls["metroButton" + time.ToString()] as MetroButton; if (mb != null) { mb.Highlight = true; mb.Enabled = true; // moze biti kliknut jer je zakazan termin (postoji pacijent) //mb.BackColor = Color.LightGoldenrodYellow; // NOT Free //this.pnlPrepodne.Controls["metroButton" + time.ToString()].Enabled = false; } } else { MetroButton mb = this.pnlPopodne.Controls["metroButton" + time.ToString()] as MetroButton; if (mb != null) { mb.Highlight = true; mb.Enabled = true; // moze biti kliknutu jer je zakazan termin (postoji pacijent) //mb.BackColor = Color.LightGoldenrodYellow; // NOT Free //this.pnlPopodne.Controls["metroButton" + time.ToString()].Enabled = false; } } } }
private void RefreshControls(IzabraniLekar lekar) { Smena s = GetDoctorShift(lekar); if (s == null) { UpdateForm(3); } else { UpdateForm(s.SmenaLekara); } IQuery query = session_local.CreateQuery("from Termin t where t.Lekar.Jmbg = :lekar and t.Datum = :datum"); query.SetParameter("lekar", lekar_local.Jmbg); query.SetParameter("datum", metroDateTime1.Value.Date); IList <Termin> termini_lekara = query.List <Termin>(); // lista svih danasnjih termina zadatog lekara #region Reset all buttons foreach (Control c in pnlPrepodne.Controls) { MetroButton mb = c as MetroButton; //int time = Int32.Parse(System.DateTime.Now.ToShortTimeString().Replace(".", String.Empty)); DateTime datetime = System.DateTime.Now; int time = Int32.Parse(datetime.Hour.ToString() + datetime.Minute.ToString()); // ShortTimeString (example 14.16) if (mb != null) { mb.Enabled = true; // svi termini dostupni if (metroDateTime1.Value.Date == System.DateTime.Now.Date && s.SmenaLekara == 1 && Int32.Parse(mb.Text.Replace(":", String.Empty)) <= (time + 100)) // sledeci sat { mb.Enabled = false; } } } foreach (Control c in pnlPopodne.Controls) { MetroButton mb = c as MetroButton; //int time = Int32.Parse(System.DateTime.Now.ToShortTimeString().Replace(".", String.Empty)); DateTime datetime = System.DateTime.Now; int time = Int32.Parse(datetime.Hour.ToString() + datetime.Minute.ToString()); if (mb != null) { mb.Enabled = true; // svi termini dostupni if (metroDateTime1.Value.Date == System.DateTime.Now.Date && s.SmenaLekara == 2 && Int32.Parse(mb.Text.Replace(":", String.Empty)) <= (time + 100)) { mb.Enabled = false; } //mb.BackColor = Color.LightCyan; // LightCyan = Free } } #endregion foreach (Termin t in termini_lekara) { int time = t.Vreme; if (time <= 1330) { MetroButton mb = this.pnlPrepodne.Controls["metroButton" + time.ToString()] as MetroButton; if (mb != null) { mb.Enabled = false; } } else { MetroButton mb = this.pnlPopodne.Controls["metroButton" + time.ToString()] as MetroButton; if (mb != null) { mb.Enabled = false; } } } }
private bool AfterConstruct(MainF xF) { bool cbAvail = true, ret = false; int i; xNSI = xF.xNSI; xSm = xF.xSm; nCurReg = (int)xF.xDLLPars; // центровка формы Rectangle screen = Screen.PrimaryScreen.Bounds; this.Location = new Point((screen.Width - this.Width) / 2, (screen.Height - this.Height) / 2); SetBindSmenaPars(); i = WhatNextMode(ref cbAvail, 1); if (i < 0) { Srv.ErrorMsg("Запуск программы запрещен!"); } else { cbReg.SelectedValue = xSm.RegApp = i; SetAvtFields(); if (xMF.evReadNSI != null) {// загрузку НСИ выполнять параллельно авторизации xTh = new Thread(new ThreadStart(ReadLocNSI)); xTh.Priority = ThreadPriority.Lowest; xTh.Start(); } if (nCurReg != AppC.AVT_PARS) {// парметры изменяются только с клавиатуры ehScan = new BarcodeScanner.BarcodeScanEventHandler(OnScanBage); xMF.xBCScanner.BarcodeScan += ehScan; } else { xOldSm.nSklad = xSm.nSklad; xOldSm.nUch = xSm.nUch; xOldSm.sDatDoc = xSm.DocData; xOldSm.nReg = xSm.RegApp; } //if ( i < 0 ) //{ // Srv.ErrorMsg("Нет разрешенных режимов!"); // this.DialogResult = DialogResult.Cancel; //} //else // BeginEditAvt(nCurReg, i); BeginEditAvt(nCurReg, cbAvail); ret = true; } return(ret); }