Ejemplo n.º 1
0
        public IActionResult Create(Models.Operation operation)
        {
            operation.Result = Math.Pow(operation.First, operation.Second);

            _context.Operations.Add(operation);
            _context.SaveChanges();
            return(RedirectToAction("List"));
        }
Ejemplo n.º 2
0
 public IHttpActionResult Put(int id, [FromBody] Models.Operation modelOperation, string operation = null, string fvalue = null, string svalue = null)
 {
     if (modelOperation != null)
     {
         return(Content(HttpStatusCode.Created, _calculatorManager.dbManager.Update(modelOperation.OperationName, modelOperation.Fvalue, modelOperation.Svalue, id)));
     }
     else
     {
         return(Content(HttpStatusCode.Forbidden, _calculatorManager.dbManager.Update(operation, Double.Parse(fvalue), Double.Parse(svalue), id)));
     }
 }
Ejemplo n.º 3
0
 public IHttpActionResult Post(string operation, [FromBody] Models.Operation modelOperation, string fvalue = null, string svalue = null)
 {
     if (modelOperation != null)
     {
         return(Content(HttpStatusCode.Accepted, string.Format("Result:" + _calculatorManager.Operation(operation, modelOperation.Fvalue, modelOperation.Svalue))));
     }
     else
     {
         return(Content(HttpStatusCode.Gone, string.Format("Result:" + _calculatorManager.Operation(operation, Double.Parse(fvalue), Double.Parse(svalue)))));
     }
 }
Ejemplo n.º 4
0
 public Models.Operation GetOperation(int id, out string exception)
 {
     try
     {
         using (IDbConnection db = new SqlConnection(connectionString))
         {
             Models.Operation operation = db.Query <Models.Operation>(
                 @"SELECT OperationName, Fvalue, Svalue FROM Operations WHERE id = @id", new { id }).FirstOrDefault();
             exception = "Returnd  Data Done!";
             return(operation);
         }
     }
     catch (SqlException ex)
     {
         exception = ex.ToString();
         return(null);
         //how to return ex???
     }
 }
Ejemplo n.º 5
0
        /// <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();
        }