示例#1
0
        public JsonResult Detail(SelectedRemovalId criteria)
        {
            RemovalInfo model = new RemovalInfo();

            try
            {
                model.RemovalNote = _tubeSampleService.GetRemovalInfo(criteria.RemovalId);
            }
            catch (BusinessException exception)
            {
                _logger.DebugFormat("BusinessException: {0}-{1}", exception.ErrorCode, exception.Message);
                model.ErrorCode        = exception.ErrorCode;
                model.ErrorDescription = exception.Message;
            }
            catch (Exception exception)
            {
                _logger.Error(string.Format("Iternal error {0}", exception));
                model.ErrorCode        = ErrorCode.InternalErrorException;
                model.ErrorDescription = CommonUtils.GetEnumDescription(ErrorCode.InternalErrorException);
            }

            return(Json(model));
        }
示例#2
0
 public RemovalInfo(int subRemoveCounts) { m_IfRemoved = new RemovalInfo[subRemoveCounts]; }
示例#3
0
 public void SetIfRemoved(int i, RemovalInfo info)
 {
   m_IfRemoved[i] = info;
   if (info.m_bCanRemove)
     m_bCanRemove = true;
   info.m_Parent = this;
 }
示例#4
0
 protected RemovalInfo RecursiveRemoveableChecks(Matrix m, bool bThoroughComparison)
 {
   if (m.Rank == m.Columns - 1)
   {
     Fraction[] vals = m.getVariableValues();
     bool AllPositive = true;
     for (int j = 0; j < vals.Length; j++)
       if (vals[j] < 0 && !m.m_CanGoNegative[j])
       {
         AllPositive = false;
         break;
       }
     if (AllPositive)
       return new RemovalInfo(true);
     else
       return new RemovalInfo(false);
   }
   else if (m.Rank < m.Columns - 1)
   {
     bool[] removeables = m.ColumnsRemoveable();
     RemovalInfo ret = new RemovalInfo(m.Columns - 1);
     for (int i = 0; i < removeables.Length; i++)
     {
       bool found = false;
       if (!removeables[i] || (!bThoroughComparison && found))
         ret.m_IfRemoved[i] = new RemovalInfo(false);
       else
       {
         Matrix OneColRemoved = m.RemoveColumn(i);
         ret.SetIfRemoved(i, RecursiveRemoveableChecks(OneColRemoved, bThoroughComparison));
       }
     }
     return ret;
   }
   else
     return new RemovalInfo(false);  //If we call this on a matrix with too high Rank, it's not solveable (And so nothing is removeable)
 }