コード例 #1
0
        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();
        }
コード例 #2
0
ファイル: pnlOrder.xaml.cs プロジェクト: mercaditu/ERP
        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();
            }
        }