コード例 #1
0
        private void Insert_IntoDetail(production_order_detail production_order_detail, decimal Quantity)
        {
            if (_production_execution != null)
            {
                if (production_order_detail != null)
                {
                    production_execution_detail _production_execution_detail = new entity.production_execution_detail();

                    //Adds Parent so that during approval, because it is needed for approval.
                    if (production_order_detail.parent != null)
                    {
                        if (production_order_detail.parent.production_execution_detail != null)
                        {
                            _production_execution_detail.parent = production_order_detail.parent.production_execution_detail.FirstOrDefault();
                        }
                    }

                    _production_execution_detail.State           = EntityState.Added;
                    _production_execution_detail.id_item         = production_order_detail.id_item;
                    _production_execution_detail.item            = production_order_detail.item;
                    _production_execution_detail.quantity        = Quantity;
                    _production_execution_detail.id_project_task = production_order_detail.id_project_task;
                    _production_execution_detail.movement_id     = (int)id_movement;

                    if (production_order_detail.item.unit_cost != null)
                    {
                        _production_execution_detail.unit_cost = (decimal)production_order_detail.item.unit_cost;
                    }

                    _production_execution_detail.production_execution = _production_execution;
                    _production_execution_detail.id_order_detail      = production_order_detail.id_order_detail;

                    if (production_order_detail.item.is_autorecepie)
                    {
                        _production_execution_detail.is_input = false;
                    }
                    else
                    {
                        _production_execution_detail.is_input = true;
                    }
                    foreach (item_movement_dimension item_movement_dimension in item_movement.item_movement_dimension)
                    {
                        production_execution_dimension production_execution_dimension = new production_execution_dimension();
                        production_execution_dimension.id_dimension   = item_movement_dimension.id_dimension;
                        production_execution_dimension.value          = item_movement_dimension.value;
                        production_execution_dimension.id_measurement = (app_measurementViewSource.View.CurrentItem as app_measurement).id_measurement;
                        _production_execution_detail.production_execution_dimension.Add(production_execution_dimension);
                    }
                    _production_execution.production_execution_detail.Add(_production_execution_detail);
                }
            }


            btnCancel_Click(null, null);
        }
コード例 #2
0
ファイル: Execution.xaml.cs プロジェクト: mercaditu/ERP
        private void Insert_IntoDetail(production_order_detail production_order_detail, decimal Quantity)
        {
            production_execution        _production_execution        = (production_execution)projectDataGrid.SelectedItem;
            production_execution_detail _production_execution_detail = new entity.production_execution_detail();

            //Adds Parent so that during approval, because it is needed for approval.
            if (production_order_detail.parent != null)
            {
                if (production_order_detail.parent.production_execution_detail != null)
                {
                    _production_execution_detail.parent = production_order_detail.parent.production_execution_detail.FirstOrDefault();
                }
            }

            _production_execution_detail.State           = EntityState.Added;
            _production_execution_detail.id_item         = production_order_detail.id_item;
            _production_execution_detail.item            = production_order_detail.item;
            _production_execution_detail.quantity        = Quantity;
            _production_execution_detail.id_project_task = production_order_detail.id_project_task;

            if (production_order_detail.item.unit_cost != null)
            {
                _production_execution_detail.unit_cost = (decimal)production_order_detail.item.unit_cost;
            }

            _production_execution_detail.production_execution = _production_execution;
            _production_execution_detail.id_order_detail      = production_order_detail.id_order_detail;

            if (production_order_detail.item.is_autorecepie)
            {
                _production_execution_detail.is_input = false;
            }
            else
            {
                _production_execution_detail.is_input = true;
            }
            _production_execution.production_execution_detail.Add(_production_execution_detail);

            ExecutionDB.SaveChanges();
        }
コード例 #3
0
ファイル: Execution.xaml.cs プロジェクト: mercaditu/ERP
        public void adddatacontact(contact contact, cntrl.ExtendedTreeView treeview)
        {
            production_order_detail production_order_detail = (production_order_detail)treeview.SelectedItem_;

            if (production_order_detail != null)
            {
                if (contact != null)
                {
                    //Product
                    int id = Convert.ToInt32(((contact)contact).id_contact);
                    if (id > 0)
                    {
                        production_execution        _production_execution        = (production_execution)production_executionViewSource.View.CurrentItem;
                        production_execution_detail _production_execution_detail = new entity.production_execution_detail();

                        //Check for contact
                        _production_execution_detail.id_contact = ((contact)contact).id_contact;
                        _production_execution_detail.contact    = contact;
                        _production_execution_detail.quantity   = 1;
                        _production_execution_detail.item       = production_order_detail.item;
                        _production_execution_detail.id_item    = production_order_detail.item.id_item;
                        _production_execution.RaisePropertyChanged("quantity");
                        _production_execution_detail.is_input = true;
                        _production_execution_detail.name     = contact.name + ": " + production_order_detail.name;

                        if (production_order_detail.id_project_task > 0)
                        {
                            _production_execution_detail.id_project_task = production_order_detail.id_project_task;
                        }

                        //Gets the Employee's contracts Hourly Rate.
                        hr_contract contract = ExecutionDB.hr_contract.Where(x => x.id_contact == id && x.is_active).FirstOrDefault();
                        if (contract != null)
                        {
                            _production_execution_detail.unit_cost = contract.Hourly;
                        }

                        if (production_order_detail.item.id_item_type == item.item_type.Service)
                        {
                            if (cmbcoefficient.SelectedValue != null)
                            {
                                _production_execution_detail.id_time_coefficient = (int)cmbcoefficient.SelectedValue;
                            }

                            string start_date = string.Format("{0} {1}", dtpstartdate.Text, dtpstarttime.Text);
                            _production_execution_detail.start_date = Convert.ToDateTime(start_date);
                            string end_date = string.Format("{0} {1}", dtpenddate.Text, dtpendtime.Text);
                            _production_execution_detail.end_date = Convert.ToDateTime(end_date);

                            _production_execution_detail.id_production_execution = _production_execution.id_production_execution;
                            _production_execution_detail.production_execution    = _production_execution;
                            _production_execution_detail.id_project_task         = production_order_detail.id_project_task;
                            _production_execution_detail.id_order_detail         = production_order_detail.id_order_detail;
                            _production_execution_detail.production_order_detail = production_order_detail;

                            ExecutionDB.production_execution_detail.Add(_production_execution_detail);
                            RefreshData();
                        }
                        else if (production_order_detail.item.id_item_type == item.item_type.ServiceContract)
                        {
                            if (cmbcoefficient.SelectedValue != null)
                            {
                                _production_execution_detail.id_time_coefficient = (int)cmbsccoefficient.SelectedValue;
                            }

                            string start_date = string.Format("{0} {1}", dtpscstartdate.Text, dtpscstarttime.Text);
                            _production_execution_detail.start_date = Convert.ToDateTime(start_date);
                            string end_date = string.Format("{0} {1}", dtpscenddate.Text, dtpscendtime.Text);
                            _production_execution_detail.end_date = Convert.ToDateTime(end_date);

                            _production_execution_detail.id_production_execution = _production_execution.id_production_execution;
                            _production_execution_detail.production_execution    = _production_execution;
                            _production_execution_detail.id_project_task         = production_order_detail.id_project_task;
                            _production_execution_detail.id_order_detail         = production_order_detail.id_order_detail;
                            _production_execution_detail.production_order_detail = production_order_detail;

                            ExecutionDB.production_execution_detail.Add(_production_execution_detail);

                            RefreshData();
                        }
                    }
                }
            }
            else
            {
                toolBar.msgWarning("select Production order for insert");
            }
        }