예제 #1
0
        private void btnNewTask_Click(object sender, EventArgs e)
        {
            contact contact = (contact)employeeViewSource.View.CurrentItem;

            foreach (hr_contract _hr_contract in contact.hr_contract)
            {
                _hr_contract.is_active = false;
            }

            hr_contract hr_contract = new hr_contract();

            hr_contract.start_date = DateTime.Now;
            hr_contract.end_date   = DateTime.Now.AddYears(1);
            hr_contract.is_active  = true;
            contact.hr_contract.Add(hr_contract);
            contacthr_contractViewSource.View.MoveCurrentToLast();
            contacthr_contractViewSource.View.Refresh();
        }
예제 #2
0
        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");
            }
        }