private void toolBar_btnSave_Click(object sender) { production_order _production_order = (production_order)production_orderDataGrid.SelectedItem; if ((_production_order.work_number == null || _production_order.work_number == string.Empty) && _production_order.id_range > 0) { if (_production_order.id_branch > 0) { entity.Brillo.Logic.Range.branch_Code = OrderDB.app_branch.Where(x => x.id_branch == _production_order.id_branch).FirstOrDefault().code; } if (_production_order.id_terminal > 0) { entity.Brillo.Logic.Range.terminal_Code = OrderDB.app_terminal.Where(x => x.id_terminal == _production_order.id_terminal).FirstOrDefault().code; } app_document_range app_document_range = OrderDB.app_document_range.Where(x => x.id_range == _production_order.id_range).FirstOrDefault(); _production_order.work_number = entity.Brillo.Logic.Range.calc_Range(app_document_range, true); _production_order.RaisePropertyChanged("work_number"); } OrderDB.SaveChanges(); }
private void UserControl_Loaded(object sender, RoutedEventArgs e) { production_order production_order = new production_order(); // Do not load your data at design time. if (!DesignerProperties.GetIsInDesignMode(this)) { //Load your data here and assign the result to the CollectionViewSource. production_orderViewSource = (CollectionViewSource)this.Resources["production_orderViewSource"]; shared_dbContext.db.production_order.Add(production_order); production_orderViewSource.Source = shared_dbContext.db.production_order.Local; production_lineViewSource = (CollectionViewSource)this.Resources["production_lineViewSource"]; shared_dbContext.db.production_line.Load(); production_lineViewSource.Source = shared_dbContext.db.production_line.Local; } if (project_taskLIST.Count() > 0) { production_order.id_project = project_taskLIST.FirstOrDefault().id_project; //Get Name. production_order.name = project_taskLIST.FirstOrDefault().project.name; production_order.RaisePropertyChanged("name"); //Date check. Get the range from task first, if blank get from Project. production_order.start_date_est = project_taskLIST.OrderBy(x => x.start_date_est).FirstOrDefault().start_date_est; production_order.end_date_est = project_taskLIST.OrderByDescending(x => x.end_date_est).FirstOrDefault().end_date_est; if (production_order.start_date_est == null || production_order.end_date_est == null) { production_order.start_date_est = project_taskLIST.OrderBy(x => x.start_date_est).FirstOrDefault().project.est_start_date; production_order.end_date_est = project_taskLIST.OrderByDescending(x => x.end_date_est).FirstOrDefault().project.est_end_date; } production_order.RaisePropertyChanged("start_date_est"); production_order.RaisePropertyChanged("end_date_est"); foreach (var item in project_taskLIST.Where(x => x.status == Status.Project.Approved)) { project_task _project_task = (project_task)item; production_order_detail production_order_detail = new production_order_detail(); production_order_detail.status = Status.Production.Pending; production_order_detail.id_order_detail = _project_task.id_project_task; production_order_detail.name = _project_task.item_description; production_order_detail.code = _project_task.code; //Ref Keys production_order_detail.item = _project_task.items; production_order_detail.id_item = _project_task.id_item; //If Item has Recepie if (_project_task.items.item_recepie.Count > 0) { production_order_detail.is_input = false; } else { production_order_detail.is_input = true; } if (_project_task.parent != null) { production_order_detail _production_order_detail = production_order.production_order_detail.Where(x => x.id_project_task == _project_task.parent.id_project_task).FirstOrDefault(); if (_production_order_detail != null) { production_order_detail.parent = _production_order_detail; } } production_order_detail.id_project_task = _project_task.id_project_task; if (_project_task.quantity_est > 0) { production_order_detail.quantity = (decimal)_project_task.quantity_est; } production_order.status = entity.Status.Production.Pending; production_order.production_order_detail.Add(production_order_detail); } shared_dbContext.db.production_order.Add(production_order); production_orderViewSource.View.MoveCurrentToLast(); } }