private void treeProject_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { if (treeProject.SelectedItem_ != null) { project_task project_task = (project_task)treeProject.SelectedItem_; project_taskViewSource.View.MoveCurrentTo(project_task); try { if (project_task_dimensionViewSource != null) { if (project_task_dimensionViewSource.View != null) { project_task_dimensionViewSource.View.Filter = i => { project_task_dimension _project_task_dimension = (project_task_dimension)i; if (_project_task_dimension.id_project_task == project_task.id_project_task) { return(true); } else { return(false); } }; } } } catch (Exception ex) { toolBar.msgError(ex); } } }
private void project_task_dimensionDataGrid_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e) { project_task project_task = (project_task)treeProject.SelectedItem_; project_task_dimension project_task_dimension = e.Row.Item as project_task_dimension; project_task.project_task_dimension.Add(project_task_dimension); }
private void item_Select(object sender, RoutedEventArgs e) { if (sbxItem.ItemID > 0) { item item = ProjectTaskDB.items.Where(x => x.id_item == sbxItem.ItemID).FirstOrDefault(); project_task project_task_output = treeProject.SelectedItem_ as project_task; if (project_task_output.parent != null) { if (project_task_output.parent.items.is_autorecepie) { MessageBox.Show("can't add becuse item is auto receipe"); } } if (item != null && item.id_item > 0 && item.is_autorecepie) { project_task_output.id_item = item.id_item; project_task_output.items = item; project_task_output.RaisePropertyChanged("item"); project_task_output.quantity_est = 1; foreach (item_recepie_detail item_recepie_detail in item.item_recepie.FirstOrDefault().item_recepie_detail) { project_task project_task = new project_task(); project_task.code = item_recepie_detail.item.name; project_task.item_description = item_recepie_detail.item.name; project_task.id_item = item_recepie_detail.item.id_item; project_task.items = item_recepie_detail.item; project_task.id_project = project_task_output.id_project; project_task.status = Status.Project.Pending; project_task.RaisePropertyChanged("item"); if (item_recepie_detail.quantity > 0) { project_task.quantity_est = (decimal)item_recepie_detail.quantity; } project_task_output.child.Add(project_task); } filter_task(); } else { if (project_task_output.code == "") { project_task_output.code = item.code; } project_task_output.id_item = item.id_item; project_task_output.items = item; project_task_output.item_description = item.name; project_task_output.RaisePropertyChanged("item_description"); project_task_output.RaisePropertyChanged("item"); project_task_output.quantity_est = 1; } if (item.item_dimension != null) { project_task_output.items = item; project_task_output.project_task_dimension.Clear(); foreach (item_dimension _item_dimension in item.item_dimension) { project_task_dimension project_task_dimension = new project_task_dimension(); project_task_dimension.id_dimension = _item_dimension.id_app_dimension; project_task_dimension.app_dimension = _item_dimension.app_dimension; project_task_dimension.value = _item_dimension.value; project_task_dimension.id_measurement = _item_dimension.id_measurement; project_task_dimension.app_measurement = _item_dimension.app_measurement; project_task_dimension.id_project_task = project_task_output.id_project_task; project_task_dimension.project_task = project_task_output; ProjectTaskDB.project_task_dimension.Add(project_task_dimension); project_task_dimensionViewSource.View.MoveCurrentToLast(); } } try { if (project_task_dimensionViewSource != null) { if (project_task_dimensionViewSource.View != null) { project_task_dimensionViewSource.View.Filter = i => { project_task_dimension _project_task_dimension = (project_task_dimension)i; if (_project_task_dimension.project_task == project_task_output) { return(true); } else { return(false); } }; } } } catch (Exception ex) { toolBar.msgError(ex); } } }
public void project() { MySqlConnection conn = new MySqlConnection(_connString); MySqlCommand cmd = new MySqlCommand(); string sql_count = " select" + " sum(a.count)" + " from" + " ( select count(*) as count from project union all " + " select count(*) as count from project_category union all " + " select count(*) as count from project_task ) a "; conn.Open(); cmd.Connection = conn; cmd.CommandText = sql_count; cmd.CommandType = CommandType.Text; int count = Convert.ToInt32(cmd.ExecuteScalar()); conn.Close(); int value = 0; Dispatcher.BeginInvoke((Action)(() => projectMaximum.Text = count.ToString())); Dispatcher.BeginInvoke((Action)(() => projectValue.Text = value.ToString())); Dispatcher.BeginInvoke((Action)(() => progProject.Maximum = count)); Dispatcher.BeginInvoke((Action)(() => progProject.Value = value)); string sql_proj_category = " SELECT * FROM project_category;"; conn.Open(); cmd.Connection = conn; cmd.CommandText = sql_proj_category; cmd.CommandType = CommandType.Text; MySqlDataReader category_reader = cmd.ExecuteReader(); while (category_reader.Read()) { using (db db = new db()) { project_template project_template = new project_template(); project_template.name = category_reader.GetString("category"); project_template.is_active = true; db.project_template.Add(project_template); db.SaveChanges(); value += 1; Dispatcher.BeginInvoke((Action)(() => progProject.Value = value)); Dispatcher.BeginInvoke((Action)(() => projectValue.Text = value.ToString())); } } conn.Close(); string sql_template = " SELECT project_template.*, project_category.category, item_sku.product FROM project_template " + " INNER JOIN project_category ON project_template.id_category = project_category.id" + " INNER JOIN item_sku ON project_template.id_sku = item_sku.id;"; conn.Open(); cmd.Connection = conn; cmd.CommandText = sql_template; cmd.CommandType = CommandType.Text; MySqlDataReader template_reader = cmd.ExecuteReader(); while (template_reader.Read()) { using (db db = new db()) { project_template_detail project_template_detail = new project_template_detail(); string category = template_reader.GetString("category"); project_template_detail.id_project_template = db.project_template.Where(i => i.name == category).FirstOrDefault().id_project_template; project_template_detail.code = template_reader.GetString("task_number"); project_template_detail.item_description = template_reader.GetString("product"); if (db.items.Where(i => i.name == project_template_detail.item_description).FirstOrDefault() != null) { project_template_detail.id_item = db.items.Where(i => i.name == project_template_detail.item_description).FirstOrDefault().id_item; if (template_reader.GetInt16("id_task_rel") == 0) { //no parent. do nothing } else { //has parent string code = template_reader.GetString("task_number"); int pos = code.LastIndexOf('.'); if (pos >= 0) { code = code.Substring(0, pos); } project_template_detail.parent = db.project_template_detail.Where(p => p.code == code && p.id_project_template == project_template_detail.id_project_template) .FirstOrDefault(); } //Insert into Context & Save db.project_template_detail.Add(project_template_detail); db.SaveChanges(); } } } conn.Close(); string sql_proj = " SELECT * FROM project"; conn.Open(); cmd.Connection = conn; cmd.CommandText = sql_proj; cmd.CommandType = CommandType.Text; MySqlDataReader proj_reader = cmd.ExecuteReader(); while (proj_reader.Read()) { using (db db = new db()) { db.Configuration.AutoDetectChangesEnabled = false; project project = new project(); project.id_project = proj_reader.GetInt32("id"); project.est_start_date = proj_reader.GetDateTime("begin_date"); if (proj_reader["id_contact"] is DBNull) { value += 1; continue; } else { project.id_contact = proj_reader.GetInt32("id_contact"); } project.name = proj_reader.GetString("project"); if (project.Error == null) { db.projects.Add(project); db.SaveChanges(); value += 1; Dispatcher.BeginInvoke((Action)(() => progProject.Value = value)); Dispatcher.BeginInvoke((Action)(() => projectValue.Text = value.ToString())); } } } conn.Close(); string sql_proj_task = " SELECT project_task.*, project.project, item_sku.product,app_status.status FROM project_task " + " INNER JOIN project ON project_task.id_project = project.id" + " INNER JOIN item_sku ON project_task.id_sku = item_sku.id" + " INNER JOIN app_status ON project_task.id_status = app_status.id"; conn.Open(); cmd.Connection = conn; cmd.CommandText = sql_proj_task; cmd.CommandType = CommandType.Text; MySqlDataReader proj_task_reader = cmd.ExecuteReader(); while (proj_task_reader.Read()) { using (db db = new db()) { project_task project_task = new project_task(); string project = proj_task_reader.GetString("project"); project_task.id_project = db.projects.Where(i => i.name == project).FirstOrDefault().id_project; project_task.code = proj_task_reader.GetString("task_number"); string product = proj_task_reader.GetString("product"); if (db.items.Where(i => i.name == product).FirstOrDefault() != null) { project_task.item_description = db.items.Where(i => i.name == product).FirstOrDefault().name; project_task.id_item = db.items.Where(i => i.name == product).FirstOrDefault().id_item; if (proj_task_reader.GetString("status") == "Aprobado") { project_task.status = Status.Project.Approved; } else if (proj_task_reader.GetString("status") == "Pendiente") { project_task.status = Status.Project.Pending; } if (!(proj_task_reader["qty"] is DBNull)) { project_task.quantity_est = proj_task_reader.GetInt16("qty"); } if (proj_task_reader.GetInt16("id_task_rel") == 0) { //no parent. do nothing } else { //has parent string code = proj_task_reader.GetString("task_number"); //logic to have children if (project_task.quantity_est == null) { var pos = code.LastIndexOf('.'); if (pos >= 0) { code = code.Substring(0, pos); project_task.parent = db.project_task.Where(p => p.code == code && p.id_project == project_task.id_project ).FirstOrDefault(); } } else { project_task.parent = db.project_task.Where(p => p.code == code && p.id_project == project_task.id_project ).FirstOrDefault(); } } //if (project_task.Error == null) //{ db.project_task.Add(project_task); //} } else { } string sql_task = "SELECT * FROM project_task_dimension inner join app_dimension on app_dimension.id=project_task_dimension.id_dimension inner join project_task on project_task.id=project_task_dimension.id_task where id_task=" + proj_task_reader.GetInt32("id"); try { MySqlConnection conntask = new MySqlConnection(_connString); MySqlCommand cmdtask = new MySqlCommand(); conntask.Open(); cmdtask.Connection = conntask; cmdtask.CommandText = sql_task; cmdtask.CommandType = CommandType.Text; MySqlDataReader task_reader = cmdtask.ExecuteReader(); while (task_reader.Read()) { project_task_dimension project_task_dimension = new project_task_dimension(); string name = task_reader.GetString("dimension"); if (db.app_dimension.Where(x => x.name == name).FirstOrDefault() != null) { project_task_dimension.id_dimension = db.app_dimension.Where(x => x.name == name).FirstOrDefault().id_dimension; project_task_dimension.project_task = project_task; project_task_dimension.value = task_reader.GetInt32("value"); project_task_dimension.id_measurement = db.app_measurement.FirstOrDefault().id_measurement; if (project_task_dimension.Error == null) { db.project_task_dimension.Add(project_task_dimension); } } } task_reader.Close(); cmdtask.Dispose(); conntask.Close(); } catch (Exception ex) { throw ex; } IEnumerable <DbEntityValidationResult> validationresult = db.GetValidationErrors(); if (validationresult.Count() == 0) { try { db.SaveChanges(); } catch (Exception ex) { throw ex; } value += 1; Dispatcher.BeginInvoke((Action)(() => progProject.Value = value)); Dispatcher.BeginInvoke((Action)(() => projectValue.Text = value.ToString())); } } } cmd.Dispose(); conn.Close(); }