private void PopulateSalesOrder(string SONumber) { sales_order _sales_order = new sales_order(); using (var dbContext = new MRP4MEEntities()) { _sales_order = dbContext.sales_order.Find(SONumber); if (!String.IsNullOrEmpty(_sales_order.so_number)) { this.ThisIsEnabled = false; this.CustomerName = _sales_order.customer_name; this.RequiredDate = _sales_order.required_date; this.SONumber = _sales_order.so_number; this.ItemCode = _sales_order.item_code; this.Name = _sales_order.name; this.Unit = _sales_order.unit; this.UnitCost = _sales_order.unit_cost.ToString(); this.Description = _sales_order.description; this.Quantity = _sales_order.quantity.ToString(); if (_sales_order.quantity_received != null) { this.QuantityReceived = _sales_order.quantity_received.ToString(); } if (_sales_order.back_ordered != null) { this.BackOrdered = _sales_order.back_ordered.ToString(); } this.Attachment = _sales_order.attachment; this.UploadImage = _sales_order.upload_image; this.User = _sales_order.user; this.Level = "0"; } } }
public void OpenItemDetailsDialog() { if (String.IsNullOrEmpty(this.ItemCode)) { System.Windows.MessageBox.Show("Please enter Item Code."); return; } using (var dbContext = new MRP4MEEntities()) { var so = (from s in dbContext.sales_order where s.item_code == this.ItemCode select s).FirstOrDefault(); if (so != null) { DialogResult result = MsgBox.Show("Item Code:" + so.item_code + Environment.NewLine + "Item Description: " + so.description + Environment.NewLine + "Type: Fin " + Environment.NewLine + "Quantity:" + so.quantity, "MRP4ME", MsgBox.Buttons.OK, MsgBox.Icon.Info, MsgBox.AnimateStyle.FadeIn); } else { System.Windows.MessageBox.Show("Please enter valid Item Code"); } } }
/// <summary> /// populate bom from the database. This method is invoked by the LocateBOMCommand. /// </summary> public void GenerateBOMGrid() { using (var dbContext = new MRP4MEEntities()) { var bomitems = new ObservableCollection <bom_table>(dbContext.bom_table.Where(x => x.item_code.Equals(this.ItemCode))); this.BOMItems1 = bomitems; } NotifyPropertyChanged("BOMItems1"); }
private void FillItemCodes() { using (var dbContext = new MRP4MEEntities()) { var q = (from a in dbContext.bom_table select a.item_code).Distinct().ToList(); this.Itemcodes = q; } NotifyPropertyChanged("Itemcodes"); }
public void GenerateBOMView() { if (String.IsNullOrEmpty(this.ItemCode)) { MessageBox.Show("Please enter Item Code."); return; } DataView vw = new DataView(); DataSet bomDataSet = new DataSet(); using (var dbContext = new MRP4MEEntities()) { using (MySqlConnection connection = new MySqlConnection(dbContext.Database.Connection.ConnectionString)) { try { String sql = "SELECT type, component, component_description as comp_desc, quantity_per, unit_of_measure as uom, effective_from as eff_from, " + " effective_through AS eff_through, if(engineering_change_order=0,'No','Yes') as ECO, cost_of_unit_of_measure cost_uom," + " bom_cost, scrap_percent, scrap_cost, extended_cost, item_code, item_number " + " FROM bom_table"; MySqlDataAdapter adapter = new MySqlDataAdapter(sql, connection); adapter.Fill(bomDataSet); bomDataSet.Relations.Add("rsParentChild", bomDataSet.Tables[0].Columns["item_number"], bomDataSet.Tables[0].Columns["item_code"], false); vw = bomDataSet.Tables[0].DefaultView; vw.RowFilter = "item_code = '" + this.ItemCode + "'"; connection.Close(); } catch (Exception ex) { MessageBox.Show("Failed to generate BOM for this Item Code." + ex.Message, "MRP4ME"); } finally { if (connection.State == ConnectionState.Open) { connection.Close(); } } } } this.BOMItems = vw; NotifyPropertyChanged("BOMItems"); }
internal List <SalesOrder> GetAllSalesOrders() { List <SalesOrder> salesOrdersList = new List <SalesOrder>(); List <sales_order> _salesorders = new List <sales_order>(); using (var dbContext = new MRP4MEEntities()) { _salesorders = new List <sales_order>(dbContext.sales_order); } foreach (var val in _salesorders) { SalesOrder salesOrderObj = new SalesOrder(); salesOrderObj.required_date = val.required_date; salesOrderObj.so_number = val.so_number; salesOrderObj.customer_name = val.customer_name; salesOrderObj.item_code = val.item_code; salesOrderObj.name = val.name; if (val.unit_cost > 0) { salesOrderObj.unit_cost = string.Format("{0:#0.00######}", val.unit_cost); } salesOrderObj.description = val.description; salesOrderObj.quantity = val.quantity.ToString(); if (val.quantity_received > 0) { salesOrderObj.quantity_received = val.quantity_received.ToString(); } if (val.back_ordered > 0) { salesOrderObj.back_ordered = val.back_ordered.ToString(); } salesOrdersList.Add(salesOrderObj); } return(salesOrdersList); }
/// <summary> /// delete the sales order from the database. This method is invoked by the DeleteSOCommand. /// </summary> public void DeleteSO(string SONumber) { MessageBoxResult messageBoxResult = System.Windows.MessageBox.Show("Are you sure to delete sales order # " + SONumber + " ?", "MRP4ME - Delete Confirmation", System.Windows.MessageBoxButton.YesNo); if (messageBoxResult == MessageBoxResult.Yes) { using (var dbContext = new MRP4MEEntities()) { sales_order item = Salesorders.FirstOrDefault(x => x.so_number == SONumber); dbContext.sales_order.Attach(item); dbContext.sales_order.Remove(item); dbContext.SaveChanges(); dbContext.Entry(item).State = System.Data.Entity.EntityState.Detached; Salesorders.Remove(item); NotifyPropertyChanged("Salesorders"); } } }
/// <summary> /// Saves the SO to the DB. This method is invoked by the SaveCommand. /// </summary> public void Save() { try { sales_order _sales_order; using (var dbContext = new MRP4MEEntities()) { _sales_order = dbContext.sales_order.Find(salesorder.so_number); if (_sales_order != null) { //check for duplicate sales order number when new SO if (isNewSO) { throw new DbUpdateException(); } } else { //if sales order is null then it is new sales order _sales_order = new sales_order(); } DateTime dateValue = DateTime.Parse(this.RequiredDate.ToString()); _sales_order.customer_name = salesorder.customer_name; _sales_order.required_date = DateTime.Parse(dateValue.ToString("yyyy/MM/dd")); _sales_order.so_number = salesorder.so_number; _sales_order.item_code = salesorder.item_code; _sales_order.name = salesorder.name; _sales_order.unit = salesorder.unit; _sales_order.unit_cost = Convert.ToDecimal(salesorder.unit_cost); _sales_order.description = salesorder.description; _sales_order.quantity = Int32.Parse(salesorder.quantity); if (!String.IsNullOrEmpty(salesorder.quantity_received)) { _sales_order.quantity_received = Int32.Parse(salesorder.quantity_received); } if (!String.IsNullOrEmpty(salesorder.back_ordered)) { _sales_order.back_ordered = Int32.Parse(salesorder.back_ordered); if (String.IsNullOrEmpty(salesorder.quantity_received)) { _sales_order.quantity_received = _sales_order.quantity - _sales_order.back_ordered; } } _sales_order.attachment = salesorder.attachment; _sales_order.upload_image = salesorder.upload_image; _sales_order.user = salesorder.user; _sales_order.level = 0; if (isNewSO) { dbContext.sales_order.Add(_sales_order); dbContext.SaveChanges(); dbContext.Entry(_sales_order).State = EntityState.Detached; } else { dbContext.SaveChanges(); dbContext.Entry(_sales_order).State = EntityState.Modified; dbContext.Entry(_sales_order).State = EntityState.Detached; } } ClearForm(); MessageBox.Show("Sales Order successfully saved.", "MRP4ME"); //NotifyPropertyChanged("SO"); } catch (DbUpdateException ex) { //MessageBox.Show("SO Number already exist!" , "MRP4ME"); AddError(new ValidationError("SONumber", Constraint_Mandatory, " SO Number already exist!")); NotifyPropertyChanged("SONumber"); Tracer.LogUserDefinedValidation("DbUpdateException. " + ex.Message); } catch (Exception ex) { MessageBox.Show("Sales Order not saved, please verify data and save again." + ex.Message, "MRP4ME"); } }
/// <summary> /// Saves the BOM to the DB. This method is invoked by the SaveCommand. /// </summary> public void Save() { try { bom_table _bom; using (var dbContext = new MRP4MEEntities()) { _bom = dbContext.bom_table.Find(bomForDB.bom_id); if (_bom != null) { //check for duplicate Item Number when new BOM if (isNewBOM) { throw new DbUpdateException(); } } else { //if BOM is null then it is new BOM _bom = new bom_table(); } DateTime dateValueEffFrom = DateTime.Parse(this.EffectiveFrom.ToString()); DateTime dateValueEffTo = DateTime.Parse(this.EffectiveThrough.ToString()); _bom.item_number = bomForDB.item_number; _bom.item_code = bomForDB.item_code; _bom.version = Int32.Parse(bomForDB.version); _bom.component = bomForDB.component; _bom.component_description = bomForDB.component_description; _bom.type = bomForDB.type; _bom.quantity_per = Convert.ToSingle(bomForDB.quantity_per); _bom.unit_of_measure = bomForDB.unit_of_measure; _bom.effective_from = DateTime.Parse(dateValueEffFrom.ToString("yyyy/MM/dd")); _bom.effective_through = DateTime.Parse(dateValueEffTo.ToString("yyyy/MM/dd")); _bom.engineering_change_order = this.EngineeringChangeOrder == "Yes"? true : false; _bom.cost_of_unit_of_measure = Convert.ToDecimal(bomForDB.cost_of_unit_of_measure); _bom.bom_cost = Convert.ToDecimal(bomForDB.bom_cost); _bom.scrap_percent = Convert.ToDecimal(bomForDB.scrap_percent); _bom.scrap_cost = Convert.ToDecimal(bomForDB.scrap_cost); _bom.extended_cost = Convert.ToDecimal(bomForDB.extended_cost); if (isNewBOM) { dbContext.bom_table.Add(_bom); dbContext.SaveChanges(); dbContext.Entry(_bom).State = EntityState.Detached; } else { dbContext.SaveChanges(); dbContext.Entry(_bom).State = EntityState.Modified; dbContext.Entry(_bom).State = EntityState.Detached; } } ClearForm(); MessageBox.Show("BOM successfully saved.", "MRP4ME"); } catch (DbUpdateException ex) { AddError(new ValidationError("BOM", Constraint_Mandatory, " Item Number already exist!")); NotifyPropertyChanged("ItemNumber"); Tracer.LogUserDefinedValidation("DbUpdateException. " + ex.Message); } catch (Exception ex) { MessageBox.Show("BOM not saved, please verify data and save again." + ex.Message, "MRP4ME"); } }