private void updateDataGridView() { dataGridViewJournalShow.Rows.Clear(); dataGridViewJournalShow.SelectAll(); dataGridViewJournalShow.ClearSelection(); dataGridViewJournalShow.Columns.Clear(); dataGridViewJournalShow.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; dataGridViewJournalShow.Columns.Add("Column1", "Код"); dataGridViewJournalShow.Columns.Add("Column2", "Цена"); using (var context = new LombardContext()) { var allJournals = from query in context.Journals select new { OrderId = query.Order, Summa = query.Summa }; foreach (var el in allJournals.ToList()) { dataGridViewJournalShow.Rows.Add(el.OrderId, el.Summa); } } dataGridViewJournalShow.AllowUserToAddRows = false; }
private void updateDataGridView() { dataGridViewShowCategory.Rows.Clear(); dataGridViewShowCategory.SelectAll(); dataGridViewShowCategory.ClearSelection(); dataGridViewShowCategory.Columns.Clear(); dataGridViewShowCategory.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; dataGridViewShowCategory.Columns.Add("Column1", "Название"); dataGridViewShowCategory.Columns.Add("Column2", "Описание"); using (var context = new LombardContext()) { var allCat = from query in context.Categories select new { Name = query.Name, Discription = query.Discription }; foreach (var el in allCat.ToList()) { dataGridViewShowCategory.Rows.Add(el.Name, el.Discription); } } dataGridViewShowCategory.AllowUserToAddRows = false; }
public void addUser() { using (var context = new LombardContext()) { var query = context.Users.Where(x => x.Login == textBoxLogin.Text && x.Password == textBoxPassword.Text); var user = new User() { Login = textBoxLogin.Text, Password = textBoxPassword.Text }; if (query.ToList().Count < 1) { context.Users.Add(user); context.SaveChanges(); MessageBox.Show("Пользователь успешно добавлен"); this.Close(); } else if (query.ToList().Count > 0) { MessageBox.Show("Логин или пароль уже есть в базе данных"); } textBoxLogin.Clear(); textBoxPassword.Clear(); } }
private void buttonAutorize_Click(object sender, EventArgs e) { using (var context = new LombardContext()) { var query = context.Users.Where(x => x.Login == textBoxLogin.Text && x.Password == textBoxPassword.Text); if (textBoxLogin.Text == "Admin" && textBoxPassword.Text == "Admin") { Admin.admin = true; MainForm first = new MainForm(); first.Show(); this.Hide(); } else if (query.ToList().Count > 0) { Admin.admin = false; MainForm first = new MainForm(); first.Show(); this.Hide(); } //else //{ // TBError.Text = "Вы ввели логин/пароль неправильно"; // TBError.Visible = true; //} } }
private void updateDataGridView() { using (var context = new LombardContext()) { var allCat = from query in context.Categories select new { CategoryId = query.CategoryId, Name = query.Name, Discription = query.Discription }; foreach (var el in allCat.ToList()) { comboBoxCat.Items.Add(el.Name); } } dataGridViewAddClient.Rows.Clear(); dataGridViewAddClient.SelectAll(); dataGridViewAddClient.ClearSelection(); dataGridViewAddClient.Columns.Clear(); dataGridViewAddClient.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; dataGridViewAddClient.Columns.Add("Column1", "Код"); dataGridViewAddClient.Columns.Add("Column2", "Фамилия"); dataGridViewAddClient.Columns.Add("Column3", "Имя"); dataGridViewAddClient.Columns.Add("Column4", "Отчество"); dataGridViewAddClient.Columns.Add("Column5", "Номер паспорта"); dataGridViewAddClient.Columns.Add("Column6", "Серия паспорта"); dataGridViewAddClient.Columns.Add("Column7", "Дата выдачи"); using (var context = new LombardContext()) { var allClient = from query in context.Clients select new { ClientId = query.ClientId, Surname = query.Surname, Name = query.Name, Patronimic = query.Patronimic, Number = query.Number, Seria = query.Seria, DatePas = query.DatePas }; foreach (var el in allClient.ToList()) { dataGridViewAddClient.Rows.Add(el.ClientId, el.Surname, el.Name, el.Patronimic, el.Number, el.Seria, el.DatePas.ToShortDateString()); } } dataGridViewAddClient.AllowUserToAddRows = false; }
private void buttonUpload_Click(object sender, EventArgs e) { dataGridViewShowQuery.Rows.Clear(); dataGridViewShowQuery.SelectAll(); dataGridViewShowQuery.ClearSelection(); dataGridViewShowQuery.Columns.Clear(); dataGridViewShowQuery.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; dataGridViewShowQuery.Columns.Add("Column1", "Название категории"); dataGridViewShowQuery.Columns.Add("Column2", "Фамилия клиента"); dataGridViewShowQuery.Columns.Add("Column3", "Имя клиента"); dataGridViewShowQuery.Columns.Add("Column4", "Отчество клиента"); dataGridViewShowQuery.Columns.Add("Column5", "Описание"); dataGridViewShowQuery.Columns.Add("Column6", "Дата сдачи"); dataGridViewShowQuery.Columns.Add("Column7", "Дата возврата"); dataGridViewShowQuery.Columns.Add("Column8", "Сумма"); dataGridViewShowQuery.Columns.Add("Column9", "Коммисионные"); using (var context = new LombardContext()) { var query = context.Categories.Where(x => x.Name == comboBoxCategory.SelectedItem.ToString()); int id = 0; foreach (var x in query.ToList()) { id = x.CategoryId; } var queryFirst = from order in context.Orders from category in context.Categories from client in context.Clients where order.CategoryId == id && order.ClientId == client.ClientId && order.CategoryId == category.CategoryId select new { categoryName = category.Name, Surname = client.Surname, Name = client.Name, Patronimic = client.Patronimic, DiscriptionOrder = order.DiscriptionOrder, DateGive = order.DateGive, DateTake = order.DateTake, Summa = order.Summa, Comission = order.Comission }; foreach (var el in queryFirst.ToList()) { dataGridViewShowQuery.Rows.Add(el.categoryName, el.Surname, el.Name, el.Patronimic, el.DiscriptionOrder, el.DateGive.ToShortDateString(), el.DateTake.ToShortDateString(), el.Summa, el.Comission); } } dataGridViewShowQuery.AllowUserToAddRows = false; }
public void addCategory() { using (var context = new LombardContext()) { var category = new Category() { Name = textBoxName.Text, Discription = textBoxDiscription.Text }; context.Categories.Add(category); context.SaveChanges(); textBoxName.Clear(); textBoxDiscription.Clear(); } }
private void FirstQuery_Load(object sender, EventArgs e) { using (var context = new LombardContext()) { var allCat = from query in context.Categories select new { CategoryId = query.CategoryId, Name = query.Name, Discription = query.Discription }; foreach (var el in allCat.ToList()) { comboBoxCategory.Items.Add(el.Name); } } }
private void updateDataGridView() { dataGridViewShowOrder.Rows.Clear(); dataGridViewShowOrder.SelectAll(); dataGridViewShowOrder.ClearSelection(); dataGridViewShowOrder.Columns.Clear(); dataGridViewShowOrder.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; dataGridViewShowOrder.Columns.Add("Column1", "Номер"); dataGridViewShowOrder.Columns.Add("Column2", "Категория"); dataGridViewShowOrder.Columns.Add("Column3", "Клиент"); dataGridViewShowOrder.Columns.Add("Column4", "Описание"); dataGridViewShowOrder.Columns.Add("Column5", "Дата сдачи"); dataGridViewShowOrder.Columns.Add("Column6", "Дата возврата"); dataGridViewShowOrder.Columns.Add("Column7", "Сумма"); dataGridViewShowOrder.Columns.Add("Column8", "Коммисионные"); using (var context = new LombardContext()) { var allOrder = from query in context.Orders select new { OrderId = query.OrderId, CategoryId = query.CategoryId, ClientId = query.ClientId, DiscriptionOrder = query.DiscriptionOrder, DateGive = query.DateGive, DateTake = query.DateTake, Summa = query.Summa, Comission = query.Comission }; foreach (var el in allOrder.ToList()) { dataGridViewShowOrder.Rows.Add(el.OrderId, el.CategoryId, el.ClientId, el.DiscriptionOrder, el.DateGive.ToShortDateString(), el.DateTake.ToShortDateString(), el.Summa, el.Comission); } } dataGridViewShowOrder.AllowUserToAddRows = false; }
public void addClient() { using (var context = new LombardContext()) { var client = new Client() { Surname = textBoxSurname.Text, Name = textBoxName.Text, Patronimic = textBoxPatronimic.Text, Number = int.Parse(textBoxNumber.Text.ToString()), Seria = int.Parse(textBoxSeria.Text.ToString()), DatePas = dateTimePickerDatePas.Value }; context.Clients.Add(client); context.SaveChanges(); } textBoxSurname.Clear(); textBoxName.Clear(); textBoxPatronimic.Clear(); textBoxNumber.Clear(); textBoxSeria.Clear(); }
private void buttonAddOrder_Click(object sender, EventArgs e) { using (var context = new LombardContext()) { var query = context.Categories.Where(x => x.Name == comboBoxCategory.SelectedItem.ToString()); int id = 0; foreach (var x in query.ToList()) { id = x.CategoryId; } var order = new Order() { CategoryId = id, ClientId = clientid, DiscriptionOrder = textBoxDiscriptionOrder.Text, DateGive = dateTimePickerDateGive.Value, DateTake = dateTimePickerDateTake.Value, Summa = int.Parse(textBoxSumma.Text.ToString()), Comission = int.Parse(textBoxComission.Text.ToString()) }; context.Orders.Add(order); context.SaveChanges(); var journal = new Journal() { Order = order.OrderId, Summa = int.Parse(textBoxSumma.Text.ToString()) }; context.Journals.Add(journal); context.SaveChanges(); textBoxDiscriptionOrder.Clear(); textBoxSumma.Clear(); textBoxComission.Clear(); MessageBox.Show("Запись успешно добавлена"); } }
private void buttonExportData_Click(object sender, EventArgs e) { using (var context = new LombardContext()) { var clients = context.Clients.ToList(); var wasCategory = new List <string>(); var wasOrder = new List <OrderTest>(); var wasJournal = new List <JournalTest>(); string categoryname = ""; if (clientid > 0) { clients = context.Clients.Where(x => x.ClientId == clientid).ToList(); } int key = 0; XDocument doc = new XDocument(new XElement("CLIENT")); for (int i = 0; i < clients.Count(); i++) { wasCategory.Clear(); doc.Element("CLIENT").Add( new XElement("Client", new XElement("surname", clients[i].Surname.Trim()), new XElement("name", clients[i].Name.Trim()), new XElement("patronimic", clients[i].Patronimic.Trim()), new XElement("number", clients[i].Number.ToString().Trim()), new XElement("seria", clients[i].Seria.ToString().Trim()), new XElement("datePas", clients[i].DatePas.ToString("dd.MM.yyyy").Trim()) ) ); var orders = context.Orders.ToList(); if (dateTimePickerDateGive.Value != null && checkBoxDate.Checked == true) { DateTime dateGive = dateTimePickerDateGive.Value; orders = context.Orders.Where(x => x.DateGive <= dateGive).ToList(); } foreach (var order in orders) { if (clients[i].ClientId == order.ClientId) { var categories = context.Categories.ToList(); if (comboBoxCat.SelectedItem.ToString() == "All") { } else { categories = context.Categories.Where(x => x.Name == comboBoxCat.SelectedItem.ToString()).ToList(); } foreach (var category in categories) { bool check = false; foreach (var s in wasCategory) { if (category.Name.ToString() == s) { check = true; } categoryname = categories.Where(x => x.CategoryId == category.CategoryId).Select(x => x.Name).First().Trim().ToString(); } wasCategory.Add(category.Name); if (check == false) { var CategoryXml = new XElement("Category", new XElement("name", category.Name.Trim()), new XElement("discription", category.Discription.Trim()) ); var ourClient = doc.Descendants("Client") .Where(x => x.Element("name") .Value.Equals(clients[i].Name.Trim())).FirstOrDefault(); if (ourClient != null) { if (!ourClient.Elements("CLIENT").Any()) { ourClient.Add(new XElement("CLIENT")); } bool duplicateClient = false; foreach (var elem in ourClient.Element("CLIENT").Elements("Category")) { duplicateClient = XNode.DeepEquals(elem, CategoryXml); if (duplicateClient) { break; } } if (!duplicateClient) { ourClient.Add(CategoryXml); } } } if (clients[i].ClientId == order.ClientId) { bool checkOrder = false; bool let = false; int clientid2 = clients[i].ClientId; DateTime DateTake = order.DateTake; DateTime DateGive = order.DateGive; decimal Summa = Convert.ToDecimal(order.Summa); decimal Comission = Convert.ToDecimal(order.Comission); foreach (var s in wasOrder) { var querys = context.Orders.Where(x => x.ClientId == clientid2 && x.CategoryId == category.CategoryId && x.DiscriptionOrder == order.DiscriptionOrder && x.DateGive == DateGive && x.DateTake == DateTake && x.Summa == Summa && x.Comission == Comission); if (querys.ToList().Count() < 1) { checkOrder = true; } if (clientid2 == s.ClientId && category.CategoryId == s.CategoryId && order.DiscriptionOrder == s.DiscriptionOrder && DateGive == s.DateGive && DateTake == s.DateTake && Summa == s.Summa && Comission == s.Comission) { checkOrder = true; } } var query2 = context.Orders.Where(x => x.ClientId == clientid2 && x.CategoryId == category.CategoryId && x.DiscriptionOrder == order.DiscriptionOrder && x.DateGive == DateGive && x.DateTake == DateTake && x.Summa == Summa && x.Comission == Comission); if (query2.ToList().Count() > 0) { let = true; } if (checkOrder == false && let == true) { categoryname = categories.Where(x => x.CategoryId == category.CategoryId).Select(x => x.Name).First().Trim().ToString(); wasOrder.Add(new OrderTest(clientid2, category.CategoryId, order.DiscriptionOrder, DateGive, DateTake, Summa, Comission)); var OrderXml = new XElement("Order", new XElement("name", category.Name.Trim()), new XElement("number", clients[i].Number.ToString().Trim()), new XElement("seria", clients[i].Seria.ToString().Trim()), new XElement("discriptionOrder", order.DiscriptionOrder.Trim()), new XElement("dateGive", order.DateGive.ToString("dd.MM.yyyy").Trim()), new XElement("dateTake", order.DateTake.ToString("dd.MM.yyyy").Trim()), new XElement("summa", order.Summa.ToString().Trim()), new XElement("comission", order.Comission.ToString().Trim()) ); var ourOrder = doc.Descendants("Client") .Where(x => x.Element("name") .Value.Equals(clients[i].Name.Trim())).FirstOrDefault().Descendants("Category") .Where(x => x.Element("name") .Value.Equals(categoryname)).FirstOrDefault(); if (ourOrder != null) { ourOrder.Add(OrderXml); } var journals = context.Journals.ToList(); foreach (var journal in journals) { if (journal.Order == order.OrderId) { bool checkes = false; foreach (var s in wasJournal) { if (s.Order == journal.Order && s.Summa == journal.Summa && s.Name == category.Name && s.Number == clients[i].Number && s.Seria == clients[i].Seria) { checkes = true; } } var queryJournal = context.Journals.Where(x => x.Order == journal.Order && x.Summa == journal.Summa); if (queryJournal.ToList().Count() < 0) { checkes = true; } if (checkes == false) { wasJournal.Add(new JournalTest(journal.Order, journal.Summa, category.Name, clients[i].Number, clients[i].Seria)); var JournalXml = new XElement("Journal", new XElement("name", category.Name.Trim()), new XElement("number", clients[i].Number.ToString().Trim()), new XElement("seria", clients[i].Seria.ToString().Trim()), new XElement("summa", journal.Summa.ToString().Trim()), new XElement("discriptionOrder", order.DiscriptionOrder.ToString().Trim()), new XElement("dateGive", order.DateGive.ToString("dd.MM.yyyy").Trim()), new XElement("dateTake", order.DateTake.ToString("dd.MM.yyyy").Trim()) ); var orderName = clients[i].Number.ToString(); var ourJournal = doc.Descendants("Client") .Where(x => x.Element("name") .Value.Equals(clients[i].Name.Trim())).FirstOrDefault().Descendants("Category") .Where(x => x.Element("name") .Value.Equals(categoryname)).FirstOrDefault().Descendants("Order") .Where(x => x.Element("number") .Value.Equals(orderName)).FirstOrDefault(); if (ourJournal != null) { ourJournal.Add(JournalXml); } } } } } } } } } key++; } string filePath = @"export.xml"; doc.Save(filePath); MessageBox.Show("Экспорт завершен !"); } }
private void buttonImport_Click(object sender, EventArgs e) { XmlSerialization <CLIENT> xmlSerialization = new XmlSerialization <CLIENT>(); CLIENT cl = new CLIENT(); // путь к файлу string filePath = @"import.xml"; cl = (CLIENT)xmlSerialization.ReadData(filePath, cl); //дерсериализация for (int i = 0; i < cl.Client.Count; i++) { string clientName = cl.Client[i].Name; string clientSurname = cl.Client[i].Surname; string clientPatronimic = cl.Client[i].Patronimic; string clientNumber = cl.Client[i].Number; string clientSeria = cl.Client[i].Seria; string clientDatePas = cl.Client[i].DatePas; //добавление using (var context = new LombardContext()) { int number = Convert.ToInt32(clientNumber); int seria = Convert.ToInt32(clientSeria); DateTime datePas = DateTime.Parse(clientDatePas); var query = context.Clients.Where(x => x.Name == clientName && x.Surname == clientSurname && x.Patronimic == clientPatronimic && x.Number == number && x.Seria == seria && x.DatePas == datePas); var clients = new Client() { Name = clientName.ToString(), Surname = clientSurname.ToString(), Patronimic = clientPatronimic.ToString(), Number = number, Seria = seria, DatePas = datePas }; if (query.ToList().Count < 1) { context.Clients.Add(clients); context.SaveChanges(); } } for (int j = 0; j < cl.Client[i].Category.Count; j++) { string categoryname = cl.Client[i].Category[j].Name; string categorydisc = cl.Client[i].Category[j].Discription; using (var context = new LombardContext()) { var category = context.Categories.Where(x => x.Name == categoryname && x.Discription == categorydisc); var categorys = new Category() { Name = categoryname, Discription = categorydisc }; if (category.ToList().Count < 1) { context.Categories.Add(categorys); context.SaveChanges(); } } for (int y = 0; y < cl.Client[i].Category[j].Order.Count; y++) { string orderdisc = cl.Client[i].Category[j].Order[y].DiscriptionOrder; string orderdategive = cl.Client[i].Category[j].Order[y].DateGive; string orderdatetake = cl.Client[i].Category[j].Order[y].DateTake; string ordersumma = cl.Client[i].Category[j].Order[y].Summa; string ordercomission = cl.Client[i].Category[j].Order[y].Comission; using (var context = new LombardContext()) { int number = Convert.ToInt32(clientNumber); int seria = Convert.ToInt32(clientSeria); DateTime datePas = DateTime.Parse(clientDatePas); var categoryid = context.Categories.Where(x => x.Name == categoryname && x.Discription == categorydisc).Select(x => x.CategoryId).First(); var clientid = context.Clients.Where(x => x.Name == clientName && x.Surname == clientSurname && x.Patronimic == clientPatronimic && x.Number == number && x.Seria == seria && x.DatePas == datePas).Select(x => x.ClientId).First(); DateTime dateGive = DateTime.Parse(orderdategive); DateTime dateTake = DateTime.Parse(orderdatetake); decimal summa = Convert.ToDecimal(ordersumma); decimal comission = Convert.ToDecimal(ordercomission); var query = context.Orders.Where(x => x.CategoryId == categoryid && x.ClientId == clientid && x.DiscriptionOrder == orderdisc && x.DateGive == dateGive && x.DateTake == dateTake && x.Summa == summa && x.Comission == comission); var order = new Order() { CategoryId = categoryid, ClientId = clientid, DiscriptionOrder = orderdisc, DateGive = dateGive, DateTake = dateTake, Summa = summa, Comission = comission }; if (query.ToList().Count < 1) { context.Orders.Add(order); context.SaveChanges(); } } for (int m = 0; m < cl.Client[i].Category[j].Order[y].Journal.Count; m++) { using (var context = new LombardContext()) { int number = Convert.ToInt32(cl.Client[i].Number); int seria = Convert.ToInt32(cl.Client[i].Seria); DateTime dateGive = DateTime.Parse(cl.Client[i].Category[j].Order[y].DateGive); DateTime dateTake = DateTime.Parse(cl.Client[i].Category[j].Order[y].DateTake); decimal summa = Convert.ToDecimal(cl.Client[i].Category[j].Order[y].Summa); decimal summa2 = Convert.ToDecimal(cl.Client[i].Category[j].Order[y].Journal[m].Summa); decimal comission = Convert.ToDecimal(cl.Client[i].Category[j].Order[y].Comission); var getClientid = context.Clients.Where(x => x.Number == number && x.Seria == seria).Select(x => x.ClientId).First(); string categoryname2 = cl.Client[i].Category[j].Name; string discriptionname2 = cl.Client[i].Category[j].Discription; var getCategoryId = context.Categories.Where(x => x.Name == categoryname2 && x.Discription == discriptionname2).Select(x => x.CategoryId).First(); var getOrderId = context.Orders.Where(x => x.CategoryId == getCategoryId && x.ClientId == getClientid && x.DiscriptionOrder == orderdisc && x.DateGive == dateGive && x.DateTake == dateTake && x.Summa == summa && x.Comission == comission).Select(x => x.OrderId).First(); var journal = new Journal() { Order = getOrderId, Summa = summa2 }; context.Journals.Add(journal); context.SaveChanges(); } } } } } MessageBox.Show("Импорт завершён"); }
private void buttonUpdate_Click(object sender, EventArgs e) { int indexRow = dataGridViewAddOrder.CurrentCell.RowIndex; int id = Convert.ToInt32(dataGridViewAddOrder.Rows[indexRow].Cells[0].Value); Order order = db.Orders.Find(id); UpdateOrder editOrder = new UpdateOrder(); using (var context = new LombardContext()) { var allCat = from query in context.Categories select new { CategoryId = query.CategoryId, Name = query.Name, Discription = query.Discription }; foreach (var el in allCat.ToList()) { editOrder.comboBoxCategory.Items.Add(el.Name); } var orderGetName = context.Categories.Where(x => x.CategoryId == order.CategoryId); string name; foreach (var x in orderGetName.ToList()) { name = x.Name; editOrder.comboBoxCategory.Text = name.ToString(); } editOrder.clientid = order.ClientId; editOrder.textBoxDiscriptionOrder.Text = order.DiscriptionOrder; editOrder.dateTimePickerDateGive.Text = order.DateGive.ToString(); editOrder.dateTimePickerDateTake.Text = order.DateTake.ToString(); editOrder.textBoxSumma.Text = Convert.ToString(order.Summa); // что бы поля были видны в свойствах нужно было поменять private на internal editOrder.textBoxComission.Text = Convert.ToString(order.Comission); DialogResult result = editOrder.ShowDialog(this); // в свойствах DialogRisult надо указать ОК if (result == DialogResult.Cancel) { return; } var getId = context.Categories.Where(x => x.Name == editOrder.comboBoxCategory.SelectedItem.ToString()); foreach (var x in getId.ToList()) { order.CategoryId = x.CategoryId; } editOrder.textBoxSumma_TextChanged(editOrder.originalText, e); if (editOrder.textBoxSumma.Modified == true) { using (var context2 = new LombardContext()) { var journal = new Journal() { Order = order.OrderId, Summa = Convert.ToDecimal(editOrder.textBoxSumma.Text) }; context2.Journals.Add(journal); context2.SaveChanges(); } } order.ClientId = editOrder.clientid; order.DiscriptionOrder = editOrder.textBoxDiscriptionOrder.Text; order.DateGive = DateTime.Parse(editOrder.dateTimePickerDateGive.Text); order.DateTake = DateTime.Parse(editOrder.dateTimePickerDateTake.Text); order.Summa = Convert.ToDecimal(editOrder.textBoxSumma.Text); order.Comission = Convert.ToDecimal(editOrder.textBoxComission.Text); } db.SaveChanges(); updateDataGridView(); // обновляем грид MessageBox.Show("Объект изменён"); }