コード例 #1
0
        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";
                }
            }
        }
コード例 #2
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");
                }
            }
        }
コード例 #3
0
        /// <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");
        }
コード例 #4
0
        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");
        }
コード例 #5
0
        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");
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        /// <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");
                }
            }
        }
コード例 #8
0
        /// <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");
            }
        }
コード例 #9
0
        /// <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");
            }
        }