private void toolIcon_Click(object sender) { production_order production_order = production_orderViewSource.View.CurrentItem as production_order; production_orderproduction_order_detailViewSource.View.Filter = null; List <production_order_detail> _production_order_detail = treeProject.ItemsSource.Cast <production_order_detail>().ToList(); foreach (production_order_detail production_order_detail in _production_order_detail.Where(x => x.IsSelected == true)) { if (production_order_detail.parent != null) { production_order_detail.parent.status = entity.Status.Production.Approved; } production_order_detail.status = entity.Status.Production.Approved; } if (production_order.production_execution.Count() == 0) { production_execution production_execution = new production_execution(); production_execution.production_order = production_order; production_execution.id_production_line = production_order.id_production_line; production_execution.trans_date = DateTime.Now; OrderDB.production_execution.Add(production_execution); } if (OrderDB.SaveChanges() > 0) { filter_task(); toolBar.msgSaved(OrderDB.NumberOfRecords); } }
private void toolBar_btnSearch_Click(object sender, string query) { try { if (!string.IsNullOrEmpty(query)) { production_executionViewSource.View.Filter = i => { production_execution production_execution = i as production_execution; if (production_execution.production_order.name.ToLower().Contains(query.ToLower())) { return(true); } else { return(false); } }; } else { production_executionViewSource.View.Filter = null; } } catch (Exception ex) { toolBar.msgError(ex); } }
private void toolBar_btnCancel_Click(object sender) { production_execution production_execution = (production_execution)projectDataGrid.SelectedItem; production_execution.State = EntityState.Unchanged; production_executionViewSource.View.Refresh(); }
private void toolBar_btnNew_Click(object sender) { production_execution production_execution = ExecutionDB.NewExecustion(); production_executionViewSource.View.MoveCurrentToLast(); }
private void toolBar_btnEdit_Click(object sender) { if (projectDataGrid.SelectedItem != null) { production_execution production_execution = (production_execution)projectDataGrid.SelectedItem; production_execution.IsSelected = true; production_execution.State = EntityState.Modified; ExecutionDB.Entry(production_execution).State = EntityState.Modified; } else { toolBar.msgWarning("Please Select an Item"); } }
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(); }
private void DeleteCommandBinding_Executed(object sender, ExecutedRoutedEventArgs e) { try { DataGrid exexustiondetail = (DataGrid)e.Source; MessageBoxResult result = MessageBox.Show("Are you sure want to Delete?", "Delete", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) { production_execution production_execution = production_executionViewSource.View.CurrentItem as production_execution; //DeleteDetailGridRow exexustiondetail.CancelEdit(); production_execution_detail production_execution_detail = e.Parameter as production_execution_detail; production_execution_detail.State = EntityState.Deleted; RefreshData(); } } catch (Exception ex) { toolBar.msgError(ex); } }
private void btnInsert_Click(object sender, EventArgs e) { production_order_detail production_order_detail = null; Button btn = sender as Button; decimal Quantity = 0M; item.item_type type = item.item_type.Task; if (btn.Name.Contains("Prod")) { Quantity = Convert.ToDecimal(txtProduct.Text); production_order_detail = treeProduct.SelectedItem_ as production_order_detail; type = item.item_type.Product; } else if (btn.Name.Contains("Raw")) { Quantity = Convert.ToDecimal(txtRaw.Text); production_order_detail = treeRaw.SelectedItem_ as production_order_detail; type = item.item_type.RawMaterial; } else if (btn.Name.Contains("Asset")) { Quantity = Convert.ToDecimal(txtAsset.Text); production_order_detail = treeAsset.SelectedItem_ as production_order_detail; type = item.item_type.FixedAssets; } else if (btn.Name.Contains("Supp")) { Quantity = Convert.ToDecimal(txtSupply.Text); production_order_detail = treeSupply.SelectedItem_ as production_order_detail; type = item.item_type.Supplies; } else if (btn.Name.Contains("ServiceContract")) { Quantity = Convert.ToDecimal(txtServicecontract.Text); production_order_detail = treeServicecontract.SelectedItem_ as production_order_detail; type = item.item_type.ServiceContract; } try { if (production_order_detail.is_input) { if (production_order_detail != null && Quantity > 0 && ( type == item.item_type.Product || type == item.item_type.RawMaterial || type == item.item_type.Supplies) ) { if (production_order_detail.item.item_dimension.Count() > 0) { Cognitivo.Configs.itemMovementFraction DimensionPanel = new Cognitivo.Configs.itemMovementFraction(); DimensionPanel.mode = Configs.itemMovementFraction.modes.Execution; production_execution _production_execution = production_executionViewSource.View.CurrentItem as production_execution; DimensionPanel.id_item = (int)production_order_detail.id_item; DimensionPanel.ExecutionDB = ExecutionDB; DimensionPanel.production_order_detail = production_order_detail; DimensionPanel._production_execution = _production_execution; DimensionPanel.Quantity = Quantity; crud_modal.Visibility = Visibility.Visible; crud_modal.Children.Add(DimensionPanel); } else { Insert_IntoDetail(production_order_detail, Quantity); RefreshData(); } } else { Insert_IntoDetail(production_order_detail, Quantity); RefreshData(); } } else { Insert_IntoDetail(production_order_detail, Quantity); RefreshData(); } } catch (Exception ex) { toolBar.msgError(ex); } }
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"); } }
public List <item_movement> CalculateStock(production_execution production_execution, List <item_movement> item_movementList) { foreach (production_execution_detail detail in production_execution.production_execution_detail .Where(x => x.item.id_item_type == item.item_type.Product || x.item.id_item_type == item.item_type.RawMaterial)) { item_product item_product = Stock.FindNFix_ItemProduct(detail.item); List <item_movement> _item_movementList; _item_movementList = db.item_movement.Where(x => x.id_location == production_execution.production_line.id_location && x.id_item_product == item_product.id_item_product && x.status == entity.Status.Stock.InStock && (x.credit - (x._child.Count() > 0 ? x._child.Sum(y => y.debit) : 0)) > 0).ToList(); if (item_product.cogs_type == item_product.COGS_Types.LIFO && _item_movementList != null) { _item_movementList = _item_movementList.OrderBy(x => x.trans_date).ToList(); } else if (_item_movementList != null) { _item_movementList = _item_movementList.OrderByDescending(x => x.trans_date).ToList(); } else { //Adding into List if _item_movementList is empty. item_movementList.Add(Stock.debit_Movement(entity.Status.Stock.InStock, App.Names.ProductionExecustion, detail.id_production_execution, item_product.id_item_product, (int)production_execution.production_line.id_location, detail.quantity, production_execution.trans_date, Stock.comment_Generator(App.Names.ProductionExecustion, production_execution.id_production_execution.ToString(), "") )); } foreach (item_movement object_Movement in _item_movementList) { decimal qty_ExexustionDetail = detail.quantity; if (qty_ExexustionDetail > 0) { item_movement item_movement = new item_movement(); if (detail.is_input) { decimal movement_debit_quantity = qty_ExexustionDetail; if (object_Movement.credit <= qty_ExexustionDetail) { movement_debit_quantity = object_Movement.credit; } else { movement_debit_quantity = qty_ExexustionDetail; } //If input is true, then we should DEBIT Stock. item_movement = Stock.debit_Movement(entity.Status.Stock.InStock, App.Names.ProductionExecustion, (int)detail.id_production_execution, item_product.id_item_product, (int)production_execution.production_line.id_location, movement_debit_quantity, production_execution.trans_date, Stock.comment_Generator(App.Names.ProductionExecustion, production_execution.id_production_execution.ToString(), "")); } else { //If input is false, then we should CREDIT Stock. item_movement = Stock.credit_Movement(entity.Status.Stock.InStock, App.Names.ProductionExecustion, (int)detail.id_production_execution, item_product.id_item_product, (int)production_execution.production_line.id_location, qty_ExexustionDetail, production_execution.trans_date, Stock.comment_Generator(App.Names.ProductionExecustion, production_execution.id_production_execution.ToString(), "")); } item_movement._parent = object_Movement; //Logic for Value item_movement_value item_movement_value = new item_movement_value(); item_movement_value.unit_value = object_Movement.item_movement_value.Sum(i => i.unit_value); item_movement_value.id_currencyfx = object_Movement.item_movement_value.FirstOrDefault().id_currencyfx; item_movement_value.comment = item_movement.comment; item_movement.item_movement_value.Add(item_movement_value); //Adding into List item_movementList.Add(item_movement); qty_ExexustionDetail = qty_ExexustionDetail - object_Movement.credit; } } } return(item_movementList); }