public DataBaseControl(Person person) { InitializeComponent(); lbl_name.Text = person.User.Name; lbl_phone.Text = person.User.PhoneNo; lbl_address.Text = person.User.Address; int count = person.Images.Count; cameraImages = new List<Image>(); imagePaths = new List<string>(); p = person; for (int i = 0; i < count;i++ ) { imagePaths.Add(person.Images[i].ImagePath); } GeniratePicBox(imagePaths); }
public SpendDetail(DMode d, Button btn) { mode = d; InitializeComponent(); SQLite = new SQLite(); #region 변수 초기화 budgetPray = new Pray(); budgetMissionWork = new MissionWork(); budgetEdu = new Education(); budgetPerson = new Person(); budgetService = new Service(); budgetManage = new Manage(); budgetLoan = new Loan(); curPray = new Pray(); curMissionWork = new MissionWork(); curEdu = new Education(); curPerson = new Person(); curService = new Service(); curManage = new Manage(); curLoan = new Loan(); #endregion printBtn = btn; // 표 설정 setView(); Paint += SpendDetail_Paint; }
//==================================================================================================================== /// <summary> /// Deletes the person. /// </summary> /// <param name="ID">The ID.</param> public void DeletePerson(int ID) { Person p; int id = -1; foreach (Person per in Persons) { id++; if (per.User.UserID == ID) { break; } } p = new Person(Persons[id].User, Persons[id].Images); Persons.Remove(p); try { con.Open(); string deleteImage = @"DELETE FROM Users WHERE UserID = @ID"; SqlCeCommand cmd = new SqlCeCommand(deleteImage, con); cmd.Parameters.Add(new SqlCeParameter("@ID", p.User.UserID)); cmd.ExecuteNonQuery(); foreach (Images i in p.Images) { DeleteImage(p, i.ImageID, false); } } catch (Exception ex) { MessageBox.Show(ex.Message); //throw new Exception(ex.Message, ex); } finally { con.Close(); } }
//==================================================================================================================== /// <summary> /// deletes one image /// </summary> /// <param name="p">the specified person you will delete his image</param> /// <param name="ImageID">the image ID you want to delete</param> /// <param name="flag">True if u remove an image</param> public void DeleteImage(Person p, int ImageID, bool flag) { int index = 0; Images imag = new Images(-1, "", -1); try { if (flag) con.Open(); string deleteImage = @"DELETE FROM Images WHERE ImageID = @ID"; SqlCeCommand cmd = new SqlCeCommand(deleteImage, con); cmd.Parameters.Add(new SqlCeParameter("@ID", ImageID)); cmd.ExecuteNonQuery(); if (flag) { index = persons.IndexOf(p); foreach (Images image in persons[index].Images) { if (image.ImageID == ImageID) { imag = image; persons[index].Images.Remove(image); break; } } } if (!flag) { index = 0; foreach (Images image in p.Images) { if (image.ImageID == ImageID) { break; } index++; } } } catch (Exception ex) { MessageBox.Show(ex.Message); // throw new Exception(ex.Message, ex); } finally { if (flag) { con.Close(); //File.Delete(imag.ImagePath); } else { //File.Delete(p.Images[index].ImagePath); } } }
//==================================================================================================================== /// <summary> /// Updates the user info. /// </summary> /// <param name="oldPID">The old PID.</param> /// <param name="newPerson">The new person.</param> public void UpdateUserInfo(int oldPID, Users newPerson) { Person oldP; int id = -1; foreach (Person per in Persons) { id++; if (per.User.UserID == oldPID) { break; } } oldP = new Person(Persons[id].User, Persons[id].Images); persons[id].User = newPerson; try { con.Open(); string Update = @"update Users Set UserName = @name, UserPhone = @phone, UserAddress = @address WHERE UserID = @ID"; SqlCeCommand cmd = new SqlCeCommand(Update, con); cmd.Parameters.Add(new SqlCeParameter("@ID", oldPID)); cmd.Parameters.Add(new SqlCeParameter("@name", newPerson.Name)); cmd.Parameters.Add(new SqlCeParameter("@phone", newPerson.PhoneNo)); cmd.Parameters.Add(new SqlCeParameter("@address", newPerson.Address)); cmd.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show(ex.Message); // throw new Exception(ex.Message, ex); } finally { con.Close(); } }
//==================================================================================================================== /// <summary> /// Inserts the specified person. /// </summary> /// <param name="person">The person.</param> public void Insert(Person person) { try { con.Open(); string insertUser = @"Insert Into Users(UserName, UserPhone, UserAddress) Values(@name, @phone, @address)"; SqlCeCommand cmd = new SqlCeCommand(insertUser, con); cmd.Parameters.Add(new SqlCeParameter("@name", person.User.Name)); cmd.Parameters.Add(new SqlCeParameter("@phone", person.User.PhoneNo)); cmd.Parameters.Add(new SqlCeParameter("@address", person.User.Address)); cmd.ExecuteNonQuery(); int id = -1; cmd = new SqlCeCommand("select UserID From Users where UserID = @@IDENTITY", con); SqlCeDataReader rdr = cmd.ExecuteReader(); rdr.Read(); if (rdr[0] != DBNull.Value) { id = (int)rdr[0]; person.User.UserID = id; Persons.Add(person); int count = person.Images.Count; for (int i = 0; i < count; i++) { person.Images[i].UserID = id; InsertImage(id, person.Images[i].ImagePath, false); person.Images.Remove(person.Images.Last()); } } } catch (Exception ex) { MessageBox.Show(ex.Message); //throw new Exception("Cannot Connect to the database", ex); } finally { con.Close(); } }