コード例 #1
0
        private void gridViewAssignableOps_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
        {
            GridView view = sender as GridView;

            if (view == null)
            {
                return;
            }
            int rowIndex = e.ListSourceRowIndex;
            int opID     = Convert.ToInt32(view.GetListSourceRowCellValue(rowIndex, "ID"));

            Models.OrderItemOperation op = dbContext.OrderItemOperations.Where(o => o.ID == opID).FirstOrDefault();

            List <Models.OrderItem> openOrderItems = dbContext.OrderItems.Where(o => o.IsComplete == false).ToList();

            Models.OrderItem orderItem = new Models.OrderItem();

            foreach (Models.OrderItem oi in openOrderItems)
            {
                if (oi.orderItemOps.Contains(op))
                {
                    orderItem = oi;
                }
            }

            Models.Order order = dbContext.Orders.Where(o => o.ID == orderItem.OrderID).FirstOrDefault();

            if (order != null)
            {
                e.Value = order.BatchName + " --- " + orderItem.ProductName;
            }
        }
コード例 #2
0
        public AddOperationCompleted(Models.User curUser, Models.OrderItemOperation op, Models.Part prt, RadanMaster.DAL.RadanMasterContext ctx)
        {
            InitializeComponent();
            currentUser = curUser;
            part        = prt;
            //dbContext = new RadanMaster.DAL.RadanMasterContext();
            dbContext = ctx;

            dbContext.Parts.Load();
            dbContext.Operations.Load();
            dbContext.OrderItemOperations.Load();
            dbContext.OperationPerformeds.Load();
            dbContext.OrderItemOperationPerformeds.Load();

            textEditUser.Text      = currentUser.UserName;
            textEditItemName.Text  = prt.FileName;
            textEditOperation.Text = op.operation.Name;

            List <Models.OrderItemOperation> assignableOps = new List <Models.OrderItemOperation>();

            assignableOps = dbContext.OrderItemOperations.Where(o => o.operationID == op.operationID).ToList();

            //assignableOps = dbContext.OrderItemOperations.ToList();
            gridControlAssignableOps.DataSource = null;
            gridControlAssignableOps.DataSource = assignableOps;
        }
コード例 #3
0
ファイル: OperationManager.cs プロジェクト: lornemartin/Radan
        /// <summary>
        /// record an operation completed
        /// </summary>
        /// <param name="qty"></param>
        /// <returns></returns>
        public void RecordOperationCompleted(int qty)
        {
            Models.OrderItemOperation orderItemOp = Globals.dbContext.OrderItemOperations.Where(o => o.ID == OrderItemOp.ID).FirstOrDefault();

            int qtyDone = qty;

            Models.OrderItemOperationPerformed itemOpPerformed = new Models.OrderItemOperationPerformed();

            Models.OperationPerformed opPerformed = new Models.OperationPerformed();
            opPerformed.qtyDone       = qtyDone;
            opPerformed.timePerformed = DateTime.Now;
            opPerformed.usr           = currentUser;
            opPerformed.OrderItemOperationsPerformed = new List <Models.OrderItemOperationPerformed>();

            int totalQtyLeftToDo = qtyDone;

            // assign operations to order items
            foreach (Models.OrderItemOperation associatedOrderItemOp in associatedOrderItemOps)
            {
                if (associatedOrderItemOp.qtyDone < associatedOrderItemOp.qtyRequired)
                {
                    int itemQtyLeftToDo = associatedOrderItemOp.qtyRequired - associatedOrderItemOp.qtyDone;
                    Models.OrderItemOperationPerformed orderItemOpPerformed = new Models.OrderItemOperationPerformed();
                    if (totalQtyLeftToDo <= itemQtyLeftToDo)
                    {
                        orderItemOpPerformed           = new Models.OrderItemOperationPerformed();
                        orderItemOpPerformed.qtyDone   = totalQtyLeftToDo;
                        associatedOrderItemOp.qtyDone += totalQtyLeftToDo;
                        associatedOrderItemOp.OrderItemOperationPerformeds.Add(orderItemOpPerformed);
                        opPerformed.OrderItemOperationsPerformed.Add(orderItemOpPerformed);
                        totalQtyLeftToDo -= totalQtyLeftToDo;
                        break;
                    }
                    else
                    {
                        orderItemOpPerformed          = new Models.OrderItemOperationPerformed();
                        orderItemOpPerformed.qtyDone  = itemQtyLeftToDo;
                        associatedOrderItemOp.qtyDone = associatedOrderItemOp.qtyRequired;
                        associatedOrderItemOp.OrderItemOperationPerformeds.Add(orderItemOpPerformed);
                        opPerformed.OrderItemOperationsPerformed.Add(orderItemOpPerformed);
                        totalQtyLeftToDo -= itemQtyLeftToDo;
                    }
                }
            }

            // if we've filled all the order items, we need to do something with the rest...
            if (totalQtyLeftToDo > 0)
            {
                Models.Operation overBatchOperation = new Models.Operation();
                overBatchOperation.Location = orderItemOp.operation.Location;
                overBatchOperation.Name     = orderItemOp.operation.Name;
                overBatchOperation.Part     = orderItemOp.operation.Part;
                Globals.dbContext.Operations.Add(overBatchOperation);

                Models.OrderItemOperation overBatchItemOperation = new Models.OrderItemOperation();
                overBatchItemOperation.operation   = overBatchOperation;
                overBatchItemOperation.orderItem   = null;
                overBatchItemOperation.qtyDone     = totalQtyLeftToDo;
                overBatchItemOperation.qtyRequired = 0;
                Globals.dbContext.OrderItemOperations.Add(overBatchItemOperation);

                Models.OrderItemOperationPerformed overBatchItemOperatonPerformed = new Models.OrderItemOperationPerformed();
                overBatchItemOperatonPerformed.orderItemOperation = overBatchItemOperation;
                overBatchItemOperatonPerformed.qtyDone            = totalQtyLeftToDo;
                overBatchItemOperatonPerformed.opPerformed        = opPerformed;
                Globals.dbContext.OrderItemOperationPerformeds.Add(overBatchItemOperatonPerformed);

                opPerformed.OrderItemOperationsPerformed.Add(overBatchItemOperatonPerformed);
                overBatchOperation.OrderItemOperations.Add(overBatchItemOperation);
            }

            Globals.dbContext.OperationPerformeds.Add(opPerformed);
            Globals.dbContext.SaveChanges();
        }
コード例 #4
0
ファイル: OperationManager.cs プロジェクト: lornemartin/Radan
        }                                                                           // a list of operations in associatedOrderItemOps that are not assigned to any batch item

        /// <summary>
        /// constructor
        /// </summary>
        /// <param name="orderItemOp"></param>
        /// <param name="curUser"></param>
        public OperationManager(Models.OrderItemOperation orderItemOp, Models.User curUser)
        {
            currentUser = curUser;
            OrderItemOp = orderItemOp;
            RefreshDataStructures();
        }
コード例 #5
0
ファイル: OperationManager.cs プロジェクト: lornemartin/Radan
 /// <summary>
 /// return all the orderItemOperationPerformeds linked to the orderItemOperation passed in
 /// </summary>
 /// <returns></returns>
 public List <Models.OrderItemOperationPerformed> GetAssociatedOrderItemOperationPerformeds(Models.OrderItemOperation orderItemOp)
 {
     return(Globals.dbContext.OrderItemOperationPerformeds.Where(op => op.orderItemOperation.ID == orderItemOp.ID).ToList());
 }