Ejemplo n.º 1
1
        public void OnButtonPressed(IRibbonControl control)
        {
            //MessageBox.Show("Hello from control " + control.Id);

            string str=FirstAddIn.MyGetHostname();

            var UIHandler = new Action<object>((o) =>
            {
                ctrl.ShowDialog();
            });

             //if (waitSet) //avoid double submission
             //{

             //    ThreadPool.QueueUserWorkItem(new WaitCallback(UIHandler));
             //    return;
             //}
             //else
             //{
             //    waitSet = true;
             //}

            //var wait = new ManualResetEvent(false);

            var handler = new EventHandler((o, e) =>
            {
                cr = (DataResponse)o;
                result = cr.data;
                //waitSet = false;
                //wait.Set();

                ExcelAsyncUtil.QueueAsMacro(() =>
                {
                    //ExcelReference cell = (ExcelReference)XlCall.Excel(XlCall.xlfActiveCell);
                    ExcelReference cell = refCell;
                    int testRowSize = cr.row;
                    int testColSize = cr.col;

                    var activeCell = new ExcelReference(cell.RowFirst, testRowSize + cell.RowFirst - 1, cell.ColumnLast, cell.ColumnLast + testColSize - 1);

                    activeCell.SetValue(result);
                    XlCall.Excel(XlCall.xlcSelect, activeCell);

                });

            });

            if (this.ctrl.getRunState() == RunState.IDLE)
            {
                ExcelAsyncUtil.QueueAsMacro(() =>
                {
                    refCell = (ExcelReference)XlCall.Excel(XlCall.xlfActiveCell);
                });
                ctrl.registerCallback(handler);
            }

            ThreadPool.QueueUserWorkItem(new WaitCallback(UIHandler));

            ////For simplicity, we implement the wait here
            //wait.WaitOne();
            //if (result == null)
            //{
            //    return;
            //}

            //ExcelAsyncUtil.QueueAsMacro(() =>
            //{
            //    //ExcelReference cell = (ExcelReference)XlCall.Excel(XlCall.xlfActiveCell);
            //    ExcelReference cell = refCell;
            //    int testRowSize = cr.row;
            //    int testColSize = cr.col;

            //    var activeCell = new ExcelReference(cell.RowFirst,testRowSize+cell.RowFirst-1, cell.ColumnLast ,cell.ColumnLast + testColSize-1);

            //    activeCell.SetValue(result);
            //    XlCall.Excel(XlCall.xlcSelect, activeCell);

            //});
        }
Ejemplo n.º 2
0
 public NavisionDBTable(NavisionDBConnection Connection, NavisionDBUser User)
 {
     if (User == null)
     {
         throw new Exception("Error: User must be defined");
     }
     this.conexion = Connection;
     if (!this.ValidarUsuario(User))
     {
         throw new Exception("Error: User is a Nonvalid user");
     }
     this.Tabla = -1;
     this.TablaStr = "";
     this.usuario = User;
     this.Filtros = new TableFilters();
     this.NoColumnas = false;
     this.Reves = false;
     this.Claves = null;
     this.ClaveNavisionFormat = null;
     this.ClavesStr = null;
     this.Columnas = null;
     this.ColumnaStr = null;
     this.inserciones = null;
     this.actualizaciones = null;
     this.nombreColumnas = null;
     this.numeroColumnas = null;
     this.numeroCampos = 0;
     this.soloPrimeraFila = false;
 }
            // Called on the main thread in a macro context
            public void Refresh()
            {
                if (_regInfoNotAvailable)
                    return;

                object regInfoResponse = ExcelIntegration.GetRegistrationInfo(_xllPath, _version);

                if (regInfoResponse.Equals(ExcelError.ExcelErrorNA))
                {
                    _regInfoNotAvailable = true;
                    Logger.Provider.Info($"XllRegistrationInfo not available for {_xllPath}");
                    return;
                }

                if (regInfoResponse == null || regInfoResponse.Equals(ExcelError.ExcelErrorNum))
                {
                    // no update - versions match
                    return;
                }

                _regInfo = regInfoResponse as object[,];
                if (_regInfo != null)
                {
                    Debug.Assert((string)_regInfo[0, 0] == _xllPath);
                    _version = (double)_regInfo[0, 1];
                }
            }
        public void SetImageArray(object imageArray, int imageWidth, int imageHeight, SensorType sensorType)
        {
            this.imageArray = imageArray;
            this.imageWidth = imageWidth;
            this.imageHeight = imageHeight;
            this.sensorType = sensorType;

            objPixelArray = null;
            intPixelArray = null;
            intColourPixelArray = null;
            objColourPixelArray = null;

            if (sensorType == SensorType.Monochrome)
            {
                if (imageArray is int[,])
                {
                    intPixelArray = (int[,])imageArray;
                    isColumnMajor = intPixelArray.GetLength(0) == imageWidth;
                    isRowMajor = intPixelArray.GetLength(0) == imageHeight;
                    return;
                }
                else if (imageArray is object[,])
                {
                    objPixelArray = (object[,])imageArray;
                    isColumnMajor = objPixelArray.GetLength(0) == imageWidth;
                    isRowMajor = objPixelArray.GetLength(0) == imageHeight;
                    return;
                }
            }
            else
            {
                // Color sensor type is represented as 3-dimentional array that can be either: [3, height, width], [width, height, 3]
                if (imageArray is int[, ,])
                {
                    intColourPixelArray = (int[, ,])imageArray;
                    isColumnMajor = intColourPixelArray.GetLength(0) == imageWidth;
                    isRowMajor = intColourPixelArray.GetLength(0) == 3;
                    return;
                }
                else if (imageArray is object[, ,])
                {
                    objColourPixelArray = (object[, ,])imageArray;
                    isColumnMajor = objColourPixelArray.GetLength(0) == imageWidth;
                    isRowMajor = objColourPixelArray.GetLength(0) == 3;
                    return;
                }
            }

            throw new ArgumentException();
        }
Ejemplo n.º 5
0
 public void Add(string datum)
 {
     if (_i == 0)
     {
         // initialize _input_array
         Int32[] lowerBounds = { 1, 1 };
         Int32[] lengths = { _rows, _cols };
         _input_array = (object[,])Array.CreateInstance(typeof(object), lengths, lowerBounds);
     }
     var pair = OneDToTwoD(_i);
     var col_idx = pair.Item1;
     var row_idx = pair.Item2;
     _input_array[col_idx, row_idx] = datum;
     _i++;
 }
Ejemplo n.º 6
0
        int TitleRow = 0; // set by SetTitleRow. all titles need to be at the same row. 0= not set yet.

        #endregion Fields

        #region Constructors

        /// <summary>
        /// Set TitleRow, ObjArray and AsnTitleDict, AsnErrorList is used to track error.
        /// </summary>
        /// <param name="asnFileName">asn workbook name, pass back to base</param>        
        public AsnExcelIn(string asnFileName)
            : base(asnFileName)
        {
            string AsnWs = "ASN";
            ObjArray = Office.ReadExcel(this.AsnFileName, AsnWs);
            if (ObjArray == null) {
                string _errorMsg = string.Format("Worksheet \"{0}\" does NOT exist in {1}", AsnWs, this.AsnFileName);
                AddAsnError(0, 0, _errorMsg);
                return;
            }
            SetTitleRow();
            if (this.HasError) return; // SetTitleRow() returns error, so return.
            SetTitleCol();
            if (this.HasError) return; // SetTitleCol() returns error, so return.
            FillAsnList();
        }
Ejemplo n.º 7
0
        public VideoFrame(byte[] pixelBytes, int width, int height, int bpp, int frameNo, bool variant, double ccdTemp)
        {
            m_FrameNo = frameNo;
            m_Header = new ImageHeader(m_FrameNo, pixelBytes, bpp);

            if (variant)
            {
                pixelsVariant = new object[height, width];
                pixels = null;
            }
            else
            {
                pixels = new int[height, width];
                pixelsVariant = null;
            }

            m_PreviewBitmap = new Bitmap(width, height, PixelFormat.Format24bppRgb);
            ImageUtils.ProduceBitmap(pixelBytes, width, height, bpp, m_PreviewBitmap);

            if (m_Header.Latitude != 0 && m_Header.Longitude != 0)
            {
                Longitude = m_Header.ParseLongitude;
                Latitude = m_Header.ParseLatitude;

                ImageInfo = string.Format("LAT:{0};LONG:{1};", AstroConvert.ToStringValue(Latitude, "+DD°MM'SS.T\""), AstroConvert.ToStringValue(Longitude, "+DD°MM'SS.T\""));
            }
            else
            {
                Longitude = double.NaN;
                Latitude = double.NaN;
            }

            ImageInfo += string.Format("GPS:{0};CLKFRQ:{1};CCDTMP:{2}", m_Header.GPSStatus, m_Header.MaxClock, ccdTemp.ToString("0.0", CultureInfo.InvariantCulture));

            if (m_LoggedFrameNo != frameNo)
            {
                int currExpMS = (int) Math.Round((m_Header.EndTime - m_Header.StartTime).TotalMilliseconds);
                int msDiff = Math.Abs(m_LastExpMS - currExpMS);
                int msGap = (int)Math.Round((m_Header.StartTime - m_LastEndTime).TotalMilliseconds);
                string flags = msDiff > 5 ? ";LARGE-DIFF" : "";
                if (msGap > 5) flags += ";LARGE-GAP";
                Trace.WriteLine(string.Format("QHY {0} |{1}| GPSFlag:{2};MaxClock:{3};EXPD:{4}ms;GAP:{5}{6}", m_Header.StartTime.ToString("yyyy-MM-dd HH:mm:ss.fff"), string.Join(" ", pixelBytes.Take(44).Select(x => Convert.ToString(x, 16).PadLeft(2, '0'))), m_Header.GPSStatus, m_Header.MaxClock, msDiff, msGap, flags));
                m_LoggedFrameNo = frameNo;
                m_LastExpMS = currExpMS;
                m_LastEndTime = m_Header.EndTime;
            }
        }
Ejemplo n.º 8
0
		static IdentMap()
		{
			object[,] objArray = new object[6, 2];
			objArray[0, 0] = IdentityType.SamAccountName;
			objArray[0, 1] = "ms-nt4account";
			objArray[1, 0] = IdentityType.Name;
			objArray[1, 1] = "ms-name";
			objArray[2, 0] = IdentityType.UserPrincipalName;
			objArray[2, 1] = "ms-upn";
			objArray[3, 0] = IdentityType.DistinguishedName;
			objArray[3, 1] = "ldap-dn";
			objArray[4, 0] = IdentityType.Sid;
			objArray[4, 1] = "ms-sid";
			objArray[5, 0] = IdentityType.Guid;
			objArray[5, 1] = "ms-guid";
			IdentMap.StringMap = objArray;
		}
Ejemplo n.º 9
0
 public Combinaison(List<string[]> valuesList)
 {
     int nbRow = 1;
     int nbCol = valuesList.Count;
     foreach (string[] values in valuesList)
         nbRow *= values.Length;
     _resultArray = ExcelArray<object>.Create(nbRow, nbCol);
     for (int c = 0, ci = nbCol, rpt = 1; c < nbCol; c++, ci--) {
         var values = valuesList[c];
         var len = values.Length;
         for (int ri = 0; ri < nbRow; ) {
             for (int v = 0; v < len; v++) {
                 for (int j = 0; j < rpt; j++)
                     _resultArray[++ri, ci] = values[v];
             }
         }
         rpt *= len;
     }
 }
            // Called in a macro context
            public void Refresh()
            {
                var app = (Application)ExcelDnaUtil.Application;
                var wb = app.Workbooks[_name];
                _path = wb.Path;

                try
                {
                    var ws = wb.Sheets[intelliSenseWorksheetName];

                    var info = ws.UsedRange.Value;
                    _regInfo = info as object[,];
                }
                catch (Exception ex)
                {
                    // We expect this if there is no sheet.
                    Debug.Print("WorkbookIntelliSenseProvider.Refresh Error : " + ex.Message);
                    _regInfo = null;
                }
                _lastUpdate = DateTime.Now;
            }
Ejemplo n.º 11
0
 public bool Read()
 {
     if (_usedData == null)
     {
         _usedData = _usedRange.Value2;
         _rowCount = _usedRange.Rows.Count;
     }
     if (_rowIndex > _rowCount)
     {
         return false;
     }
     for (int i = 1; i <= _array.Length; i++)
     {
         //object value = ((Range) _usedRange.Cells[_rowIndex, i]).Value2;
         object value = _usedData[_rowIndex, i];
         string svalue = value.SafeToString();
         _values[i - 1] = svalue;
     }
     _rowIndex++;
     return true;
 }
Ejemplo n.º 12
0
        public Census(string tbnme)
        {
            this.oSheet = (Worksheet) AxCalcEngine.shts[tbnme];
            this.oSheet.Activate();
            objArray = ExcelUtility.PullInExcelData(4, 1, oSheet);

            this.colNum = objArray.GetUpperBound(1);
            this.rowNum = objArray.GetUpperBound(0);


            SetTotalColumns();


            for (int i = 1; i <= this.rowNum; i++)
            {
                if (EndAddingRows(i) == true)
                {
                    break;
                }
                AssignFieldInfo(i);
            }
        }
Ejemplo n.º 13
0
 public Combinaison(string[] list, int k, bool withPermutation, bool withRepetition, bool withLowerGroups)
 {
     _dataset = list;
     int n = list.Length;
     int nbRow = 0;
     for (int kk = withLowerGroups ? 1 : k; kk <= k; kk++)
         nbRow += CombinaisonCount(n, kk, withPermutation, withRepetition);
     _resultArray = ExcelArray<object>.Create(nbRow, k);
     _row = 0;
     for (int kk = withLowerGroups ? 1 : k; kk <= k; kk++) {
         if (withPermutation) {
             if (withRepetition)
                 PermuteRepeat(n, kk, 0);
             else
                 Permute(n, kk, 0);
         } else {
             if (withRepetition)
                 CombinateRepeat(n, kk, 0);
             else
                 Combinate(n, kk, 0);
         }
     }
 }
Ejemplo n.º 14
0
		public override void Open()
		{
			if( this.queryID != 0 )
				return;

			lock(this)
			{
				this.queryID = srv_Prepare();
				srv_OpenSQL();
				InternalInitFieldDefs();
				First();
				this.opened     = true;
				this.values     = null;
				this.lastRowNo  = -1;
				this.firstRowNo = -1;
			}
		}
Ejemplo n.º 15
0
		static SAMStoreCtx()
		{
			SAMStoreCtx.ObjectMask objectMask;
			SAMStoreCtx.ObjectMask objectMask1 = SAMStoreCtx.ObjectMask.None;
			object[,] fromWinNTConverterDelegate = new object[53, 5];
			fromWinNTConverterDelegate[0, 0] = "Principal.DisplayName";
			fromWinNTConverterDelegate[0, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[0, 2] = "FullName";
			fromWinNTConverterDelegate[0, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.StringFromWinNTConverter);
			fromWinNTConverterDelegate[0, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.StringToWinNTConverter);
			fromWinNTConverterDelegate[1, 0] = "Principal.Description";
			fromWinNTConverterDelegate[1, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[1, 2] = "Description";
			fromWinNTConverterDelegate[1, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.StringFromWinNTConverter);
			fromWinNTConverterDelegate[1, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.StringToWinNTConverter);
			fromWinNTConverterDelegate[2, 0] = "Principal.Description";
			fromWinNTConverterDelegate[2, 1] = typeof(GroupPrincipal);
			fromWinNTConverterDelegate[2, 2] = "Description";
			fromWinNTConverterDelegate[2, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.StringFromWinNTConverter);
			fromWinNTConverterDelegate[2, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.StringToWinNTConverter);
			fromWinNTConverterDelegate[3, 0] = "Principal.SamAccountName";
			fromWinNTConverterDelegate[3, 1] = typeof(Principal);
			fromWinNTConverterDelegate[3, 2] = "Name";
			fromWinNTConverterDelegate[3, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.SamAccountNameFromWinNTConverter);
			fromWinNTConverterDelegate[4, 0] = "Principal.Sid";
			fromWinNTConverterDelegate[4, 1] = typeof(Principal);
			fromWinNTConverterDelegate[4, 2] = "objectSid";
			fromWinNTConverterDelegate[4, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.SidFromWinNTConverter);
			fromWinNTConverterDelegate[5, 0] = "Principal.DistinguishedName";
			fromWinNTConverterDelegate[5, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[5, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[6, 0] = "Principal.Guid";
			fromWinNTConverterDelegate[6, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[6, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[7, 0] = "Principal.UserPrincipalName";
			fromWinNTConverterDelegate[7, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[7, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[8, 0] = "Principal.Name";
			fromWinNTConverterDelegate[8, 1] = typeof(Principal);
			fromWinNTConverterDelegate[8, 2] = "Name";
			fromWinNTConverterDelegate[8, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.SamAccountNameFromWinNTConverter);
			fromWinNTConverterDelegate[9, 0] = "AuthenticablePrincipal.Enabled";
			fromWinNTConverterDelegate[9, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[9, 2] = "UserFlags";
			fromWinNTConverterDelegate[9, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.UserFlagsFromWinNTConverter);
			fromWinNTConverterDelegate[9, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.UserFlagsToWinNTConverter);
			fromWinNTConverterDelegate[10, 0] = "AuthenticablePrincipal.Certificates";
			fromWinNTConverterDelegate[10, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[10, 2] = "*******";
			fromWinNTConverterDelegate[10, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.CertFromWinNTConverter);
			fromWinNTConverterDelegate[10, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.CertToWinNT);
			fromWinNTConverterDelegate[11, 0] = "GroupPrincipal.IsSecurityGroup";
			fromWinNTConverterDelegate[11, 1] = typeof(GroupPrincipal);
			fromWinNTConverterDelegate[11, 2] = "*******";
			fromWinNTConverterDelegate[11, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.GroupTypeFromWinNTConverter);
			fromWinNTConverterDelegate[11, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.GroupTypeToWinNTConverter);
			fromWinNTConverterDelegate[12, 0] = "GroupPrincipal.GroupScope";
			fromWinNTConverterDelegate[12, 1] = typeof(GroupPrincipal);
			fromWinNTConverterDelegate[12, 2] = "groupType";
			fromWinNTConverterDelegate[12, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.GroupTypeFromWinNTConverter);
			fromWinNTConverterDelegate[12, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.GroupTypeToWinNTConverter);
			fromWinNTConverterDelegate[13, 0] = "UserPrincipal.EmailAddress";
			fromWinNTConverterDelegate[13, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[13, 2] = "*******";
			fromWinNTConverterDelegate[13, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.EmailFromWinNTConverter);
			fromWinNTConverterDelegate[13, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.EmailToWinNTConverter);
			fromWinNTConverterDelegate[14, 0] = "AuthenticablePrincipal.AccountInfo.LastLogon";
			fromWinNTConverterDelegate[14, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[14, 2] = "LastLogin";
			fromWinNTConverterDelegate[14, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.DateFromWinNTConverter);
			fromWinNTConverterDelegate[15, 0] = "AuthenticablePrincipal.AccountInfo.PermittedWorkstations";
			fromWinNTConverterDelegate[15, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[15, 2] = "LoginWorkstations";
			fromWinNTConverterDelegate[15, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.MultiStringFromWinNTConverter);
			fromWinNTConverterDelegate[15, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.MultiStringToWinNTConverter);
			fromWinNTConverterDelegate[16, 0] = "AuthenticablePrincipal.AccountInfo.PermittedLogonTimes";
			fromWinNTConverterDelegate[16, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[16, 2] = "LoginHours";
			fromWinNTConverterDelegate[16, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.BinaryFromWinNTConverter);
			fromWinNTConverterDelegate[16, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.LogonHoursToWinNTConverter);
			fromWinNTConverterDelegate[17, 0] = "AuthenticablePrincipal.AccountInfo.AccountExpirationDate";
			fromWinNTConverterDelegate[17, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[17, 2] = "AccountExpirationDate";
			fromWinNTConverterDelegate[17, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.DateFromWinNTConverter);
			fromWinNTConverterDelegate[17, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.AcctExpirDateToNTConverter);
			fromWinNTConverterDelegate[18, 0] = "AuthenticablePrincipal.AccountInfo.SmartcardLogonRequired";
			fromWinNTConverterDelegate[18, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[18, 2] = "UserFlags";
			fromWinNTConverterDelegate[18, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.UserFlagsFromWinNTConverter);
			fromWinNTConverterDelegate[18, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.UserFlagsToWinNTConverter);
			fromWinNTConverterDelegate[19, 0] = "AuthenticablePrincipal.AccountInfo.DelegationPermitted";
			fromWinNTConverterDelegate[19, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[19, 2] = "UserFlags";
			fromWinNTConverterDelegate[19, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.UserFlagsFromWinNTConverter);
			fromWinNTConverterDelegate[19, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.UserFlagsToWinNTConverter);
			fromWinNTConverterDelegate[20, 0] = "AuthenticablePrincipal.AccountInfo.BadLogonCount";
			fromWinNTConverterDelegate[20, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[20, 2] = "BadPasswordAttempts";
			fromWinNTConverterDelegate[20, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.IntFromWinNTConverter);
			fromWinNTConverterDelegate[21, 0] = "AuthenticablePrincipal.AccountInfo.HomeDirectory";
			fromWinNTConverterDelegate[21, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[21, 2] = "HomeDirectory";
			fromWinNTConverterDelegate[21, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.StringFromWinNTConverter);
			fromWinNTConverterDelegate[21, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.StringToWinNTConverter);
			fromWinNTConverterDelegate[22, 0] = "AuthenticablePrincipal.AccountInfo.HomeDrive";
			fromWinNTConverterDelegate[22, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[22, 2] = "HomeDirDrive";
			fromWinNTConverterDelegate[22, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.StringFromWinNTConverter);
			fromWinNTConverterDelegate[22, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.StringToWinNTConverter);
			fromWinNTConverterDelegate[23, 0] = "AuthenticablePrincipal.AccountInfo.ScriptPath";
			fromWinNTConverterDelegate[23, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[23, 2] = "LoginScript";
			fromWinNTConverterDelegate[23, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.StringFromWinNTConverter);
			fromWinNTConverterDelegate[23, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.StringToWinNTConverter);
			fromWinNTConverterDelegate[24, 0] = "AuthenticablePrincipal.PasswordInfo.LastPasswordSet";
			fromWinNTConverterDelegate[24, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[24, 2] = "PasswordAge";
			fromWinNTConverterDelegate[24, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.ElapsedTimeFromWinNTConverter);
			fromWinNTConverterDelegate[25, 0] = "AuthenticablePrincipal.PasswordInfo.LastBadPasswordAttempt";
			fromWinNTConverterDelegate[25, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[25, 2] = "*******";
			fromWinNTConverterDelegate[25, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.LastBadPwdAttemptFromWinNTConverter);
			fromWinNTConverterDelegate[26, 0] = "AuthenticablePrincipal.PasswordInfo.PasswordNotRequired";
			fromWinNTConverterDelegate[26, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[26, 2] = "UserFlags";
			fromWinNTConverterDelegate[26, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.UserFlagsFromWinNTConverter);
			fromWinNTConverterDelegate[26, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.UserFlagsToWinNTConverter);
			fromWinNTConverterDelegate[27, 0] = "AuthenticablePrincipal.PasswordInfo.PasswordNeverExpires";
			fromWinNTConverterDelegate[27, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[27, 2] = "UserFlags";
			fromWinNTConverterDelegate[27, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.UserFlagsFromWinNTConverter);
			fromWinNTConverterDelegate[27, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.UserFlagsToWinNTConverter);
			fromWinNTConverterDelegate[28, 0] = "AuthenticablePrincipal.PasswordInfo.UserCannotChangePassword";
			fromWinNTConverterDelegate[28, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[28, 2] = "UserFlags";
			fromWinNTConverterDelegate[28, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.UserFlagsFromWinNTConverter);
			fromWinNTConverterDelegate[28, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.UserFlagsToWinNTConverter);
			fromWinNTConverterDelegate[29, 0] = "AuthenticablePrincipal.PasswordInfo.AllowReversiblePasswordEncryption";
			fromWinNTConverterDelegate[29, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[29, 2] = "UserFlags";
			fromWinNTConverterDelegate[29, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.UserFlagsFromWinNTConverter);
			fromWinNTConverterDelegate[29, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.UserFlagsToWinNTConverter);
			fromWinNTConverterDelegate[30, 0] = "UserPrincipal.GivenName";
			fromWinNTConverterDelegate[30, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[30, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[31, 0] = "UserPrincipal.MiddleName";
			fromWinNTConverterDelegate[31, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[31, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[32, 0] = "UserPrincipal.Surname";
			fromWinNTConverterDelegate[32, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[32, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[33, 0] = "UserPrincipal.VoiceTelephoneNumber";
			fromWinNTConverterDelegate[33, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[33, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[34, 0] = "UserPrincipal.EmployeeId";
			fromWinNTConverterDelegate[34, 1] = typeof(UserPrincipal);
			fromWinNTConverterDelegate[34, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[35, 0] = "Principal.DisplayName";
			fromWinNTConverterDelegate[35, 1] = typeof(GroupPrincipal);
			fromWinNTConverterDelegate[35, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[36, 0] = "Principal.DisplayName";
			fromWinNTConverterDelegate[36, 1] = typeof(ComputerPrincipal);
			fromWinNTConverterDelegate[36, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[37, 0] = "Principal.Description";
			fromWinNTConverterDelegate[37, 1] = typeof(ComputerPrincipal);
			fromWinNTConverterDelegate[37, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[38, 0] = "AuthenticablePrincipal.Enabled";
			fromWinNTConverterDelegate[38, 1] = typeof(ComputerPrincipal);
			fromWinNTConverterDelegate[38, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[39, 0] = "AuthenticablePrincipal.Certificates";
			fromWinNTConverterDelegate[39, 1] = typeof(ComputerPrincipal);
			fromWinNTConverterDelegate[39, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[40, 0] = "ComputerPrincipal.ServicePrincipalNames";
			fromWinNTConverterDelegate[40, 1] = typeof(ComputerPrincipal);
			fromWinNTConverterDelegate[40, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[41, 0] = "AuthenticablePrincipal.AccountInfo.PermittedWorkstations";
			fromWinNTConverterDelegate[41, 1] = typeof(ComputerPrincipal);
			fromWinNTConverterDelegate[41, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[42, 0] = "AuthenticablePrincipal.AccountInfo.PermittedLogonTimes";
			fromWinNTConverterDelegate[42, 1] = typeof(ComputerPrincipal);
			fromWinNTConverterDelegate[42, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[43, 0] = "AuthenticablePrincipal.AccountInfo.AccountExpirationDate";
			fromWinNTConverterDelegate[43, 1] = typeof(ComputerPrincipal);
			fromWinNTConverterDelegate[43, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[44, 0] = "AuthenticablePrincipal.AccountInfo.SmartcardLogonRequired";
			fromWinNTConverterDelegate[44, 1] = typeof(ComputerPrincipal);
			fromWinNTConverterDelegate[44, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[45, 0] = "AuthenticablePrincipal.AccountInfo.DelegationPermitted";
			fromWinNTConverterDelegate[45, 1] = typeof(ComputerPrincipal);
			fromWinNTConverterDelegate[45, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[46, 0] = "AuthenticablePrincipal.AccountInfo.HomeDirectory";
			fromWinNTConverterDelegate[46, 1] = typeof(ComputerPrincipal);
			fromWinNTConverterDelegate[46, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[47, 0] = "AuthenticablePrincipal.AccountInfo.HomeDrive";
			fromWinNTConverterDelegate[47, 1] = typeof(ComputerPrincipal);
			fromWinNTConverterDelegate[47, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[48, 0] = "AuthenticablePrincipal.AccountInfo.ScriptPath";
			fromWinNTConverterDelegate[48, 1] = typeof(ComputerPrincipal);
			fromWinNTConverterDelegate[48, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[49, 0] = "AuthenticablePrincipal.PasswordInfo.PasswordNotRequired";
			fromWinNTConverterDelegate[49, 1] = typeof(ComputerPrincipal);
			fromWinNTConverterDelegate[49, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[50, 0] = "AuthenticablePrincipal.PasswordInfo.PasswordNeverExpires";
			fromWinNTConverterDelegate[50, 1] = typeof(ComputerPrincipal);
			fromWinNTConverterDelegate[50, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[51, 0] = "AuthenticablePrincipal.PasswordInfo.UserCannotChangePassword";
			fromWinNTConverterDelegate[51, 1] = typeof(ComputerPrincipal);
			fromWinNTConverterDelegate[51, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			fromWinNTConverterDelegate[52, 0] = "AuthenticablePrincipal.PasswordInfo.AllowReversiblePasswordEncryption";
			fromWinNTConverterDelegate[52, 1] = typeof(ComputerPrincipal);
			fromWinNTConverterDelegate[52, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter);
			SAMStoreCtx.propertyMappingTableRaw = fromWinNTConverterDelegate;
			SAMStoreCtx.userPropertyMappingTableByProperty = null;
			SAMStoreCtx.userPropertyMappingTableByWinNT = null;
			SAMStoreCtx.groupPropertyMappingTableByProperty = null;
			SAMStoreCtx.groupPropertyMappingTableByWinNT = null;
			SAMStoreCtx.computerPropertyMappingTableByProperty = null;
			SAMStoreCtx.computerPropertyMappingTableByWinNT = null;
			SAMStoreCtx.ValidPropertyMap = null;
			SAMStoreCtx.MaskMap = null;
			SAMStoreCtx.userPropertyMappingTableByProperty = new Hashtable();
			SAMStoreCtx.userPropertyMappingTableByWinNT = new Hashtable();
			SAMStoreCtx.groupPropertyMappingTableByProperty = new Hashtable();
			SAMStoreCtx.groupPropertyMappingTableByWinNT = new Hashtable();
			SAMStoreCtx.computerPropertyMappingTableByProperty = new Hashtable();
			SAMStoreCtx.computerPropertyMappingTableByWinNT = new Hashtable();
			SAMStoreCtx.ValidPropertyMap = new Dictionary<string, SAMStoreCtx.ObjectMask>();
			SAMStoreCtx.MaskMap = new Dictionary<Type, SAMStoreCtx.ObjectMask>();
			SAMStoreCtx.MaskMap.Add(typeof(UserPrincipal), SAMStoreCtx.ObjectMask.User);
			SAMStoreCtx.MaskMap.Add(typeof(ComputerPrincipal), SAMStoreCtx.ObjectMask.Computer);
			SAMStoreCtx.MaskMap.Add(typeof(GroupPrincipal), SAMStoreCtx.ObjectMask.Group);
			SAMStoreCtx.MaskMap.Add(typeof(Principal), SAMStoreCtx.ObjectMask.Principal);
			for (int i = 0; i < SAMStoreCtx.propertyMappingTableRaw.GetLength(0); i++)
			{
				string arrayLists = SAMStoreCtx.propertyMappingTableRaw[i, 0] as string;
				Type type = SAMStoreCtx.propertyMappingTableRaw[i, 1] as Type;
				string str = SAMStoreCtx.propertyMappingTableRaw[i, 2] as string;
				SAMStoreCtx.FromWinNTConverterDelegate fromWinNTConverterDelegate1 = SAMStoreCtx.propertyMappingTableRaw[i, 3] as SAMStoreCtx.FromWinNTConverterDelegate;
				SAMStoreCtx.ToWinNTConverterDelegate toWinNTConverterDelegate = SAMStoreCtx.propertyMappingTableRaw[i, 4] as SAMStoreCtx.ToWinNTConverterDelegate;
				SAMStoreCtx.PropertyMappingTableEntry propertyMappingTableEntry = new SAMStoreCtx.PropertyMappingTableEntry();
				propertyMappingTableEntry.propertyName = arrayLists;
				propertyMappingTableEntry.suggestedWinNTPropertyName = str;
				propertyMappingTableEntry.winNTToPapiConverter = fromWinNTConverterDelegate1;
				propertyMappingTableEntry.papiToWinNTConverter = toWinNTConverterDelegate;
				List<Hashtable> hashtables = new List<Hashtable>();
				List<Hashtable> hashtables1 = new List<Hashtable>();
				if (type != typeof(UserPrincipal))
				{
					if (type != typeof(ComputerPrincipal))
					{
						if (type != typeof(GroupPrincipal))
						{
							hashtables.Add(SAMStoreCtx.userPropertyMappingTableByProperty);
							hashtables.Add(SAMStoreCtx.computerPropertyMappingTableByProperty);
							hashtables.Add(SAMStoreCtx.groupPropertyMappingTableByProperty);
							hashtables1.Add(SAMStoreCtx.userPropertyMappingTableByWinNT);
							hashtables1.Add(SAMStoreCtx.computerPropertyMappingTableByWinNT);
							hashtables1.Add(SAMStoreCtx.groupPropertyMappingTableByWinNT);
							objectMask = SAMStoreCtx.ObjectMask.Principal;
						}
						else
						{
							hashtables.Add(SAMStoreCtx.groupPropertyMappingTableByProperty);
							hashtables1.Add(SAMStoreCtx.groupPropertyMappingTableByWinNT);
							objectMask = SAMStoreCtx.ObjectMask.Group;
						}
					}
					else
					{
						hashtables.Add(SAMStoreCtx.computerPropertyMappingTableByProperty);
						hashtables1.Add(SAMStoreCtx.computerPropertyMappingTableByWinNT);
						objectMask = SAMStoreCtx.ObjectMask.Computer;
					}
				}
				else
				{
					hashtables.Add(SAMStoreCtx.userPropertyMappingTableByProperty);
					hashtables1.Add(SAMStoreCtx.userPropertyMappingTableByWinNT);
					objectMask = SAMStoreCtx.ObjectMask.User;
				}
				if (str == null || str == "*******")
				{
					objectMask = SAMStoreCtx.ObjectMask.None;
				}
				if (!SAMStoreCtx.ValidPropertyMap.TryGetValue(arrayLists, out objectMask1))
				{
					SAMStoreCtx.ValidPropertyMap.Add(arrayLists, objectMask);
				}
				else
				{
					SAMStoreCtx.ValidPropertyMap[arrayLists] = objectMask1 | objectMask;
				}
				foreach (Hashtable hashtable in hashtables)
				{
					if (hashtable[arrayLists] == null)
					{
						hashtable[arrayLists] = new ArrayList();
					}
					((ArrayList)hashtable[arrayLists]).Add(propertyMappingTableEntry);
				}
				if (fromWinNTConverterDelegate1 != null)
				{
					string lower = str.ToLower(CultureInfo.InvariantCulture);
					foreach (Hashtable hashtable1 in hashtables1)
					{
						if (hashtable1[lower] == null)
						{
							hashtable1[lower] = new ArrayList();
						}
						((ArrayList)hashtable1[lower]).Add(propertyMappingTableEntry);
					}
				}
			}
		}
Ejemplo n.º 16
0
        public static void Main(string[] args)
        {
            emergency = new string[3] {
                "Fire! Evacuation", "Bomb! Evacuation", "Gas! Evacuation"
            };

            DateTime arrival1   = DateTime.Now.Subtract(new TimeSpan(2, 0, 0));
            DateTime depurture1 = arrival1.AddHours(2);

            DateTime arrival2   = DateTime.Now.AddHours(3);
            DateTime depurture2 = arrival2.AddHours(3);

            DateTime arrival3   = DateTime.Now.AddMinutes(25);
            DateTime depurture3 = arrival3.AddHours(3.5);

            airport      = new object[maxCountOfFlight, 10];
            flightStatus = new string[9] {
                "Gate closed", "Expected", "Chec-in", "Departed", "In flight", "Arrived", "Delayed", "Unnown", "Canceled"
            };
            object[] nameOfPart = { "Flight number",        "Depurture date and time", "Arrival date and time", "City/port of depurture",
                                    "City/port of arrival", "Airline",                 "Terminal",              "Status", "Gate" };
            object[] plane1 = { "0982", arrival1, depurture1, "Kyiv", "Lviv", "MAU", "C", "", 2 };
            object[] plane2 = { "3029", arrival2, depurture2, "Lviv", "London", "MAU", "A", "", 4 };
            object[] plane3 = { "1046", arrival3, depurture3, "London", "Moscow", "MAU", "E", "", 3 };

            AddFlight(nameOfPart);
            AddFlight(plane2);
            AddFlight(plane1);
            AddFlight(plane3);

            while (stayAtProgram)
            {
                if (countOfFlight == maxCountOfFlight)
                {
                    maxCountOfFlight += 5;
                    airport           = ExpandArray(airport);
                }

                for (int i = 0; i < emergencyStatus.Length; i++)
                {
                    if (emergencyStatus[i])
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine($"{emergency[i]}\n");
                        Console.ResetColor();
                    }
                }

                if (firstLoop)
                {
                    Console.WriteLine("This is menu, were you can choise what you want to do");
                }
                else
                {
                    Console.WriteLine("Choise somesing");
                }
                Console.WriteLine($"1.Add new flight\n2.Remove flight\n3.Editing information\n4.Search by data\n" +
                                  $"5.Upcoming flights\n6.Give all information about flight\n7.Emergency\n8.Get automatic status\n9.Exit\n");

                var choise = Console.ReadLine();
                firstLoop = false;
                Console.Clear();

                switch (choise)
                {
                case "1":
                    AddFlight();
                    break;

                case "2":
                    RemoveFlight();
                    break;

                case "3":
                    EditingInformation();
                    break;

                case "4":
                    SearchByData();
                    break;

                case "5":
                    UpcomingFlight();
                    break;

                case "6":
                    GiveAllInformation();
                    break;

                case "7":
                    Emergency();
                    break;

                case "8":
                    FlightStatus();
                    break;

                case "9":
                    stayAtProgram = false;
                    break;

                default:
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Pelase, choose one operation\n");
                    Console.ResetColor();
                    break;
                }
            }
            Console.WriteLine("Thanks for choosing our program");
        }
Ejemplo n.º 17
0
		static QbeMatcher()
		{
			object[,] matcherDelegate = new object[22, 3];
			matcherDelegate[0, 0] = typeof(DescriptionFilter);
			matcherDelegate[0, 1] = "Description";
			matcherDelegate[0, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.StringMatcher);
			matcherDelegate[1, 0] = typeof(DisplayNameFilter);
			matcherDelegate[1, 1] = "FullName";
			matcherDelegate[1, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.StringMatcher);
			matcherDelegate[2, 0] = typeof(SidFilter);
			matcherDelegate[2, 1] = "objectSid";
			matcherDelegate[2, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.SidMatcher);
			matcherDelegate[3, 0] = typeof(SamAccountNameFilter);
			matcherDelegate[3, 1] = "Name";
			matcherDelegate[3, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.SamAccountNameMatcher);
			matcherDelegate[4, 0] = typeof(AuthPrincEnabledFilter);
			matcherDelegate[4, 1] = "UserFlags";
			matcherDelegate[4, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.UserFlagsMatcher);
			matcherDelegate[5, 0] = typeof(PermittedWorkstationFilter);
			matcherDelegate[5, 1] = "LoginWorkstations";
			matcherDelegate[5, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.MultiStringMatcher);
			matcherDelegate[6, 0] = typeof(PermittedLogonTimesFilter);
			matcherDelegate[6, 1] = "LoginHours";
			matcherDelegate[6, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.BinaryMatcher);
			matcherDelegate[7, 0] = typeof(ExpirationDateFilter);
			matcherDelegate[7, 1] = "AccountExpirationDate";
			matcherDelegate[7, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.ExpirationDateMatcher);
			matcherDelegate[8, 0] = typeof(SmartcardLogonRequiredFilter);
			matcherDelegate[8, 1] = "UserFlags";
			matcherDelegate[8, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.UserFlagsMatcher);
			matcherDelegate[9, 0] = typeof(DelegationPermittedFilter);
			matcherDelegate[9, 1] = "UserFlags";
			matcherDelegate[9, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.UserFlagsMatcher);
			matcherDelegate[10, 0] = typeof(HomeDirectoryFilter);
			matcherDelegate[10, 1] = "HomeDirectory";
			matcherDelegate[10, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.StringMatcher);
			matcherDelegate[11, 0] = typeof(HomeDriveFilter);
			matcherDelegate[11, 1] = "HomeDirDrive";
			matcherDelegate[11, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.StringMatcher);
			matcherDelegate[12, 0] = typeof(ScriptPathFilter);
			matcherDelegate[12, 1] = "LoginScript";
			matcherDelegate[12, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.StringMatcher);
			matcherDelegate[13, 0] = typeof(PasswordNotRequiredFilter);
			matcherDelegate[13, 1] = "UserFlags";
			matcherDelegate[13, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.UserFlagsMatcher);
			matcherDelegate[14, 0] = typeof(PasswordNeverExpiresFilter);
			matcherDelegate[14, 1] = "UserFlags";
			matcherDelegate[14, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.UserFlagsMatcher);
			matcherDelegate[15, 0] = typeof(CannotChangePasswordFilter);
			matcherDelegate[15, 1] = "UserFlags";
			matcherDelegate[15, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.UserFlagsMatcher);
			matcherDelegate[16, 0] = typeof(AllowReversiblePasswordEncryptionFilter);
			matcherDelegate[16, 1] = "UserFlags";
			matcherDelegate[16, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.UserFlagsMatcher);
			matcherDelegate[17, 0] = typeof(GroupScopeFilter);
			matcherDelegate[17, 1] = "groupType";
			matcherDelegate[17, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.GroupTypeMatcher);
			matcherDelegate[18, 0] = typeof(ExpiredAccountFilter);
			matcherDelegate[18, 1] = "AccountExpirationDate";
			matcherDelegate[18, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.DateTimeMatcher);
			matcherDelegate[19, 0] = typeof(LastLogonTimeFilter);
			matcherDelegate[19, 1] = "LastLogin";
			matcherDelegate[19, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.DateTimeMatcher);
			matcherDelegate[20, 0] = typeof(PasswordSetTimeFilter);
			matcherDelegate[20, 1] = "PasswordAge";
			matcherDelegate[20, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.DateTimeMatcher);
			matcherDelegate[21, 0] = typeof(BadLogonCountFilter);
			matcherDelegate[21, 1] = "BadPasswordAttempts";
			matcherDelegate[21, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.IntMatcher);
			QbeMatcher.filterPropertiesTableRaw = matcherDelegate;
			QbeMatcher.filterPropertiesTable = null;
			QbeMatcher.filterPropertiesTable = new Hashtable();
			for (int i = 0; i < QbeMatcher.filterPropertiesTableRaw.GetLength(0); i++)
			{
				Type type = QbeMatcher.filterPropertiesTableRaw[i, 0] as Type;
				string str = QbeMatcher.filterPropertiesTableRaw[i, 1] as string;
				QbeMatcher.MatcherDelegate matcherDelegate1 = QbeMatcher.filterPropertiesTableRaw[i, 2] as QbeMatcher.MatcherDelegate;
				QbeMatcher.FilterPropertyTableEntry filterPropertyTableEntry = new QbeMatcher.FilterPropertyTableEntry();
				filterPropertyTableEntry.winNTPropertyName = str;
				filterPropertyTableEntry.matcher = matcherDelegate1;
				QbeMatcher.filterPropertiesTable[type] = filterPropertyTableEntry;
			}
		}
Ejemplo n.º 18
0
        ///<summary>
        /// Sttrips a surface: expiry by strike, from a flattened cube, excluding the strike headers.
        ///</summary>
        ///<param name="inputRange">The input data range.</param>
        ///<param name="tenorFilter">The tenor string to filter on.</param>
        ///<param name="numTenors">The number of tenors.</param>
        ///<param name="strikes">The strike array.</param>
        ///<returns></returns>
        public static object[,] FilterSurfaceWithExpiries(object[,] inputRange, String tenorFilter, int numTenors, Double[] strikes)
        {
            var result = GetTenorSurfaceFromCube3(inputRange, tenorFilter, numTenors, strikes);

            return(result);
        }
Ejemplo n.º 19
0
 internal void ClearCache()
 {
     this.cachedData = null;
 }
Ejemplo n.º 20
0
 private static void DoGen <T>(object[,] arr)
 {
     // Here, the array type is known statically at the time of compilation
     PassByRef(ref arr[0, 0]);
 }
Ejemplo n.º 21
0
        public static void LoadXLSX(string filename)
        {
            Excel.Application app = new Excel.Application();

            app.EnableSound = false;

            Excel.Workbook workbook = app.Workbooks.Open(filename,
                                                         Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                                                         Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                                                         Type.Missing, Type.Missing, Type.Missing, Type.Missing);

            Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Sheets["Dados"];

            int n   = Convert.ToInt32(((Excel.Range)(worksheet.Cells[2, 1])).Value2);
            int m   = nAf = Convert.ToInt32(((Excel.Range)(worksheet.Cells[4, 1])).Value2);
            int r   = Convert.ToInt32(((Excel.Range)(worksheet.Cells[6, 1])).Value2);
            int h   = Convert.ToInt32(((Excel.Range)(worksheet.Cells[8, 1])).Value2);
            int nTa = 0;

            LoadData(n, nAf, nTa, m, r, h);

            worksheet = (Excel.Worksheet)workbook.Sheets["Prescrições"];

            Excel.Range range = worksheet.get_Range(CellFormat(2, 1), CellFormat(n * m + 2, 17));

            object[,] values = (object[, ])range.Value2;

            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    mReceita[i, j]      = Convert.ToDouble(values[i * m + j + 1, 9]);
                    mVPL[i, j]          = Convert.ToDouble(values[i * m + j + 1, 10]);
                    mColheita[i, j]     = Convert.ToDouble(values[i * m + j + 1, 11]);
                    mBaldeio[i, j]      = Convert.ToDouble(values[i * m + j + 1, 12]);
                    mTransporte[i, j]   = Convert.ToDouble(values[i * m + j + 1, 13]);
                    mSilvicultura[i, j] = Convert.ToDouble(values[i * m + j + 1, 14]);
                    mImplantacao[i, j]  = Convert.ToDouble(values[i * m + j + 1, 15]);
                    mAnteriores[i, j]   = Convert.ToDouble(values[i * m + j + 1, 16]);
                    mCustosMedios[i, j] = Convert.ToDouble(values[i * m + j + 1, 17]);
                }
            }

            for (int i = 0; i < n; i++)
            {
                talhoes[i] = new Talhao();

                talhoes[i].area   = Convert.ToDouble(values[i * m + 1, 2]);
                talhoes[i].id     = Convert.ToInt32(values[i * m + 1, 1]);
                talhoes[i].idade  = Convert.ToInt32(values[i * m + 1, 3]);
                talhoes[i].regime = (string)values[i * m + 12, 4];
            }

            worksheet = (Excel.Worksheet)workbook.Sheets["mCorte"];

            range = worksheet.get_Range(CellFormat(2, 1), CellFormat(n * m + 2, h));

            values = (object[, ])range.Value2;

            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    for (int k = 0; k < h; k++)
                    {
                        mCorte[i, j, k] = Convert.ToInt32(Convert.ToDouble(values[i * m + j + 1, k + 1])) == 1;
                    }
                }
            }

            worksheet = (Excel.Worksheet)workbook.Sheets["mRegArea"];

            range = worksheet.get_Range(CellFormat(2, 1), CellFormat(n * m + 2, r));

            values = (object[, ])range.Value2;

            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    for (int k = 0; k < r; k++)
                    {
                        mRegArea[i, j, k] = Convert.ToDouble(values[i * m + j + 1, k + 1]);
                    }
                }
            }

            worksheet = (Excel.Worksheet)workbook.Sheets["mVolume"];

            range = worksheet.get_Range(CellFormat(2, 3), CellFormat(n * m + 2, h + 2));

            values = (object[, ])range.Value2;

            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    for (int k = 0; k < h; k++)
                    {
                        mVolume[i, j, k] = Convert.ToDouble(values[i * m + j + 1, k + 1]);
                    }
                }
            }


            volumeMedio = 0;

            //Soma do volume das prescrições de um talhão
            double somaTalhao = 0;

            //Soma os resultados de cada ano
            for (int k = 0; k < h; k++)
            {
                //Soma as médias das prescrições dos talhões em um ano
                for (int i = 0; i < n; i++)
                {
                    somaTalhao = 0;
                    //Soma as prescrições de um talhão
                    for (int j = 0; j < m; j++)
                    {
                        if (mVolume[i, j, k] != 0)
                        {
                            somaTalhao += mVolume[i, j, k];
                        }
                    }
                    volumeMedio += somaTalhao / m;
                }
            }

            volumeMedio /= h;

            worksheet = (Excel.Worksheet)workbook.Sheets["mAdj"];

            range = worksheet.get_Range(CellFormat(2, 3), CellFormat(n + 2, n + 2));

            values = (object[, ])range.Value2;

            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    if (Convert.ToInt32(Convert.ToDouble(values[i + 1, j + 1])) == 1)
                    {
                        talhoes[i].vizinhos.Add(j);
                    }

                    mAdj[i, j] = Convert.ToInt32(Convert.ToDouble(values[i + 1, j + 1])) == 1;
                }
            }

            worksheet = (Excel.Worksheet)workbook.Sheets["mDistancia"];

            range = worksheet.get_Range(CellFormat(2, 1), CellFormat(n * n + 2, 3));

            values = (object[, ])range.Value2;

            int n2 = n * n;

            for (int i = 0; i < n2; i++)
            {
                mDistancia[Convert.ToInt32(values[i + 1, 1]) - 1, Convert.ToInt32(values[i + 1, 2]) - 1] = Convert.ToDouble(values[i + 1, 3]);
            }

            worksheet = (Excel.Worksheet)workbook.Sheets["Dados"];

            double volMin      = Convert.ToDouble(((Excel.Range)(worksheet.Cells[10, 1])).Value2);
            double volMax      = Convert.ToDouble(((Excel.Range)(worksheet.Cells[12, 1])).Value2);
            double alfaRegArea = Convert.ToDouble(((Excel.Range)(worksheet.Cells[14, 1])).Value2);
            double alfaRegVol  = Convert.ToDouble(((Excel.Range)(worksheet.Cells[16, 1])).Value2);
            double betaRegVol  = Convert.ToDouble(((Excel.Range)(worksheet.Cells[18, 1])).Value2);
            double alfa        = Convert.ToDouble(((Excel.Range)(worksheet.Cells[20, 1])).Value2);
            double beta        = Convert.ToDouble(((Excel.Range)(worksheet.Cells[22, 1])).Value2);
            double gama        = Convert.ToDouble(((Excel.Range)(worksheet.Cells[24, 1])).Value2);

            double areaTotal = talhoes.Aggregate(0.0, (acc, p) => acc + p.area);

            LoadParams(volMin, volMax, alfaRegArea, areaTotal, alfaRegVol, betaRegVol, volumeMedio, alfa, beta, gama);

            workbook.Close(0);

            app.Quit();
        }
Ejemplo n.º 22
0
 public ChessBoard(object[,] board)
 {
     this.pieces = board;
     // NOTE: still need to adjust AvailablePieces___ and validate board to impliment this fully.
 }
Ejemplo n.º 23
0
 public ChessBoard()
 {
     this.pieces = new object[MaxBoardHeight + 1, MaxBoardWidth + 1];
     PieceCounts = new AvailablePieces();
 }
Ejemplo n.º 24
0
    void InitInfo()
    {
        //rowCollection = new object[19, 11]{
        //{"编号ID","名字Name)"  ,"图标Icon" ,"种类 EquipType","卖出价","购买价","生命值","攻击力","攻击速度","集气速度","移动速度"},
        //{"11","上衣(红)"      ,"Armor_1" ,"Armor"          ,"100"    ,"120"  ,"200"   ,"0"     ,"0"       ,"0"       ,"0"},
        //{"12","上衣(黑)"      ,"Armor_2" ,"Armor"          ,"101"    ,"200"  ,"300"   ,"0"     ,"0"       ,"0"       ,"0"},
        //{"13","上衣(紫)"      ,"Armor_3" ,"Armor"          ,"102"    ,"350"  ,"400"   ,"0"     ,"0"       ,"0"       ,"0"},
        //{"14","上衣(黑红)"    ,"Armor_4" ,"Armor"          ,"103"    ,"400"  ,"500"   ,"0"     ,"0"       ,"0"       ,"0"},
        //{"15","上衣(紫黄)"    ,"Armor_5" ,"Armor"          ,"104"    ,"450"  ,"600"   ,"0"     ,"0"       ,"0"       ,"0"},
        //{"16","上衣(红黑)"    ,"Armor_6" ,"Armor"          ,"105"    ,"999"  ,"1000"  ,"0"     ,"0"       ,"0"       ,"0"},
        //{"21","鞋子(紫黄)"    ,"shoes_1" ,"shoes"          ,"75"     ,"60"   ,"0"     ,"0"     ,"0"       ,"0"       ,"1.0"},
        //{"22","鞋子(黑灰)"    ,"shoes_2" ,"shoes"          ,"76"     ,"80"   ,"0"     ,"0"     ,"0"       ,"0"       ,"1.5"},
        //{"23","鞋子(紫黄)"    ,"shoes_3" ,"shoes"          ,"77"     ,"120"  ,"0"     ,"0"     ,"0"       ,"0"       ,"2.0"},
        //{"24","鞋子(黑黄)"    ,"shoes_4" ,"shoes"          ,"78"     ,"200"  ,"0"     ,"0"     ,"0"       ,"0"       ,"2.5"},
        //{"25","鞋子(蓝黑银)"  ,"shoes_5" ,"shoes"          ,"79"     ,"230"  ,"0"     ,"0"     ,"0"       ,"0"       ,"3.0"},
        //{"26","鞋子(紫黑黄)"  ,"shoes_6" ,"shoes"          ,"80"     ,"666"  ,"0"     ,"0"     ,"0"       ,"0"       ,"4.0"},
        //{"31","武器(深紫黑剑)","weapon_1","weapon"         ,"120"    ,"120"  ,"0"     ,"5"     ,"0.2"     ,"2"       ,"0"},
        //{"32","武器(紫黑银健)","weapon_2","weapon"         ,"121"    ,"200"  ,"0"     ,"7"     ,"0.3"     ,"4"       ,"0"},
        //{"33","武器(红黑银剑)","weapon_3","weapon"         ,"122"    ,"300"  ,"0"     ,"10"    ,"0.4"     ,"5"       ,"0"},
        //{"34","武器(深红黑剑)","weapon_4","weapon"         ,"123"    ,"450"  ,"0"     ,"20"    ,"0.5"     ,"7"       ,"0"},
        //{"35","武器(银黑红剑)","weapon_5","weapon"         ,"124"    ,"600"  ,"0"     ,"32"    ,"0.6"     ,"8"       ,"0"},
        //{"36","武器(黄紫项链)","weapon_6","weapon"         ,"125"    ,"999"  ,"0"     ,"70"    ,"1.0"     ,"15"      ,"0"},
        //};
        rowCollection = new object[37, 12] {
            { "编号ID", "名字Name)", "图标Icon", "种类 ", "卖出价", "购买价", "生命值%", "攻击力%", "攻击速度%", "集气速度%", "移动速度%", "气力值" },
            { "11", "上衣(1级)", "Armor_1", "Armor", "1000", "2000", "25", "0", "0", "0", "0", "0" },
            { "12", "上衣(2级)", "Armor_2", "Armor", "2000", "4000", "50", "0", "0", "0", "0", "0" },
            { "13", "上衣(3级)", "Armor_3", "Armor", "5000", "10000", "100", "0", "0", "0", "0", "0" },
            { "14", "上衣(4级)", "Armor_4", "Armor", "10000", "20000", "150", "0", "0", "0", "0", "0" },
            { "15", "上衣(5级)", "Armor_5", "Armor", "25000", "50000", "200", "0", "0", "0", "0", "0" },
            { "16", "上衣(6级)", "Armor_6", "Armor", "50000", "100000", "300", "0", "0", "0", "0", "0" },

            { "21", "鞋子(1级)", "shoes_1", "shoes", "1000", "2000", "0", "0", "0", "0", "5.0", "0" },
            { "22", "鞋子(2级)", "shoes_2", "shoes", "2000", "4000", "0", "0", "0", "0", "10.0", "0" },
            { "23", "鞋子(3级)", "shoes_3", "shoes", "5000", "10000", "0", "0", "0", "0", "20.0", "0" },
            { "24", "鞋子(4级)", "shoes_4", "shoes", "10000", "20000", "0", "0", "0", "0", "30.5", "0" },
            { "25", "鞋子(5级)", "shoes_5", "shoes", "25000", "50000", "0", "0", "0", "0", "40.0", "0" },
            { "26", "鞋子(6级)", "shoes_6", "shoes", "50000", "100000", "0", "0", "0", "0", "50.0", "0" },

            { "31", "武器(1级剑)", "weapon_1", "weapon", "1000", "2000", "0", "25", "0", "0", "0", "0" },
            { "32", "武器(2级剑)", "weapon_2", "weapon", "2000", "4000", "0", "50", "0", "0", "0", "0" },
            { "33", "武器(3级剑)", "weapon_3", "weapon", "5000", "10000", "0", "100", "0", "0", "0", "0" },
            { "34", "武器(4级剑)", "weapon_4", "weapon", "10000", "20000", "0", "200", "0", "0", "0", "0" },
            { "35", "武器(5级剑)", "weapon_5", "weapon", "25000", "50000", "0", "300", "0", "0", "0", "0" },
            { "36", "武器(6级项剑)", "weapon_6", "weapon", "50000", "100000", "0", "400", "0", "0", "0", "0" },
            //19

            { "41", "护腕(1级)", "bracer_1", "bracer", "1000", "2000", "0", "0", "50", "0", "0", "0" },
            { "42", "护腕(2级)", "bracer_2", "bracer", "2000", "4000", "0", "0", "10", "0", "0", "0" },
            { "43", "护腕(3级)", "bracer_3", "bracer", "5000", "10000", "0", "0", "20", "0", "0", "0" },
            { "44", "护腕(4级)", "bracer_4", "bracer", "10000", "20000", "0", "0", "30", "0", "0", "0" },
            { "45", "护腕(5级)", "bracer_5", "bracer", "25000", "50000", "0", "0", "40", "0", "0", "0" },
            { "46", "护腕(6级)", "bracer_6", "bracer", "50000", "100000", "0", "0", "50", "0", "0", "0" },
            //25

            { "51", "项链(1级)", "necklace_1", "necklace", "1000", "2000", "0", "0", "0", "10", "0", "0" },
            { "52", "项链(2级)", "necklace_2", "necklace", "2000", "4000", "0", "0", "0", "25", "0", "0" },
            { "53", "项链(3级)", "necklace_3", "necklace", "5000", "10000", "0", "0", "0", "50", "0", "0" },
            { "54", "项链(4级)", "necklace_4", "necklace", "10000", "20000", "0", "0", "0", "100", "0", "0" },
            { "55", "项链(5级)", "necklace_5", "necklace", "25000", "50000", "0", "0", "0", "150", "0", "0" },
            { "56", "项链(6级)", "necklace_6", "necklace", "50000", "100000", "0", "0", "0", "200", "0", "0" },
            //31
            //{"编号ID","名字Name)"  ,"图标Icon" ,"种类 ","卖出价","购买价" ,"生命值","攻击力%","攻击速度%","集气速度%","移动速度%","气力值"},//生命值和气力值直接加
            //恢复当前生命的气力值
            { "61", "药物(气力药小)", "drug_1", "drug", "1000", "2000", "0", "0", "0", "0", "0", "20" },
            { "62", "药物(气力药中)", "drug_2", "drug", "2000", "4000", "0", "0", "0", "0", "0", "60" },
            { "63", "药物(气力药大)", "drug_3", "drug", "5000", "10000", "0", "0", "0", "0", "0", "100" },
            //恢复当前气力的生命值
            { "64", "药物(生命药小)", "drug_4", "drug", "500", "2000", "100", "0", "0", "0", "0", "0" },
            { "65", "药物(生命药中)", "drug_5", "drug", "2000", "4000", "400", "0", "0", "0", "0", "0" },
            { "66", "药物(生命药大)", "drug_6", "drug", "5000", "10000", "800", "0", "0", "0", "0", "0" },
            //39
        };
    }
Ejemplo n.º 25
0
 public ExcelRowBase(int index)
 {
     data = new object[2, index + 1];
 }
Ejemplo n.º 26
0
        private void Clear()
        {
            selectedHeroRow = moveRow;
            selectedHeroCol = moveCol;

            clearMoveOptions();
            rowPlot.Clear();
            colPlot.Clear();
            index = 0;
            position = null;
            position = new object[15, 15];

        }
Ejemplo n.º 27
0
        private void Clear()
        {
            clearMoveOptions();
            rowPlot.Clear();
            colPlot.Clear();
            index = 0;
            position = null;
            position = new object[15, 15];

        }
Ejemplo n.º 28
0
        private List <string> correctExcel(string[] strFileNames)
        {
            List <string> correctFiles = new List <string>();
            bool          isCopy       = false;
            object        missing      = System.Reflection.Missing.Value;

            Excel.Application excel = new Excel.ApplicationClass();//lauch excel application
            if (excel == null)
            {
                new Exception("未能打开Excel文件!");
            }

            for (int index = 0; index < strFileNames.Length; index++)
            {
                excel.Visible = false; excel.UserControl = true;
                // 打开EXCEL文件
                Excel.Workbook  wb = null;
                Excel.Worksheet ws = null;
                try
                {
                    wb = excel.Application.Workbooks.Open(strFileNames[index], missing, missing, missing, missing, missing,
                                                          missing, missing, missing, missing, missing, missing, missing, missing, missing);
                    //取得第一个工作薄
                    ws = (Excel.Worksheet)wb.Worksheets.get_Item(1);
                }
                catch
                {
                    progressBar1.Value = index + 1;
                    lblProgress.Text   = "进度:" + progressBar1.Value.ToString() + "/" + strFileNames.Length.ToString() + "   检验:" + strFileNames[index];
                    continue;
                }
                //取得总记录行数    (包括标题列)
                int rowsint    = ws.UsedRange.Cells.Rows.Count;    //得到行数
                int columnsint = ws.UsedRange.Cells.Columns.Count; //得到列数
                //int columnsint = mySheet.UsedRange.Cells.Columns.Count;
                //获取第一行和最后一行数据   (不包括标题列)
                char        endColumn = (char)((int)'A' + columnsint - 1);
                Excel.Range rngStart  = ws.Cells.get_Range("A2", endColumn.ToString() + "2");
                Excel.Range rngEnd    = ws.Cells.get_Range("A" + rowsint, endColumn.ToString() + rowsint);

                object[,] arry1 = (object[, ])rngStart.Value2;   //get range's value
                object[,] arry2 = (object[, ])rngEnd.Value2;

                if (arry1 == null || arry2 == null)
                {
                    progressBar1.Value = index + 1;
                    lblProgress.Text   = "进度:" + progressBar1.Value.ToString() + "/" + strFileNames.Length.ToString() + "   检验:" + strFileNames[index];
                    continue;
                }
                for (int i = 3; i <= arry1.Length; i++)
                {
                    if (arry1[1, i].Equals(arry2[1, i]))
                    {
                        continue;
                    }
                    else
                    {
                        isCopy = true;
                        break;
                    }
                }
                if (isCopy)
                {
                    for (int i = 1; i <= arry1.Length; i++)
                    {
                        ws.Cells[rowsint + 1, i] = arry1[1, i];
                    }
                    wb.Save();
                    correctFiles.Add(strFileNames[index]);//纪录修正的文件
                }
                wb.Close();

                progressBar1.Value = index + 1;
                lblProgress.Text   = "进度:" + progressBar1.Value.ToString() + "/" + strFileNames.Length.ToString() + "   检验:" + strFileNames[index];
            }

            excel.Quit(); excel = null;
            Process[] procs = Process.GetProcessesByName("excel");
            foreach (Process pro in procs)
            {
                pro.Kill();//没有更好的方法,只有杀掉进程
            }
            GC.Collect();
            return(correctFiles);
        }
Ejemplo n.º 29
0
 // Public methods.
 /// <summary>
 /// Resizes the command parameters to match the specified number of parameters and sets.
 /// </summary>
 /// <param name="parameters">The number of parameters.</param>
 /// <param name="sets">The number of sets.</param>
 public void ResizeParameters(int parameters, int sets)
 {
     // Resize the parameters array.
     this.parameters = (parameters > 0) && (sets > 0) ? new object[parameters, sets] : null;
     // Raise the command changed event.
     if (null != this.Changed) this.Changed(this, new PlCommandEventArgs(this));
 }
Ejemplo n.º 30
0
 public override OperationBuilder <DeleteDataOperation> DeleteData(string table, string[] keyColumns, object[,] keyValues, string schema = null)
 {
     return(_migrationBuilder.DeleteData(table, keyColumns, keyValues, schema));
 }
Ejemplo n.º 31
0
 public override OperationBuilder <InsertDataOperation> InsertData(string table, string[] columns, object[,] values, string schema = null)
 {
     if (!Exists(_namespace, table, columns[0], values[0, 0]))
     {
         return(_migrationBuilder.InsertData(table, columns, values, schema));
     }
     return(null);
 }
Ejemplo n.º 32
0
 public override OperationBuilder <UpdateDataOperation> UpdateData(string table, string[] keyColumns, object[,] keyValues, string[] columns, object[,] values, string schema = null)
 {
     return(_migrationBuilder.UpdateData(table, keyColumns, keyValues, columns, values, schema));
 }
Ejemplo n.º 33
0
        public void plotEnPI(Excel.ListObject LO)
        {
            groupSheetCollection           = new GroupSheetCollection();
            groupSheetCollection.PlantName = ((Excel.Worksheet)LO.Parent).Name;
            groupSheetCollection.WB        = (Excel.Workbook)((Excel.Worksheet)LO.Parent).Parent;
            groupSheetCollection.WBName    = groupSheetCollection.WB.Name;
            masterGroupCollection.Add(groupSheetCollection);
            groupSheetCollection.regressionIteration = masterGroupCollection.WorkbookNextIteration(groupSheetCollection.WB);


            // create a data table with the data to be adjusted
            object[,] sourcerows = ExcelHelpers.getYearArray(LO, Years);
            DataTable dtSourceData = DataHelper.ConvertToDataTable(LO.HeaderRowRange.Value2 as object[, ], sourcerows);

            EnPIData = new EnPIDataSet();
            EnPIData.WorksheetName  = ((Excel.Worksheet)LO.Parent).Name;
            EnPIData.SourceData     = dtSourceData;
            EnPIData.ListObjectName = LO.Name;
            EnPIData.BaselineYear   = BaselineYear;
            EnPIData.ModelYear      = SelectedYear;
            EnPIData.ReportYear     = ReportYear; //Added By Suman for SEP Changes
            EnPIData.Years          = Years.Cast <string>().ToList();

            if (Utilities.Constants.MODEL_TOTAL)
            {
                SelectedSources.Add(rsc.GetString("unadjustedTotalColName"));
            }
            EnPIData.EnergySourceVariables = SelectedSources;
            EnPIData.IndependentVariables  = SelectedVariables;
            EnPIData.ProductionVariables   = SelectedProduction;
            EnPIData.BuildingVariables     = SelectedBuildings;

            EnPIData.Init();

            ModelSheets = new ModelSheetCollection();
            foreach (Utilities.EnergySource src in EnPIData.EnergySources)
            {
                ModelSheet aSrc = ModelSheets.Add(src);
                aSrc.Populate();
                aSrc.WS.Visible = Excel.XlSheetVisibility.xlSheetVisible;
            }

            AdjustedDataSheet adjData = new AdjustedDataSheet(EnPIData);

            adjData.Populate(true);

            EnPISheet results = new EnPISheet(EnPIData, false);

            results.AdjustedDataSheet = adjData.thisSheet;
            results.AdjustedData      = adjData.AdjustedData;
            results.Populate();

            //EnPISheet senpiresults = new EnPISheet(EnPIData, true);
            //senpiresults.AdjustedDataSheet = adjData.thisSheet;
            //senpiresults.AdjustedData = adjData.AdjustedData;
            //senpiresults.Populate();


            SEPSheet sepResults = new SEPSheet(EnPIData);

            sepResults.AdjustedDataSheet = adjData.thisSheet;
            sepResults.AdjustedData      = adjData.AdjustedData;
            sepResults.Populate();

            if (Globals.ThisAddIn.wizardPane.Visible)
            {
                Globals.ThisAddIn.hideWizard();
            }

            // cleanup
            ExcelHelpers.Cleanup(Globals.ThisAddIn.Application.ActiveWorkbook);
        }
Ejemplo n.º 34
0
        protected override void Execute(CodeActivityContext context)
        {
            //Range xlActiveRange = base.worksheet.UsedRange;

            var useHeaderRow = (UseHeaderRow != null? UseHeaderRow.Get(context)  : false);

            base.Execute(context);
            var cells = Cells.Get(context);

            Microsoft.Office.Interop.Excel.Range range = null;
            if (string.IsNullOrEmpty(cells))
            {
                range = base.worksheet.UsedRange;

                //Range last = base.worksheet.Cells.SpecialCells(XlCellType.xlCellTypeLastCell, Type.Missing);
                //Range range = base.worksheet.get_Range("A1", last);

                //int lastUsedRow = range.Row;
                //int lastUsedColumn = range.Column;
            }
            else
            {
                range = base.worksheet.get_Range(cells);
            }
            //object[,] valueArray = (object[,])range.Value;
            object[,] valueArray = (object[, ])range.get_Value(Microsoft.Office.Interop.Excel.XlRangeValueDataType.xlRangeValueDefault);


            var o = ProcessObjects(useHeaderRow, valueArray);

            System.Data.DataTable dt = o as System.Data.DataTable;
            dt.TableName = base.worksheet.Name;
            if (string.IsNullOrEmpty(dt.TableName))
            {
                dt.TableName = "Unknown";
            }
            DataTable.Set(context, dt);

            //dt.AsEnumerable();

            //string json = Newtonsoft.Json.JsonConvert.SerializeObject(dt, Newtonsoft.Json.Formatting.Indented);
            ////context.SetValue(Json, JObject.Parse(json));
            //context.SetValue(Json, JArray.Parse(json));

            if (ClearFormats.Get(context))
            {
                worksheet.Columns.ClearFormats();
                worksheet.Rows.ClearFormats();
            }

            if (lastUsedColumn != null || lastUsedRow != null)
            {
                // Unhide All Cells and clear formats

                // Detect Last used Row - Ignore cells that contains formulas that result in blank values
                //int lastRowIgnoreFormulas = worksheet.Cells.Find(
                //                "*",
                //                System.Reflection.Missing.Value,
                //                XlFindLookIn.xlValues,
                //                XlLookAt.xlWhole,
                //                XlSearchOrder.xlByRows,
                //                XlSearchDirection.xlPrevious,
                //                false,
                //                System.Reflection.Missing.Value,
                //                System.Reflection.Missing.Value).Row;
                // Detect Last Used Column  - Ignore cells that contains formulas that result in blank values
                //int lastColIgnoreFormulas = worksheet.Cells.Find(
                //                "*",
                //System.Reflection.Missing.Value,
                //                System.Reflection.Missing.Value,
                //                System.Reflection.Missing.Value,
                //                XlSearchOrder.xlByColumns,
                //                XlSearchDirection.xlPrevious,
                //                false,
                //                System.Reflection.Missing.Value,
                //                System.Reflection.Missing.Value).Column;

                // Detect Last used Row / Column - Including cells that contains formulas that result in blank values
                //int lastColIncludeFormulas = worksheet.UsedRange.Columns.Count;
                //int lastColIncludeFormulas = worksheet.UsedRange.Rows.Count;



                //range = base.worksheet.UsedRange;
                int _lastUsedColumn = worksheet.UsedRange.Columns.Count;
                int _lastUsedRow    = worksheet.UsedRange.Rows.Count;
                if (lastUsedColumn != null)
                {
                    context.SetValue(lastUsedColumn, ColumnIndexToColumnLetter(_lastUsedColumn));
                }
                if (lastUsedRow != null)
                {
                    context.SetValue(lastUsedRow, _lastUsedRow);
                }
            }
        }
Ejemplo n.º 35
0
        private bool SetObjectArray()
        {
            bool blnResult = true;

            ColMax = 0;
            RowMax = 0;

            try
            {
                shtValues = this.Base.UsedRange.get_Value(Excel.XlRangeValueDataType.xlRangeValueDefault) as object[,];
                RowMax = shtValues.GetUpperBound(0);
                ColMax = shtValues.GetUpperBound(1);
            }
            catch (Exception ex)
            {
                shtValues = null;
                blnResult = false;
                ColMax = 0;
                RowMax = 0;
            }
            return blnResult;
        }
Ejemplo n.º 36
0
        /// <summary>
        /// Converts a directory of excel data into a flat text csv file
        /// </summary>
        /// <param name="FileLocation"></param>
        public static void GetExcelVenusData(string FileLocation)
        {
            //ChangeTo48WellPlates();
            // SetIntToWell();
            //first to create an array of values, I know there will be 48 columns in the second one,
            //and for now I am going to assume we will have 200 datapoints, which we will not!
            Directory    = FileLocation;
            acTimeValues = new List <DateTime>();
            absDATA      = new List <double[]>();//must initialize this to the plate size
            DirectoryInfo    DI  = new DirectoryInfo(FileLocation);
            ApplicationClass app = null;

            try
            {
                bool SizeSetYet = false;
                app = new ApplicationClass();
                foreach (FileInfo FI in DI.GetFiles())
                {
                    if (FI.Extension == ".xls")
                    {
                        Workbook workBook = app.Workbooks.Open(FI.FullName,
                                                               0,
                                                               true,
                                                               5,
                                                               "",
                                                               "",
                                                               true,
                                                               XlPlatform.xlWindows, "", false, false, 0, true, 1, 0);

                        Worksheet workSheet  = (Worksheet)workBook.Worksheets[1];
                        Range     excelRange = workSheet.UsedRange;
                        object[,] valueArray = (object[, ])excelRange.get_Value(
                            XlRangeValueDataType.xlRangeValueDefault);
                        int numCols = valueArray.GetUpperBound(1);
                        int numRows = valueArray.GetUpperBound(0);
                        if (!SizeSetYet)
                        {
                            plateSize = numRows - 1;
                            if (plateSize == 96)
                            {
                                ColNumber = 12;
                            }
                            else
                            {
                                ColNumber = 8;
                            }
                            SetIntToWell();
                            SizeSetYet = true;
                        }
                        numRows++;
                        double[] newData = new double[plateSize];
                        for (int i = 0; i < 48; i++)
                        {
                            var    Cell  = valueArray[i + 2, 8];
                            double value = (double)Cell;
                            newData[i] = value;
                        }
                        absDATA.Add(newData);
                        ///NEW CODE ADDED BELOW
                        string timeline = "";
                        workSheet = (Worksheet)workBook.Worksheets[3];
                        Range excelRange2 = workSheet.UsedRange;
                        object[,] DescriptArray = (object[, ])excelRange2.get_Value(XlRangeValueDataType.xlRangeValueDefault);
                        int      TotalSize = DescriptArray.GetUpperBound(0);
                        DateTime testTime  = DateTime.Now;
                        DateTime TIME      = testTime;
                        for (int i = 0; i < TotalSize; i++)
                        {
                            timeline = (string)DescriptArray[i + 1, 1];
                            if (timeline != null && timeline.StartsWith("Measured on ..."))
                            {
                                timeline = timeline.Remove(0, 36);
                                TIME     = Convert.ToDateTime(timeline);
                                break;
                            }
                        }
                        if (TIME == testTime)
                        {
                            throw new Exception("No time found in file");
                        }

                        acTimeValues.Add(TIME);
                        app.Workbooks.Close();
                    }
                }
                exportVenusData();
            }
            catch (Exception thrown)
            {
                //Exception ex = new Exception("File " + FI.Name + " is screwed" ,thrown);
                //throw ex;
                throw thrown;
            }
            finally
            {
                if (app != null)
                {
                    app.Quit();
                    app = null;
                }
            }
        }
Ejemplo n.º 37
0
		public override void Close()
		{
			if(this.opened)
			{
				lock(this)
				{
					srv_Close();
					srv_UnPrepare(this.queryID);
					this.columns = null;
					this.values  = null;
					this.opened  = false;
				}
			}
			
			if(this.queryID != 0)
			{
				try
				{
					srv_UnPrepare(this.queryID);
				}
				finally
				{
					this.queryID = 0;
				}
			}
		}
        protected override void Execute(NativeActivityContext context)
        {
            string    strFilePath      = FilePath.Get(context);
            string    workbookName     = FilePath.Get(context);
            Worksheet xlWorksheet      = null;
            Range     xlRange          = null;
            bool      excelFileVisible = false;

            try
            {
                if (true == NeedToOpen)
                {
                    excelFileVisible = true;
                }

                if (File.Exists(strFilePath))
                {
                    ExcelHelper.Shared.Close_OpenedFile(strFilePath);

                    workbookName = Path.GetFileName(strFilePath);
                    string    workSheetName   = WorksheetName.Get(context);
                    Workbook  xlWorkbook      = ExcelHelper.Shared.GetApp(excelFileVisible).Workbooks.Open(strFilePath);
                    bool      sheetExist      = ExcelHelper.Shared.GetWorksheetByName(workbookName, workSheetName, false) != null;
                    dynamic   worksheets      = xlWorkbook.Worksheets;
                    dynamic   worksheetObject = null;
                    DataTable dt = TableToWrite.Get(context);

                    if (dt == null)
                    {
                        xlWorkbook.Close();
                        if (ExcelHelper.Shared.GetApp(excelFileVisible).Workbooks.Count == 0)
                        {
                            ExcelHelper.Shared.Dispose();
                        }
                        if (!ContinueOnError)
                        {
                            context.Abort();
                        }
                        Log.Logger.LogData("Table To Write parameter(Datatable) is null in activity Excel_WriteFile", LogLevel.Error);
                    }
                    else
                    {
                        if (false == sheetExist)
                        {
                            worksheetObject      = worksheets.Add();
                            worksheetObject.Name = workSheetName;
                        }
                        object[,] TwoDimensionalArray = null;
                        string colLetter  = String.Empty;
                        string endingCell = String.Empty;
                        int    rangeEnd   = 0;
                        xlWorksheet = xlWorkbook.Sheets[workSheetName];

                        int rowCount = dt.Rows.Count;
                        int colCount = dt.Columns.Count;

                        if (IsHeader == true)
                        {
                            rangeEnd            = 1 + rowCount;
                            TwoDimensionalArray = ConvertDataTableToArray(dt);
                        }
                        else
                        {
                            rangeEnd            = rowCount;
                            TwoDimensionalArray = ExcelHelper.Shared.ConvertDataTableToArray(dt);
                        }

                        colLetter  = ExcelHelper.Shared.ColumnIndexToColumnLetter(colCount);
                        endingCell = colLetter + rangeEnd;

                        xlRange       = xlWorksheet.Range["A1", endingCell];
                        xlRange.Value = TwoDimensionalArray;

                        var range = xlWorksheet.get_Range("A1", "A1");
                        range.Select();

                        xlWorkbook.Save();

                        if (true == NeedToClose)
                        {
                            xlWorkbook.Close();
                        }
                        if (false == NeedToClose && false == NeedToOpen)
                        {
                            xlWorkbook.Close();
                        }
                        if (false == NeedToClose && true == NeedToOpen)
                        {
                            xlWorkbook.Close();
                            ExcelHelper.Shared.GetApp(excelFileVisible).Workbooks.Open(strFilePath);
                        }
                        if (ExcelHelper.Shared.GetApp(excelFileVisible).Workbooks.Count == 0)
                        {
                            ExcelHelper.Shared.Dispose();
                        }
                    }
                }
                else
                {
                    Log.Logger.LogData("Excel file does not exist:\"" + strFilePath + "\" in activity Excel_WriteFile", LogLevel.Error);
                    if (!ContinueOnError)
                    {
                        context.Abort();
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Logger.LogData(ex.Message + " in activity Excel_WriteFile", LogLevel.Error);
                if (!ContinueOnError)
                {
                    context.Abort();
                }
            }
            finally
            {
                //rule of thumb for releasing com objects:
                //  never use two dots, all COM objects must be referenced and released individually
                //  ex: [somthing].[something].[something] is bad

                //release com objects to fully kill excel process from running in the background
                //if(xlRange != null)
                //    Marshal.ReleaseComObject(xlRange);
                //if (xlWorksheet != null)
                //    Marshal.ReleaseComObject(xlWorksheet);
                //if (xlWorkbook != null)
                //{
                //    //close and release
                //    xlWorkbook.Close();
                //    Marshal.ReleaseComObject(xlWorkbook);
                //}

                //if (xlApp != null)
                //{
                //    //quit and release
                //    xlApp.Quit();
                //    Marshal.ReleaseComObject(xlApp);
                //}
                //GC.Collect();
                //GC.WaitForPendingFinalizers();
            }
        }
Ejemplo n.º 39
0
        // Пункт 3
        public static Guid MenuItem3(object[,] o_Information)
        {
            Console.WriteLine("Введите id палеты:");
            Guid g_Id = new Guid(Console.ReadLine());

            Console.WriteLine("Введите количество добавляемых коробок:");
            int i_Count = 0;

            if (!int.TryParse(Console.ReadLine(), out i_Count) || i_Count <= 0)
            {
                throw new ApplicationException("Введите корректное число добавляемых коробок.");
            }

            // Массив значений
            o_Information = new object[i_Count, 6];
            // Цикл ввода значений
            for (int i = 0; i < i_Count; i++)
            {
                Console.WriteLine("Введите имя " + (i + 1).ToString() + " коробки:");
                string s_Name = Console.ReadLine();
                Console.WriteLine("Введите ширину " + (i + 1).ToString() + " коробки:");
                double d_Width = Convert.ToDouble(Console.ReadLine());
                if (d_Width <= 0)
                {
                    throw new ApplicationException("Введите корректное значение.");
                }
                Console.WriteLine("Введите высоту " + (i + 1).ToString() + " коробки:");
                double d_Height = Convert.ToDouble(Console.ReadLine());
                if (d_Height <= 0)
                {
                    throw new ApplicationException("Введите корректное значение.");
                }
                Console.WriteLine("Введите глубину " + (i + 1).ToString() + " коробки:");
                double d_Depth = Convert.ToDouble(Console.ReadLine());
                if (d_Depth <= 0)
                {
                    throw new ApplicationException("Введите корректное значение.");
                }
                Console.WriteLine("Введите вес " + (i + 1).ToString() + " коробки:");
                double d_Weight = Convert.ToDouble(Console.ReadLine());
                if (d_Weight <= 0)
                {
                    throw new ApplicationException("Введите корректное значение.");
                }
                Console.WriteLine("Введите срок годности либо дату производства в формате дд.мм.гггг " + (i + 1).ToString() + " коробки:");
                object o_Help = Console.ReadLine();
                string s_Help = o_Help.ToString();
                if (s_Help.Contains("."))
                {
                    o_Help = new DateTime(Convert.ToInt32(s_Help.Split('.')[2]), Convert.ToInt32(s_Help.Split('.')[1]), Convert.ToInt32(s_Help.Split('.')[0]));
                }
                else
                {
                    int i_ShelfLife = Convert.ToInt32(s_Help);
                    if (i_ShelfLife <= 0)
                    {
                        throw new ApplicationException("Введите корректное значение.");
                    }
                    o_Help = i_ShelfLife;
                }

                o_Information[i, 0] = s_Name;
                o_Information[i, 1] = d_Width;
                o_Information[i, 2] = d_Height;
                o_Information[i, 3] = d_Depth;
                o_Information[i, 4] = d_Weight;
                o_Information[i, 5] = o_Help;
            }

            return(g_Id);
        }
Ejemplo n.º 40
0
        private void button6_Click(object sender, EventArgs e)
        {
            listView1.Clear();
            listView1.GridLines     = true;         //表格是否显示网格线
            listView1.FullRowSelect = true;         //是否选中整行
            listView1.View          = View.Details; //设置显示方式
            listView1.Scrollable    = true;         //是否自动显示滚动条
            listView1.MultiSelect   = false;        //是否可以选择多行

            //没有导入数据的情况
            if (subjects == null)
            {
                listView1.Columns.Add("没有导入数据", 150, System.Windows.Forms.HorizontalAlignment.Center);
                return;
            }

            //正常导入后
            //Order.Orderby(tables, new int[] { 1 }, 1);
            total      = new object[names.Length - 1, 3];
            gra_ave    = new object[8, 2];
            y_pass_per = new object[8, 2];
            s_pass_per = new object[8, 2];
            e_pass_per = new object[8, 2];

            for (int i = 0; i < 8; i++)
            {
                stu_num[i]       = 0;
                y_pass_num[i]    = 0;
                s_pass_num[i]    = 0;
                e_pass_num[i]    = 0;
                gra_total[i]     = 0;
                gra_ave[i, 0]    = i + 1;
                y_pass_per[i, 0] = i + 1;
                y_pass_per[i, 1] = 0;
                s_pass_per[i, 0] = i + 1;
                s_pass_per[i, 1] = 0;
                e_pass_per[i, 0] = i + 1;
                e_pass_per[i, 1] = 0;
            }

            for (int i = 0; i < subjects.Length; i++)
            {
                listView1.Columns.Add(subjects[i], 60, System.Windows.Forms.HorizontalAlignment.Center);
            }
            for (int i = 1; i < names.Length; i++)
            {
                ListViewItem item = new ListViewItem();
                item.SubItems.Clear();
                //将名字添加进去
                item.SubItems[0].Text = names[i];
                //统计总成绩
                total[i - 1, 0] = names[i];
                total[i - 1, 1] = 0;
                total[i - 1, 2] = 0;


                //计算班级人数
                stu_num[int.Parse(tables[i - 1, 0].ToString()) - 1]++;
                //textBox1.Text = "?";
                //textBox1.Show();
                for (int k = 0; k < subjects.Length - 1; k++)
                {
                    item.SubItems.Add(tables[i - 1, k].ToString());
                    if (k != 0)
                    {
                        if (k == 1)
                        {
                            //及格人数统计
                            if (int.Parse(tables[i - 1, k].ToString()) >= 90)
                            {
                                y_pass_num[int.Parse(tables[i - 1, 0].ToString()) - 1]++;
                            }
                        }
                        else if (k == 2)
                        {
                            if (int.Parse(tables[i - 1, k].ToString()) >= 90)
                            {
                                s_pass_num[int.Parse(tables[i - 1, 0].ToString()) - 1]++;
                            }
                        }
                        else if (k == 3)
                        {
                            if (int.Parse(tables[i - 1, k].ToString()) >= 90)
                            {
                                e_pass_num[int.Parse(tables[i - 1, 0].ToString()) - 1]++;
                            }
                        }

                        total[i - 1, 2] = int.Parse(total[i - 1, 2].ToString()) + int.Parse(tables[i - 1, k].ToString());
                    }
                    total[i - 1, 1] = int.Parse(tables[i - 1, 0].ToString());
                }
                listView1.Items.Add(item);
            }

            //统计班级平均分
            for (int i = 0; i < names.Length - 1; i++)
            {
                gra_total[int.Parse(total[i, 1].ToString()) - 1] += int.Parse(total[i, 2].ToString());
            }
            for (int i = 0; i < 8; i++)
            {
                gra_ave[i, 1]    = gra_total[i] / stu_num[i];
                y_pass_per[i, 1] = Math.Round((float)y_pass_num[i] / stu_num[i], 2);
                s_pass_per[i, 1] = Math.Round((float)s_pass_num[i] / stu_num[i], 2);
                e_pass_per[i, 1] = Math.Round((float)e_pass_num[i] / stu_num[i], 2);
            }
        }
Ejemplo n.º 41
0
 public ArrayDataReader(object[,] data)
 {
     _data = new List <object[, ]>();
     _data.Add(data);
 }
Ejemplo n.º 42
0
        public void insertPFA(string filepath, string outFile)
        {
            xlWorkBook  = xlApp.Workbooks.Open(filepath, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(SHEET); // second sheet for this file

            readTypes(xlWorkSheet);
            Excel.Range range = xlWorkSheet.UsedRange;
            object[,] cpnyColumn   = (object[, ])range.Columns[Columns.COMPANY, Type.Missing].Value;
            object[,] cprColumn    = (object[, ])range.Columns[Columns.CPR, Type.Missing].Value;
            object[,] typeColumn   = (object[, ])range.Columns[Columns.TYPE, Type.Missing].Value;
            object[,] amountColumn = (object[, ])range.Columns[Columns.AMOUNT, Type.Missing].Value;

            int row = FROM_LINE;

            // read row by row
            while (row < cpnyColumn.Length)
            {
                string companyName = (string)cpnyColumn[row, 1];
                Dictionary <string, List <double> > thisCompany;
                List <double> thisCPR;
                // checks if company already exists, if not, we create it
                if (!companies.ContainsKey(companyName))
                {
                    Console.WriteLine("new company " + companyName);
                    thisCompany = new Dictionary <string, List <double> >();
                    companies.Add(companyName, thisCompany);
                }

                // checks if cpr already exists, if not we create it and put all values to 0
                thisCompany = companies[companyName];
                string cprValue = cprColumn[row, 1].ToString();
                if (!thisCompany.ContainsKey(cprValue))
                {
                    thisCPR = new List <double>();
                    // put everything to 0
                    for (int i = 0; i < typesRef.Count; i++)
                    {
                        thisCPR.Add(0);
                    }

                    thisCompany.Add(cprValue, thisCPR);
                }

                thisCPR = thisCompany[cprValue];

                // gather the type, the amount and put it in the list

                string typeName = (string)typeColumn[row, 1];
                double amount   = (double)amountColumn[row, 1];
                thisCPR[typesRef[typeName]] += amount;

                row++;
            }

            xlWorkBook.Close();



            //insert obtained data into outputfile
            xlWorkBook  = xlApp.Workbooks.Open(outFile, 0, false, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(SHEET); // first sheet for this file
            Boolean _continue = true;

            row = 5; // check the file befor deciding from where to start!!

            foreach (Dictionary <string, List <double> > nCompany in companies.Values)
            {
                foreach (string cpr in nCompany.Keys)
                {
                    xlWorkSheet.Cells[row, 2] = cpr;
                    row++;
                }
                //////////////////////remember me////////////////
            }

            xlWorkBook.SaveAs(outFile, Excel.XlFileFormat.xlWorkbookDefault, Type.Missing, Type.Missing,
                              false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
                              Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

            xlWorkBook.Close();
        }
Ejemplo n.º 43
0
        private void CreateColumnsAndData()
        {
            List<object[,]> data = new List<object[,]>();

            int numberOfRows = 0;
            int maxColumns = 0;

            foreach (AnalyseEverythingBaseViewModel item in ItemsToAnalyse)
            {
                if (!item.Method.Loaded)
                {
                    item.Method.LoadData();
                }

                IUpdateAngle updateAngle = item.Method as IUpdateAngle;
                if (updateAngle != null)
                {
                    updateAngle.SelectedAngleOption = SelectedAngleOption;
                }

                IUpdateTValue tValue = item.Method as IUpdateTValue;
                if (tValue != null)
                {
                    tValue.TValue = TValue;
                }

                IUpdateFrequency updateFrequency = item.Method as IUpdateFrequency;
                if (updateFrequency != null)
                {
                    updateFrequency.SelectedFrequencyType = SelectedFrequencyType;
                }

                object[,] methodData = item.Method.ExportMeanResults();

                if (methodData == null)
                {
                    continue;
                }

                numberOfRows += methodData.Length + 3;
                int columnCount = methodData.GetLength(1);
                if (columnCount > maxColumns)
                {
                    maxColumns = columnCount;
                }

                data.Add(methodData);
            }

            ObservableCollection<DataGridColumn> columns = new ObservableCollection<DataGridColumn>();
            for (int column = 0; column < maxColumns; column++)
            {
                DataGridTextColumn currentColumn = new DataGridTextColumn();
                currentColumn.Binding = new Binding("[" + column + "]");
                columns.Add(currentColumn);
            }

            int rowCounter = 0;
            ObservableCollection<object[]> columnData = new ObservableCollection<object[]>();
            foreach (object[,] methodData in data)
            {
                int rowCount = methodData.GetLength(0);
                int columnCount = methodData.GetLength(1);

                for (int i = 0; i < rowCount; i++)
                {
                    object[] currentRow = new object[columnCount];
                    for (int j = 0; j < columnCount; j++)
                    {
                        currentRow[j] = methodData[i, j];
                    }

                    columnData.Add(currentRow);
                }
            }

            Columns = columns;
            ColumnData = columnData;

            object[,] finalData = new object[numberOfRows, maxColumns];

            //int rowCounter = 0;
            foreach (object[,] methodData in data)
            {
                int rowCount = methodData.GetLength(0);
                int columnCount = methodData.GetLength(1);

                for (int i = 0; i < rowCount; i++)
                {
                    for (int j = 0; j < columnCount; j++)
                    {
                        finalData[i + rowCounter, j] = methodData[i, j];
                    }
                }

                rowCounter += rowCount;
                rowCounter += 1;
                finalData[rowCounter, 0] = "--------------------------------------------";
                rowCounter += 2;
            }

            FinalData = finalData;
        }
Ejemplo n.º 44
0
		static ADAMStoreCtx()
		{
			bool flag;
			object[,] objArray = new object[3, 2];
			objArray[0, 0] = "ms-DS-UserPasswordNotRequired";
			objArray[0, 1] = "FALSE";
			objArray[1, 0] = "msDS-UserDontExpirePassword";
			objArray[1, 1] = "FALSE";
			objArray[2, 0] = "ms-DS-UserEncryptedTextPasswordAllowed";
			objArray[2, 1] = "FALSE";
			ADAMStoreCtx.PresenceStateTable = objArray;
			object[,] fromLdapConverterDelegate = new object[39, 4];
			fromLdapConverterDelegate[0, 0] = "Principal.Description";
			fromLdapConverterDelegate[0, 1] = "description";
			fromLdapConverterDelegate[0, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter);
			fromLdapConverterDelegate[0, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter);
			fromLdapConverterDelegate[1, 0] = "Principal.DisplayName";
			fromLdapConverterDelegate[1, 1] = "displayName";
			fromLdapConverterDelegate[1, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter);
			fromLdapConverterDelegate[1, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter);
			fromLdapConverterDelegate[2, 0] = "Principal.DistinguishedName";
			fromLdapConverterDelegate[2, 1] = "distinguishedName";
			fromLdapConverterDelegate[2, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter);
			fromLdapConverterDelegate[2, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter);
			fromLdapConverterDelegate[3, 0] = "Principal.Sid";
			fromLdapConverterDelegate[3, 1] = "objectSid";
			fromLdapConverterDelegate[3, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.SidFromLdapConverter);
			fromLdapConverterDelegate[4, 0] = "Principal.SamAccountName";
			fromLdapConverterDelegate[4, 1] = "name";
			fromLdapConverterDelegate[5, 0] = "Principal.UserPrincipalName";
			fromLdapConverterDelegate[5, 1] = "userPrincipalName";
			fromLdapConverterDelegate[5, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter);
			fromLdapConverterDelegate[5, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter);
			fromLdapConverterDelegate[6, 0] = "Principal.Guid";
			fromLdapConverterDelegate[6, 1] = "objectGuid";
			fromLdapConverterDelegate[6, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.GuidFromLdapConverter);
			fromLdapConverterDelegate[7, 0] = "Principal.StructuralObjectClass";
			fromLdapConverterDelegate[7, 1] = "objectClass";
			fromLdapConverterDelegate[7, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.ObjectClassFromLdapConverter);
			fromLdapConverterDelegate[8, 0] = "Principal.Name";
			fromLdapConverterDelegate[8, 1] = "name";
			fromLdapConverterDelegate[8, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter);
			fromLdapConverterDelegate[8, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter);
			fromLdapConverterDelegate[9, 0] = "Principal.ExtensionCache";
			fromLdapConverterDelegate[9, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.ExtensionCacheToLdapConverter);
			fromLdapConverterDelegate[10, 0] = "AuthenticablePrincipal.Enabled";
			fromLdapConverterDelegate[10, 1] = "msDS-UserAccountDisabled";
			fromLdapConverterDelegate[10, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.AcctDisabledFromLdapConverter);
			fromLdapConverterDelegate[10, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.AcctDisabledToLdapConverter);
			fromLdapConverterDelegate[11, 0] = "AuthenticablePrincipal.Certificates";
			fromLdapConverterDelegate[11, 1] = "userCertificate";
			fromLdapConverterDelegate[11, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.CertFromLdapConverter);
			fromLdapConverterDelegate[11, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.CertToLdap);
			fromLdapConverterDelegate[12, 0] = "GroupPrincipal.IsSecurityGroup";
			fromLdapConverterDelegate[12, 1] = "groupType";
			fromLdapConverterDelegate[12, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.GroupTypeFromLdapConverter);
			fromLdapConverterDelegate[12, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.GroupTypeToLdapConverter);
			fromLdapConverterDelegate[13, 0] = "GroupPrincipal.GroupScope";
			fromLdapConverterDelegate[13, 1] = "groupType";
			fromLdapConverterDelegate[13, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.GroupTypeFromLdapConverter);
			fromLdapConverterDelegate[13, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.GroupTypeToLdapConverter);
			fromLdapConverterDelegate[14, 0] = "UserPrincipal.GivenName";
			fromLdapConverterDelegate[14, 1] = "givenName";
			fromLdapConverterDelegate[14, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter);
			fromLdapConverterDelegate[14, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter);
			fromLdapConverterDelegate[15, 0] = "UserPrincipal.MiddleName";
			fromLdapConverterDelegate[15, 1] = "middleName";
			fromLdapConverterDelegate[15, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter);
			fromLdapConverterDelegate[15, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter);
			fromLdapConverterDelegate[16, 0] = "UserPrincipal.Surname";
			fromLdapConverterDelegate[16, 1] = "sn";
			fromLdapConverterDelegate[16, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter);
			fromLdapConverterDelegate[16, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter);
			fromLdapConverterDelegate[17, 0] = "UserPrincipal.EmailAddress";
			fromLdapConverterDelegate[17, 1] = "mail";
			fromLdapConverterDelegate[17, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter);
			fromLdapConverterDelegate[17, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter);
			fromLdapConverterDelegate[18, 0] = "UserPrincipal.VoiceTelephoneNumber";
			fromLdapConverterDelegate[18, 1] = "telephoneNumber";
			fromLdapConverterDelegate[18, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter);
			fromLdapConverterDelegate[18, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter);
			fromLdapConverterDelegate[19, 0] = "UserPrincipal.EmployeeId";
			fromLdapConverterDelegate[19, 1] = "employeeID";
			fromLdapConverterDelegate[19, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter);
			fromLdapConverterDelegate[19, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter);
			fromLdapConverterDelegate[20, 0] = "ComputerPrincipal.ServicePrincipalNames";
			fromLdapConverterDelegate[20, 1] = "servicePrincipalName";
			fromLdapConverterDelegate[20, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.MultiStringFromLdapConverter);
			fromLdapConverterDelegate[20, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.MultiStringToLdapConverter);
			fromLdapConverterDelegate[21, 0] = "AuthenticablePrincipal.AccountInfo.AccountLockoutTime";
			fromLdapConverterDelegate[21, 1] = "lockoutTime";
			fromLdapConverterDelegate[21, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.GenericDateTimeFromLdapConverter);
			fromLdapConverterDelegate[22, 0] = "AuthenticablePrincipal.AccountInfo.LastLogon";
			fromLdapConverterDelegate[22, 1] = "lastLogon";
			fromLdapConverterDelegate[22, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.LastLogonFromLdapConverter);
			fromLdapConverterDelegate[23, 0] = "AuthenticablePrincipal.AccountInfo.LastLogon";
			fromLdapConverterDelegate[23, 1] = "lastLogonTimestamp";
			fromLdapConverterDelegate[23, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.LastLogonFromLdapConverter);
			fromLdapConverterDelegate[24, 0] = "AuthenticablePrincipal.AccountInfo.PermittedWorkstations";
			fromLdapConverterDelegate[24, 1] = "userWorkstations";
			fromLdapConverterDelegate[25, 0] = "AuthenticablePrincipal.AccountInfo.PermittedLogonTimes";
			fromLdapConverterDelegate[25, 1] = "logonHours";
			fromLdapConverterDelegate[26, 0] = "AuthenticablePrincipal.AccountInfo.AccountExpirationDate";
			fromLdapConverterDelegate[26, 1] = "accountExpires";
			fromLdapConverterDelegate[26, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.AcctExpirFromLdapConverter);
			fromLdapConverterDelegate[26, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.AcctExpirToLdapConverter);
			fromLdapConverterDelegate[27, 0] = "AuthenticablePrincipal.AccountInfo.SmartcardLogonRequired";
			fromLdapConverterDelegate[27, 1] = "userAccountControl";
			fromLdapConverterDelegate[28, 0] = "AuthenticablePrincipal.AccountInfo.DelegationPermitted";
			fromLdapConverterDelegate[28, 1] = "userAccountControl";
			fromLdapConverterDelegate[29, 0] = "AuthenticablePrincipal.AccountInfo.BadLogonCount";
			fromLdapConverterDelegate[29, 1] = "badPwdCount";
			fromLdapConverterDelegate[29, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.IntFromLdapConverter);
			fromLdapConverterDelegate[30, 0] = "AuthenticablePrincipal.AccountInfo.HomeDirectory";
			fromLdapConverterDelegate[30, 1] = "homeDirectory";
			fromLdapConverterDelegate[31, 0] = "AuthenticablePrincipal.AccountInfo.HomeDrive";
			fromLdapConverterDelegate[31, 1] = "homeDrive";
			fromLdapConverterDelegate[32, 0] = "AuthenticablePrincipal.AccountInfo.ScriptPath";
			fromLdapConverterDelegate[32, 1] = "scriptPath";
			fromLdapConverterDelegate[33, 0] = "AuthenticablePrincipal.PasswordInfo.LastPasswordSet";
			fromLdapConverterDelegate[33, 1] = "pwdLastSet";
			fromLdapConverterDelegate[33, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.GenericDateTimeFromLdapConverter);
			fromLdapConverterDelegate[34, 0] = "AuthenticablePrincipal.PasswordInfo.LastBadPasswordAttempt";
			fromLdapConverterDelegate[34, 1] = "badPasswordTime";
			fromLdapConverterDelegate[34, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.GenericDateTimeFromLdapConverter);
			fromLdapConverterDelegate[35, 0] = "AuthenticablePrincipal.PasswordInfo.PasswordNotRequired";
			fromLdapConverterDelegate[35, 1] = "ms-DS-UserPasswordNotRequired";
			fromLdapConverterDelegate[35, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.BoolFromLdapConverter);
			fromLdapConverterDelegate[35, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.BoolToLdapConverter);
			fromLdapConverterDelegate[36, 0] = "AuthenticablePrincipal.PasswordInfo.PasswordNeverExpires";
			fromLdapConverterDelegate[36, 1] = "msDS-UserDontExpirePassword";
			fromLdapConverterDelegate[36, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.BoolFromLdapConverter);
			fromLdapConverterDelegate[36, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.BoolToLdapConverter);
			fromLdapConverterDelegate[37, 0] = "AuthenticablePrincipal.PasswordInfo.UserCannotChangePassword";
			fromLdapConverterDelegate[37, 1] = "ntSecurityDescriptor";
			fromLdapConverterDelegate[37, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.CannotChangePwdToLdapConverter);
			fromLdapConverterDelegate[38, 0] = "AuthenticablePrincipal.PasswordInfo.AllowReversiblePasswordEncryption";
			fromLdapConverterDelegate[38, 1] = "ms-DS-UserEncryptedTextPasswordAllowed";
			fromLdapConverterDelegate[38, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.BoolFromLdapConverter);
			fromLdapConverterDelegate[38, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.BoolToLdapConverter);
			ADAMStoreCtx.propertyMappingTableRaw = fromLdapConverterDelegate;
			object[,] filterConverterDelegate = new object[37, 3];
			filterConverterDelegate[0, 0] = typeof(DescriptionFilter);
			filterConverterDelegate[0, 1] = "description";
			filterConverterDelegate[0, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter);
			filterConverterDelegate[1, 0] = typeof(DisplayNameFilter);
			filterConverterDelegate[1, 1] = "displayName";
			filterConverterDelegate[1, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter);
			filterConverterDelegate[2, 0] = typeof(IdentityClaimFilter);
			filterConverterDelegate[2, 1] = "";
			filterConverterDelegate[2, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.IdentityClaimConverter);
			filterConverterDelegate[3, 0] = typeof(DistinguishedNameFilter);
			filterConverterDelegate[3, 1] = "distinguishedName";
			filterConverterDelegate[3, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter);
			filterConverterDelegate[4, 0] = typeof(GuidFilter);
			filterConverterDelegate[4, 1] = "objectGuid";
			filterConverterDelegate[4, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.GuidConverter);
			filterConverterDelegate[5, 0] = typeof(UserPrincipalNameFilter);
			filterConverterDelegate[5, 1] = "userPrincipalName";
			filterConverterDelegate[5, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter);
			filterConverterDelegate[6, 0] = typeof(StructuralObjectClassFilter);
			filterConverterDelegate[6, 1] = "objectClass";
			filterConverterDelegate[6, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter);
			filterConverterDelegate[7, 0] = typeof(NameFilter);
			filterConverterDelegate[7, 1] = "name";
			filterConverterDelegate[7, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter);
			filterConverterDelegate[8, 0] = typeof(CertificateFilter);
			filterConverterDelegate[8, 1] = "";
			filterConverterDelegate[8, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.CertificateConverter);
			filterConverterDelegate[9, 0] = typeof(AuthPrincEnabledFilter);
			filterConverterDelegate[9, 1] = "msDS-UserAccountDisabled";
			filterConverterDelegate[9, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.AcctDisabledConverter);
			filterConverterDelegate[10, 0] = typeof(PermittedWorkstationFilter);
			filterConverterDelegate[10, 1] = "userWorkstations";
			filterConverterDelegate[10, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter);
			filterConverterDelegate[11, 0] = typeof(PermittedLogonTimesFilter);
			filterConverterDelegate[11, 1] = "logonHours";
			filterConverterDelegate[11, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.BinaryConverter);
			filterConverterDelegate[12, 0] = typeof(ExpirationDateFilter);
			filterConverterDelegate[12, 1] = "accountExpires";
			filterConverterDelegate[12, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.ExpirationDateConverter);
			filterConverterDelegate[13, 0] = typeof(SmartcardLogonRequiredFilter);
			filterConverterDelegate[13, 1] = "userAccountControl";
			filterConverterDelegate[13, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.UserAccountControlConverter);
			filterConverterDelegate[14, 0] = typeof(DelegationPermittedFilter);
			filterConverterDelegate[14, 1] = "userAccountControl";
			filterConverterDelegate[14, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.UserAccountControlConverter);
			filterConverterDelegate[15, 0] = typeof(HomeDirectoryFilter);
			filterConverterDelegate[15, 1] = "homeDirectory";
			filterConverterDelegate[15, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter);
			filterConverterDelegate[16, 0] = typeof(HomeDriveFilter);
			filterConverterDelegate[16, 1] = "homeDrive";
			filterConverterDelegate[16, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter);
			filterConverterDelegate[17, 0] = typeof(ScriptPathFilter);
			filterConverterDelegate[17, 1] = "scriptPath";
			filterConverterDelegate[17, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter);
			filterConverterDelegate[18, 0] = typeof(PasswordNotRequiredFilter);
			filterConverterDelegate[18, 1] = "ms-DS-UserPasswordNotRequired";
			filterConverterDelegate[18, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.DefaultValueBoolConverter);
			filterConverterDelegate[19, 0] = typeof(PasswordNeverExpiresFilter);
			filterConverterDelegate[19, 1] = "msDS-UserDontExpirePassword";
			filterConverterDelegate[19, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.DefaultValueBoolConverter);
			filterConverterDelegate[20, 0] = typeof(CannotChangePasswordFilter);
			filterConverterDelegate[20, 1] = "userAccountControl";
			filterConverterDelegate[20, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.UserAccountControlConverter);
			filterConverterDelegate[21, 0] = typeof(AllowReversiblePasswordEncryptionFilter);
			filterConverterDelegate[21, 1] = "ms-DS-UserEncryptedTextPasswordAllowed";
			filterConverterDelegate[21, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.DefaultValueBoolConverter);
			filterConverterDelegate[22, 0] = typeof(GivenNameFilter);
			filterConverterDelegate[22, 1] = "givenName";
			filterConverterDelegate[22, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter);
			filterConverterDelegate[23, 0] = typeof(MiddleNameFilter);
			filterConverterDelegate[23, 1] = "middleName";
			filterConverterDelegate[23, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter);
			filterConverterDelegate[24, 0] = typeof(SurnameFilter);
			filterConverterDelegate[24, 1] = "sn";
			filterConverterDelegate[24, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter);
			filterConverterDelegate[25, 0] = typeof(EmailAddressFilter);
			filterConverterDelegate[25, 1] = "mail";
			filterConverterDelegate[25, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter);
			filterConverterDelegate[26, 0] = typeof(VoiceTelephoneNumberFilter);
			filterConverterDelegate[26, 1] = "telephoneNumber";
			filterConverterDelegate[26, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter);
			filterConverterDelegate[27, 0] = typeof(EmployeeIDFilter);
			filterConverterDelegate[27, 1] = "employeeID";
			filterConverterDelegate[27, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter);
			filterConverterDelegate[28, 0] = typeof(GroupIsSecurityGroupFilter);
			filterConverterDelegate[28, 1] = "groupType";
			filterConverterDelegate[28, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.GroupTypeConverter);
			filterConverterDelegate[29, 0] = typeof(GroupScopeFilter);
			filterConverterDelegate[29, 1] = "groupType";
			filterConverterDelegate[29, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.GroupTypeConverter);
			filterConverterDelegate[30, 0] = typeof(ServicePrincipalNameFilter);
			filterConverterDelegate[30, 1] = "servicePrincipalName";
			filterConverterDelegate[30, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter);
			filterConverterDelegate[31, 0] = typeof(ExtensionCacheFilter);
			filterConverterDelegate[31, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.ExtensionCacheConverter);
			filterConverterDelegate[32, 0] = typeof(BadPasswordAttemptFilter);
			filterConverterDelegate[32, 1] = "badPasswordTime";
			filterConverterDelegate[32, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.DefaultValutMatchingDateTimeConverter);
			filterConverterDelegate[33, 0] = typeof(ExpiredAccountFilter);
			filterConverterDelegate[33, 1] = "accountExpires";
			filterConverterDelegate[33, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.MatchingDateTimeConverter);
			filterConverterDelegate[34, 0] = typeof(LastLogonTimeFilter);
			filterConverterDelegate[34, 1] = "lastLogonTimestamp";
			filterConverterDelegate[34, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.DefaultValutMatchingDateTimeConverter);
			filterConverterDelegate[35, 0] = typeof(LockoutTimeFilter);
			filterConverterDelegate[35, 1] = "lockoutTime";
			filterConverterDelegate[35, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.DefaultValutMatchingDateTimeConverter);
			filterConverterDelegate[36, 0] = typeof(PasswordSetTimeFilter);
			filterConverterDelegate[36, 1] = "pwdLastSet";
			filterConverterDelegate[36, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.DefaultValutMatchingDateTimeConverter);
			ADAMStoreCtx.filterPropertiesTableRaw = filterConverterDelegate;
			ADStoreCtx.LoadFilterMappingTable(1, ADAMStoreCtx.filterPropertiesTableRaw);
			ADStoreCtx.LoadPropertyMappingTable(1, ADAMStoreCtx.propertyMappingTableRaw);
			if (ADStoreCtx.NonPresentAttrDefaultStateMapping == null)
			{
				ADStoreCtx.NonPresentAttrDefaultStateMapping = new Dictionary<string, bool>();
			}
			for (int i = 0; i < ADAMStoreCtx.PresenceStateTable.GetLength(0); i++)
			{
				string presenceStateTable = ADAMStoreCtx.PresenceStateTable[i, 0] as string;
				string str = ADAMStoreCtx.PresenceStateTable[i, 1] as string;
				Dictionary<string, bool> nonPresentAttrDefaultStateMapping = ADStoreCtx.NonPresentAttrDefaultStateMapping;
				string str1 = presenceStateTable;
				if (str == "FALSE")
				{
					flag = false;
				}
				else
				{
					flag = true;
				}
				nonPresentAttrDefaultStateMapping.Add(str1, flag);
			}
		}
Ejemplo n.º 45
0
        private void LoadExcelFile(string fileName)
        {
            System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;

            ShowLoadingScreen();
            ClearDataGridView();
            tempDataTable = new DataTable();

            postepLabel.Text += "\nOtwieranie pliku excel...";

            Excel.Application xlApp       = new Excel.Application();
            Excel.Workbook    xlWorkbook  = xlApp.Workbooks.Open(fileName);
            Excel._Worksheet  xlWorksheet = xlWorkbook.Sheets[1];
            Excel.Range       xlRange     = xlWorksheet.UsedRange;

            int rowCount = xlRange.Rows.Count;
            int colCount = xlRange.Columns.Count;

            if (rowCount > 0 && colCount > 0)
            {
                tempDataTable.Columns.Add("Name");
                tempDataTable.Columns.Add("Pos.");

                for (int i = 0; i <= colCount - 3; i++)
                {
                    String czasPomiaru = "";
                    if (i < 10)
                    {
                        czasPomiaru = "0" + i + ":00";
                    }
                    else
                    {
                        czasPomiaru = i + ":00";
                    }

                    tempDataTable.Columns.Add(czasPomiaru);
                }

                tempDataTable.Columns.Add("Średnia arytmetyczna z odczytów");
                tempDataTable.Columns.Add("Wartość temperatury przy maksymalnym przekroczeniu dopuszczalnej temperatury");
                tempDataTable.Columns.Add("Czas trwania maksymalnego przekroczenia temperatury");
                tempDataTable.Columns.Add("Liczba wszystkich przypadków przekroczenia maksymalnej dopuszczalnej temperatury");
                tempDataTable.Columns.Add("Sumaryczny czas trwania wszystkich przypadków przekroczenia maksymalnej dopuszczalnej temperatury");
                tempDataTable.Columns.Add("Procentowy udział czasu przechowywania środka spożywczego poza dopuszczalnym zakresem temperatur");
                tempDataTable.Columns.Add("Przekroczenie");
                tempDataTable.Columns.Add("Alarm");

                postepLabel.Text += "\nOdczytywanie informacji nagłówkowych...";
                object[,] values  = (object[, ])xlRange.Value2;

                dataOdczytu = values[1, 1].ToString();
                String[] tempStringArray = dataOdczytu.Split(' ');
                dataOdczytu = tempStringArray[tempStringArray.Length - 1];

                nazwaSklepu     = values[2, 1].ToString();
                tempStringArray = nazwaSklepu.Split(' ');
                nazwaSklepu     = tempStringArray[tempStringArray.Length - 1];

                sklepID    = -1;
                naglowekID = WygenerujNaglowek(ref sklepID);

                if (naglowekID >= 0 && sklepID >= 0)
                {
                    postepLabel.Text += "\nOdczytywanie danych...";
                    ShowProgressBar(rowCount);

                    for (int i = 7; i <= rowCount; i++)
                    {
                        String nazwaUrzadzenia = values[i, 1].ToString();
                        String modulUrzadzenia = values[i, 2].ToString();

                        tempDataTable.Rows.Add();
                        tempDataTable.Rows[i - 7][0] = nazwaUrzadzenia;
                        tempDataTable.Rows[i - 7][1] = modulUrzadzenia;

                        for (int j = 3; j <= colCount; j++)
                        {
                            String czasPomiaru = "";
                            if (j - 3 < 10)
                            {
                                czasPomiaru = "0" + (j - 3) + ":00";
                            }
                            else
                            {
                                czasPomiaru = j - 3 + ":00";
                            }

                            String  cellResult = values[i, j].ToString();
                            String  stan       = "";
                            Decimal?wartosc    = 0;

                            if (cellResult[cellResult.Length - 1] == '!')
                            {
                                stan       = "alarm";
                                cellResult = cellResult.Replace('!', '\0');
                            }


                            if (cellResult[cellResult.Length - 1] == '*')
                            {
                                stan    = "defrost";
                                wartosc = null;
                            }
                            else
                            {
                                wartosc = Convert.ToDecimal(cellResult.Replace(',', '.'));
                            }

                            tempDataTable.Rows[i - 7][j - 1] = cellResult;
                            ZapiszOdczyt(sklepID, naglowekID, nazwaUrzadzenia, modulUrzadzenia, czasPomiaru, wartosc, stan);
                        }

                        progressBar.Value++;
                    }
                }
                dataGridView.DataSource = tempDataTable;
            }
            else
            {
                MessageBox.Show("Wczytywany plik ma 0 wierszy lub 0 kolumn.", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }


            postepLabel.Text += "\nZamykanie pliku excel...";

            ustawNazwy();
            xlWorkbook.Close(false, null, null);
            xlApp.Quit();

            panel.Dispose();
            System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default;
        }
Ejemplo n.º 46
0
        public void CreateAmortisedSwapTest()
        {
            object[,] swapTermsList
                = new object[, ]
                {
                { "SwapReferenceIdentifier", "SWAP-1" },
                { "EffectiveDate", Convert.ToDateTime("15/05/2009") },
                { "TerminationDate", Convert.ToDateTime("15/05/2014") },
                { "AdjustCalculationDates", true },
                { "BasePartyPaysRecievesInd", "Pays" },
                { "CounterpartyName", "Telstra" },
                { "QuotedCurrencyPair", "AUD-AUD" },
                { "NotionalAmount", 1000000 },
                { "NotionalCurrency", "AUD" },
                { "PayReceiveSpotRate", 1 },
                { "hasInitialExchange", false },
                { "hasFinallExchange", false },
                { "principleExchangeBusinessCenters", "Sydney" },
                { "principleExchangeAdjustementConvention", "MODFOLLOWING" }
                };

            object[,] payLegTermsList
                = new object[, ]
                {
                { "StreamType", "Fixed" },
                { "NotionalAmount", 1000000.00 },
                { "Currency", "AUD" },
                { "ScheduleGeneration", "Forward" },
                { "BusinessCenters", "Sydney" },
                { "CouponPeriod", "6m" },
                { "RollDay", "1" },
                { "CouponDateAdjustment", "FOLLOWING" },
                { "DayCountConvention", "ACT/365.FIXED" },
                { "DiscountingType", "Standard" },
                { "DiscountCurveReference", "RateCurve.AUD-LIBOR-BBA-3M" },
                { "FixedOrObservedRate", 0.06 },
                { "ObservedRateSpecified", false },
                { "ForwardCurveReference", "RateCurve.AUD-LIBOR-BBA-3M" },
                { "FixingDateBusinessCenters", "Sydney" },
                { "FixingDateResetInterval", "0D" },
                { "FixingDateAdjustmentConvention", "NONE" },
                { "RateIndexName", "AUD-LIBOR-BBA" },
                { "RateIndexTenor", "6m" },
                { "Spread", 0.0022 }
                };

            object[,] receiveLegTermsList = new object[, ]
            {
                { "StreamType", "Floating" },
                { "NotionalAmount", 1000000 },
                { "Currency", "AUD" },
                { "ScheduleGeneration", "Forward" },
                { "BusinessCenters", "Sydney" },
                { "CouponPeriod", "6m" },
                { "RollDay", "1" },
                { "CouponDateAdjustment", "FOLLOWING" },
                { "DayCountConvention", "ACT/365.FIXED" },
                { "DiscountingType", "Standard" },
                { "DiscountCurveReference", "RateCurve.AUD-LIBOR-BBA-3M" },
                { "FixedOrObservedRate", 0 },
                { "ObservedRateSpecified", false },
                { "ForwardCurveReference", "RateCurve.AUD-LIBOR-BBA-3M" },
                { "FixingDateBusinessCenters", "Sydney" },
                { "FixingDateResetInterval", "0D" },
                { "FixingDateAdjustmentConvention", "NONE" },
                { "RateIndexName", "AUD-LIBOR-BBA" },
                { "RateIndexTenor", "6m" },
                { "Spread", 0.0007 }
            };

            object[,] payLegAmortisationStepSchedule     = null; // TODO: Initialize to an appropriate value
            object[,] receiveLegAmortisationStepSchedule = null; // TODO: Initialize to an appropriate value
            object[,] payCouponStepSchedule     = null;          // TODO: Initialize to an appropriate value
            object[,] receiveCouponStepSchedule = null;          // TODO: Initialize to an appropriate value
            string expected = "SWAP-1";
            string actual;

            actual = IRSwap.CreateAmortisedSwap(swapTermsList, payLegTermsList, receiveLegTermsList, payLegAmortisationStepSchedule, receiveLegAmortisationStepSchedule, payCouponStepSchedule, receiveCouponStepSchedule);
            Assert.AreEqual(expected, actual);
        }
Ejemplo n.º 47
0
        /// <summary>
        /// Loads the command configuration from the specified file.
        /// </summary>
        /// <param name="fileName">The file name.</param>
        public void Load(string fileName)
        {
            // Open the XML document at the specified file.
            XDocument document = XDocument.Load(fileName);

            // Set the command configuration.
            this.id = Guid.Parse(document.Root.Attribute(PlCommand.xmlId).Value);
            this.command = document.Root.Element(PlCommand.xmlCommand).Value;

            // Get the parameters element.
            XElement parameters = document.Root.Element(PlCommand.xmlParameters);

            // Set the parameters configuration.
            int parametersCount = int.Parse(parameters.Attribute(PlCommand.xmlParametersCount).Value);
            int setsCount = int.Parse(parameters.Attribute(PlCommand.xmlSetsCount).Value);

            // If the parameters are not zero, create the parameteres.
            if ((parametersCount > 0) && (setsCount > 0))
            {
                // Resize the parameters
                this.ResizeParameters(parametersCount, setsCount);

                // Parse the parameters.
                int indexParam = 0;
                foreach (XElement parameter in parameters.Elements(PlCommand.xmlParameter))
                {
                    int indexSet = 0;
                    foreach (XElement set in parameter.Elements(PlCommand.xmlSet))
                    {
                        this.parameters[indexParam, indexSet++] = set.Value;
                    }
                    indexParam++;
                }
            }
            else this.parameters = null;
        }
Ejemplo n.º 48
0
 private void LoadSourceFile()
 {
     _partNumber = GetStringCell(BendSheetDataMap.PART_NUMBER);
     _inputData = _engine.GetRange(BendSheetDataMap.INPUT_DATA[0], BendSheetDataMap.INPUT_DATA[1]);
     _drawingCoordinates = _engine.GetRange(BendSheetDataMap.DRAWING_COORDINATES[0], BendSheetDataMap.DRAWING_COORDINATES[1]);
     _autoBendSheet = _engine.GetRange(BendSheetDataMap.AUTO_BEND_SHEET[0], BendSheetDataMap.AUTO_BEND_SHEET[1]);
     _customer = GetStringCell(BendSheetDataMap.CUSTOMER);
     _customerPartNumber = GetStringCell(BendSheetDataMap.CUSTOMER_PART_NUMBER);
     _customerRevisionLevel = GetStringCell(BendSheetDataMap.CUSTOMER_REVISION_LEVEL);
     _notes = GetStringCell(BendSheetDataMap.NOTES);
     _cablePN = GetStringCell(BendSheetDataMap.CABLE_PN);
     _cableDescription = GetStringCell(BendSheetDataMap.CABLE_DESCRIPTION);
     _asOfDate = GetStringCell(BendSheetDataMap.AS_OF_DATE);
     _firstEnd = GetStringCell(BendSheetDataMap.FIRST_END);
     _secondEnd = GetStringCell(BendSheetDataMap.SECOND_END);
     _firstStrip = GetStringCell(BendSheetDataMap.FIRST_STRIP);
     _secondStrip = GetStringCell(BendSheetDataMap.SECOND_STRIP);
     _bendRadiusCL = GetStringCell(BendSheetDataMap.BEND_RADIUS_CL);
     _firstEndConnector = GetStringCell(BendSheetDataMap.FIRST_END_CONNECTOR);
     _secondEndConnector = GetStringCell(BendSheetDataMap.SECOND_END_CONNECTOR);
     _cableDiameter = GetStringCell(BendSheetDataMap.CABLE_DIAMETER);
     _numberOfCoordinates = GetStringCell(BendSheetDataMap.NUMBER_OF_COORDINATES);
     _conversionFactor = GetStringCell(BendSheetDataMap.CONVERSION_FACTOR);
 }
Ejemplo n.º 49
0
        private void Clear()
        {
            selectedCharacterRow = moveRow;
            selectedCharacterCol = moveCol;

            clearMoveOptions();
            rowPlot.Clear();
            colPlot.Clear();
            index = 0;
            position = null;
            position = new object[15, 15];

            //Reenables the mouse once the animation is done and the user can't screw things up.
            this.IsHitTestVisible = true;
            //Sets the cursor back to the normal one.
            Mouse.OverrideCursor = null;

            if (tutFirstMoveExitClicked)
            {
                hero1MoveCheck();
                End_Turn.IsEnabled = true;
                clearMoveOptions();

                for (int r = 0; r < numRows; r++)
                {
                    for (int c = 0; c < numCols; c++)
                    {
                        boardspaces[r, c].BorderThickness = new Thickness(0);
                    }
                }
            }
        }
Ejemplo n.º 50
0
        private int spreadSheetValsDetect(DataGridView ExcelDataVals)
        {
            List <string> deConstructerStr  = new List <string>();
            List <string> deConstructerStr2 = new List <string>();
            //ExcelDataVals.Rows.RemoveAt(11);    //remove index column
            Boolean OccuranceFilter = false;
            int     index           = 0;


            MyApp = new Excel.Application();

            //store value main excel window value in ProcessExcelVars class
            hWnd = MyApp.Hwnd;
            PartsListClass.Hwind = hWnd;

            MyApp.Visible = false;
            MyBook        = MyApp.Workbooks.Open(ExcelPath);
            MySheet       = (Excel.Worksheet)MyBook.Sheets[1];      // Explict cast is not required here
            lastRow       = MySheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row;
            lastCol       = MySheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Column;

            //Create a new write range for the spreadsheet entries to be added too
            int StartCellRow = 1;
            int LasttCellRow = lastRow;

            //Get Excel value range of cells
            Excel.Range CellStart  = (Excel.Range)MySheet.Cells[StartCellRow, 1];
            Excel.Range CellEnd    = (Excel.Range)MySheet.Cells[LasttCellRow, lastCol];
            Excel.Range MySheetRng = MySheet.get_Range(CellStart, CellEnd);

            //Store values inside object array
            object[,] data = MySheetRng.Cells.Value2;

            OccuranceFilter = deConstructerStr.SequenceEqual(deConstructerStr2);

            for (int i = 0; i < lastRow; i++)
            {
                for (int j = 0; j < lastCol; j++)
                {
                    deConstructerStr.Add((data[i + 1, 1 + j] ?? String.Empty).ToString());
                    deConstructerStr2.Add((ExcelDataVals.CurrentRow.Cells[j].Value ?? String.Empty).ToString());
                }
            }

            //Quit Excel application and release all references
            //and allow Garbage collector to handle the cleaning process
            MyBook.Close(false, Type.Missing, Type.Missing);

            MyApp.Quit();
            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();
            GC.WaitForPendingFinalizers();
            Marshal.FinalReleaseComObject(MySheet);
            Marshal.FinalReleaseComObject(MyBook);
            Marshal.FinalReleaseComObject(MyApp);
            MyApp   = null;
            MyBook  = null;
            MySheet = null;
            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();
            GC.WaitForPendingFinalizers();
            //Kill excel process that was ctreated in memory
            KillProcessByMainWindows(hWnd);

            return(0);
        }
Ejemplo n.º 51
0
 public override void Do()
 {
     backupData = Grid.GetRangeData(base.Range);
     Debug.Assert(backupData != null);
     base.Grid.SetRangeData(base.Range, data);
     Grid.SelectRange(base.Range);
 }
Ejemplo n.º 52
0
        static void Main(string[] args)
        {
            Microsoft.Office.Interop.Excel.Application app_xls = new Microsoft.Office.Interop.Excel.Application();
            Microsoft.Office.Interop.Word.Application  app_doc = new Microsoft.Office.Interop.Word.Application();

            Microsoft.Office.Interop.Excel.Workbook wb_result = app_xls.Workbooks.Open(StartupPath + "志愿者报名.xlsx", Editable: true);
            Worksheet ws_result = wb_result.Sheets["auto"];
            int       ws_result_StartEditingRow = ws_result.UsedRange.Rows.Count + 1;

            Console.WriteLine("wb_result Start writing from Row " + ws_result_StartEditingRow);

            Microsoft.Office.Interop.Excel.Range xls_names = ws_result.UsedRange.Columns[1];
            object[,] xls_names_value = null;
            if (ws_result.UsedRange.Rows.Count > 1)
            {
                xls_names_value = (object[, ])xls_names.get_Value();
            }

            int counting = GetXls().Count();

            try
            {
                foreach (FileInfo xls_fi in GetXls())
                {
                    Console.WriteLine("******************* " + (counting--) + " *****************");
                    int xlsAnalyzed = 0;
                    if (xls_names_value != null)
                    {
                        foreach (var item in xls_names_value)
                        {
                            if (item != null && item.ToString().Contains(xls_fi.Name))
                            {
                                xlsAnalyzed = 1;
                                break;
                            }
                        }
                    }
                    if (xlsAnalyzed == 1)
                    {
                        continue;
                    }



                    //else start analyzing xls
                    string xls = xls_fi.FullName;
                    Microsoft.Office.Interop.Excel.Workbook wb_single = app_xls.Workbooks.Open(xls, ReadOnly: true);
                    Worksheet ws_raw = wb_single.Sheets[1]; //only 1 sheet

                    //set xls name

                    ((Microsoft.Office.Interop.Excel.Range)ws_result.Cells[ws_result_StartEditingRow, 1]).set_Value(Missing.Value, wb_single.Name.ToString());


                    //copy single to result
                    for (int i = 4; i <= 25; i++)
                    {
                        string c = ((Microsoft.Office.Interop.Excel.Range)ws_raw.Cells[i, 4]).Text;
                        if (c == "")
                        {
                            c = ((Microsoft.Office.Interop.Excel.Range)ws_raw.Cells[i - 1, 3]).Text;
                        }

                        Console.WriteLine(c);
                        ((Microsoft.Office.Interop.Excel.Range)ws_result.Cells[ws_result_StartEditingRow, i - 2]).set_Value(Missing.Value, c);
                    }



                    string doc = GetDoc_ByXlsName(wb_single.Name);

                    Microsoft.Office.Interop.Excel.Range Cell_DocFileName = ws_result.Cells[ws_result_StartEditingRow, 27];

                    if (doc == null)
                    {
                        Cell_DocFileName.set_Value(Missing.Value, "DocNotFound");
                    }
                    else
                    {
                        Document document = app_doc.Documents.Open(doc, ReadOnly: true);
                        Cell_DocFileName.set_Value(Missing.Value, document.Name);

                        int count = document.FormFields.Count;

                        for (int i = 1; i <= count; i++)
                        {
                            try //for Exception "对象已被删除。"
                            {
                                FormField ff    = document.FormFields[i];
                                string    name  = ff.Name;
                                string    value = ff.Result;

                                Console.WriteLine("{0}, {1}", name, value);
                                //Console.Write(text + "\t");

                                //        ((Microsoft.Office.Interop.Excel.Range)ws_result.Cells[1, i + 27]).set_Value(Missing.Value, name);
                                ((Microsoft.Office.Interop.Excel.Range)ws_result.Cells[ws_result_StartEditingRow, i + 27]).set_Value(Missing.Value, value);
                            }
                            catch (Exception e)
                            {
                                Console.WriteLine(e.Message);
                            }
                        }
                    }


                    wb_single.Close(SaveChanges: false);
                    ws_result_StartEditingRow++;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.ReadLine();
            }
            finally
            {
                wb_result.Save();
                wb_result.Close(SaveChanges: true);
                app_doc.Quit();
                app_xls.Quit();
                Console.WriteLine("Done!");
                Console.ReadLine();
            }
        }
Ejemplo n.º 53
0
        /// <summary>
        /// Generate KLOC report document
        /// </summary>
        /// <param name="workbook">Workbook name</param>
        /// <param name="sheetName">Sheet Name</param>
        /// <param name="reason">Reason for change</param>
        /// <returns></returns>
        /// 2019/07/13, Vinoth N,  Initial Version
        private void PrepareKLOCReport(Excel.Workbook workbook, string sheetName, string reason)
        {
            List <string> files = new List <string>();

            try
            {
                Excel.Worksheet worksheet        = null;
                var             ChangeCollection = LineCollection.Where(p => (p.AllCount > 0)).ToList();
                foreach (var collecion in ChangeCollection)
                {
                    collecion.ModType = "N";
                }
                worksheet = workbook.Sheets[2];
                Excel.Range usedrange = worksheet.UsedRange;
                usedrange.Rows.AutoFit();
                var sheet = (Excel.Worksheet)workbook.Worksheets.Item[2];
                try
                {
                    sheet.Name = sheetName;
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Sheet name has unsupported format: " + sheetName + ". Please change the project name");
                    LogModel.Log(ex.Message);
                    LogModel.Log(ex.StackTrace);
                }
                //Get the rows and fill the data
                if (worksheet.Rows != null)
                {
                    int colNo = worksheet.UsedRange.Columns.Count;
                    int rowNo = worksheet.UsedRange.Rows.Count;
                    object[,] array = worksheet.UsedRange.Rows.Value;
                    int rowCount = LineCollection.Count();
                    if (rowCount > 0)
                    {
                        int rowInx = 6;
                        foreach (CounterModel lines in ChangeCollection)
                        {
                            //append new row
                            RunProgressbar(ChangeCollection.IndexOf(lines) + 1, ChangeCollection.Count - 1, lines);
                            Excel.Range line = (Excel.Range)worksheet.Rows[rowInx];
                            worksheet.UsedRange.Cells[rowInx, 3] = lines.FileName.ToString();
                            if (lines.FunctionName != null)
                            {
                                worksheet.UsedRange.Cells[rowInx, 4] = ParseFunctionName(lines.FunctionName.ToString());
                            }
                            worksheet.UsedRange.Cells[rowInx, 7] = reason != null?reason.ToString() : "";

                            worksheet.UsedRange.Cells[rowInx, 6] = "-";
                            worksheet.UsedRange.Cells[rowInx, 5] = lines.Description != null?lines.Description.ToString() : "";

                            worksheet.UsedRange.Cells[rowInx, 8]  = "-";
                            worksheet.UsedRange.Cells[rowInx, 9]  = "-";
                            worksheet.UsedRange.Cells[rowInx, 12] = "-";
                            worksheet.UsedRange.Cells[rowInx, 13] = "-";
                            worksheet.UsedRange.Cells[rowInx, 12] = "N";
                            if (lines.IsGUI == true)
                            {
                                worksheet.UsedRange.Cells[rowInx, 13] = "G";
                            }
                            else
                            {
                                worksheet.UsedRange.Cells[rowInx, 13] = "L";
                            }
                            worksheet.UsedRange.Cells[rowInx, 14] = lines.AllCount;
                            worksheet.UsedRange.Cells[rowInx, 15] = lines.AddCount;
                            worksheet.UsedRange.Cells[rowInx, 16] = lines.ModCount;
                            worksheet.UsedRange.Cells[rowInx, 17] = lines.DelCount;
                            rowInx++;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                LogModel.Log(ex.Message);
                LogModel.Log(ex.StackTrace);
                throw new FileNotFoundException("Couldn't find your folder ! ");
            }
        }
Ejemplo n.º 54
0
        static void Main(string[] args)
        {
            // Создание объекта склад
            Console.WriteLine("Введите имя склада:");
            Warehouse w_Warehouse = new Warehouse(Console.ReadLine());

            Console.WriteLine("Склад " + w_Warehouse.GetSetName);

            // Главное меню с вызовами соответствующих функций
            while (true)
            {
                try
                {
                    Console.WriteLine("\nСклад " + w_Warehouse.GetSetName + "\nМеню\n" +
                                      "1. Добавить палеты в склад\n" +
                                      "2. Удалить палеты из склада\n" +
                                      "3. Добавить коробки в заданную палету\n" +
                                      "4. Удалить коробки из заданной палеты\n" +
                                      "5. Содержимое склада\n" +
                                      "6. Содержимое заданной палеты\n" +
                                      "7. Группировка палет\n" +
                                      "8. Вывести 3 палеты\n" +
                                      "9. Добавить данные в склад из файла\n" +
                                      "10. Записать данные из склада в файл\n" +
                                      "11. Выход\n");
                    int i_MenuItem = 0;
                    if (!int.TryParse(Console.ReadLine(), out i_MenuItem))
                    {
                        throw new ApplicationException("Введите корректный пункт меню.");
                    }
                    switch (i_MenuItem)
                    {
                    case 1:
                        Console.WriteLine("1. Добавить палеты в склад");

                        // Массив значений
                        object[,] o_Information = null;
                        // Заполнение информации пользователем
                        Menu.MenuItem1(o_Information);

                        // Добавление
                        w_Warehouse.AddPallets(o_Information);
                        Console.WriteLine("Добавление завершено");
                        break;

                    case 2:
                        Console.WriteLine("2. Удалить палеты из склада");

                        // Массив id
                        Guid[] g_Ids = null;
                        // Заполнение информации пользователем
                        Menu.MenuItem2(g_Ids);

                        // Удаление
                        w_Warehouse.DeletePallets(g_Ids);
                        Console.WriteLine("Удаление завершено");
                        break;

                    case 3:
                        Console.WriteLine("3. Добавить коробки в заданную палету");

                        o_Information = null;
                        // Заполнение информации пользователем
                        Guid g_Id = Menu.MenuItem3(o_Information);

                        // Добавление
                        w_Warehouse.AddBoxesInPallet(g_Id, o_Information);
                        Console.WriteLine("Добавление завершено");
                        break;

                    case 4:
                        Console.WriteLine("4. Удалить коробки из заданной палеты");

                        g_Ids = null;
                        // Заполнение информации пользователем
                        g_Id = Menu.MenuItem4(g_Ids);

                        // Удаление
                        w_Warehouse.DeleteBoxesInPallet(g_Id, g_Ids);
                        Console.WriteLine("Удаление завершено");
                        break;

                    case 5:
                        Console.WriteLine("5. Содержимое склада");
                        OutputInfo.OutputAllPallet(w_Warehouse.GetPallets);
                        break;

                    case 6:
                        Console.WriteLine("6. Содержимое заданной палеты");
                        Console.WriteLine("Введите id палеты:");
                        g_Id = new Guid(Console.ReadLine());
                        OutputInfo.OutputPallet(g_Id, w_Warehouse.GetPallets);
                        break;

                    case 7:
                        Console.WriteLine("7. Группировка палет");
                        OutputInfo.GroupPallets(w_Warehouse.GetPallets);
                        break;

                    case 8:
                        Console.WriteLine("8. Вывести 3 палеты");
                        OutputInfo.OutputTreePallets(w_Warehouse.GetPallets);
                        break;

                    case 9:
                        Console.WriteLine("9. Добавить данные в склад из файла");
                        Console.WriteLine("Введите полный путь к файлу:");
                        string s_Path = Console.ReadLine();
                        GetSetInfoFromFile.ReadFile(s_Path, w_Warehouse);
                        Console.WriteLine("Данные добавлены в склад");
                        break;

                    case 10:
                        Console.WriteLine("10. Записать данные из склада в файл");
                        Console.WriteLine("Введите полный путь к файлу:");
                        s_Path = Console.ReadLine();
                        GetSetInfoFromFile.WriteFile(s_Path, w_Warehouse);
                        Console.WriteLine("Данные записаны в файл");
                        break;

                    case 11:
                        Console.WriteLine("11. Выход");
                        return;

                    default:
                        Console.WriteLine("Введите корректный пункт меню.");
                        break;
                    }
                }
                catch (ApplicationException e_Ex)
                {
                    Console.WriteLine(e_Ex.Message);
                }
                catch (FormatException)
                {
                    Console.WriteLine("Введите корректное значение.");
                }
                catch (Exception e_Ex)
                {
                    Console.WriteLine("Код ошибки: {0}. Обратитесь в службу поддержки.", Math.Abs(e_Ex.HResult));
                }
            }
        }
Ejemplo n.º 55
0
        public void OnButtonPressed(IRibbonControl control)
        {
            //MessageBox.Show("Hello from control " + control.Id);

            string str=FirstAddIn.MyGetHostname();

            var UIHandler = new Action<object>((o) =>
            {
                ctrl.ShowDialog();
            });
             ExcelAsyncUtil.QueueAsMacro(() =>
            {
                refCell = (ExcelReference)XlCall.Excel(XlCall.xlfActiveCell);
            });

            if (waitSet) //avoid double submission
            {

                ThreadPool.QueueUserWorkItem(new WaitCallback(UIHandler));
                return;
            }
            else
            {
                waitSet = true;
            }

            var wait = new ManualResetEvent(false);

            var handler = new EventHandler((o, e) =>
            {
                cr = (TestWinForm.UserControl1.CtrlmRequest)o;
                result = MakeArrayetest(cr.row, cr.col);
                waitSet = false;
                wait.Set();

            });

            ctrl.registerCallback(handler);

            ThreadPool.QueueUserWorkItem(new WaitCallback(UIHandler));

            //For simplicity, we implement the wait here
            wait.WaitOne();

            //ExcelReference cell = ExcelAsyncUtil.QueueAsMacro(() =>XlCall.Excel(XlCall.xlfActiveCell);

            //ExcelReference caller = XlCall.Excel(XlCall.xlfCaller) as ExcelReference;
            //MessageBox.Show("Active cell:" + cell.RowFirst+","+cell.ColumnFirst);
            //var activeCell = new ExcelReference(1, 1);
            ExcelAsyncUtil.QueueAsMacro(() =>
            {
                //ExcelReference cell = (ExcelReference)XlCall.Excel(XlCall.xlfActiveCell);
                ExcelReference cell = refCell;
                int testRowSize = cr.row;
                int testColSize = cr.col;

                var activeCell = new ExcelReference(cell.RowFirst,testRowSize+cell.RowFirst-1, cell.ColumnLast ,cell.ColumnLast + testColSize-1);
                //object[,] o = new object[testRowSize, testColSize];

                //for (int i = 0; i < testRowSize; i++)
                //{
                //    o[i, 0] = i;
                //    o[i, 1] = "test" + i;
                //    o[i, 2] = DateTime.Now;
                //    o[i, 3] = "" + i + ",3";
                //    o[i, 4] = "" + i + ",4";
                //}

                activeCell.SetValue(result);
                XlCall.Excel(XlCall.xlcSelect, activeCell);

            });
        }
Ejemplo n.º 56
0
        public string punchy(int number1, string letter1, char value1)
        {
            object[,] theArray =
            {
                { 1, "a",   3 },
                { 1, "b",   4 },
                { 2, "b",   0 },
                { 2, "a",   0 },
                { 3, "a", "b" },
                { 2, "a",   0 },
                { 5, "a", "a" },
                { 2, "a",   0 },
                { 2, "b",   0 },
                { 7,   0,   0 }
            };

            object v = theArray[2, 1];

            Debug.WriteLine(v);

            // Problem J3 - Punchy - 2010
            // What I am attempting to do to solve the question
            // 1. Take in the desired input, To me a nested array seems to make the most sense as an input
            // 2. Loop through each array within the nested array. Each array will be formated like this [number, letter, value] following the format of the sample input.
            // 3. Each element of the array will then be inputed into the logic of the method/function
            // 4. The logic of the function will run based on the number of arrays there are updating the values of A & B each loop or outputting to the console.

            int x = 0;
            int y = 0;



            int function(int number, string letter, char value)
            {
                int A = 1;
                int B = 2;


                if (number == 1)
                {
                    if (letter == "A" | letter == "a")
                    {
                        string inBetween = Char.ToString(value);
                        A = int.Parse(inBetween);
                        x = A;
                        Debug.WriteLine(inBetween);
                        Debug.WriteLine(value);
                        Debug.WriteLine(A);
                        Debug.WriteLine(x);

                        return(A);
                    }
                    else
                    {
                        string inBetween = Char.ToString(value);
                        B = int.Parse(inBetween);
                        x = B;
                        return(B);
                    }
                }
                else if (number == 2)
                {
                    if (letter == "A" | letter == "a")
                    {
                        Debug.WriteLine(A);
                        x = A;
                        return(A);
                    }
                    else
                    {
                        Debug.WriteLine(B);
                        y = B;
                        return(B);
                    }
                }
                else
                {
                    string inBetween = Char.ToString(value);

                    if (number == 3)
                    {
                        // string inBetween = Char.ToString(value);
                        // A = int.Parse(inBetween);

                        if (letter == "A" | letter == "a" && inBetween == "b" | inBetween == "B")
                        {
                            A = A + B;
                            Debug.WriteLine(A);
                            x = A;
                            return(A);
                        }
                        else if (letter == "B" | letter == "B" && inBetween == "a" | inBetween == "a")
                        {
                            B = A + B;
                            y = B;
                            Debug.WriteLine(B);
                            return(B);
                        }
                        else if (letter == "A" | letter == "a" && inBetween == "a" | inBetween == "A")
                        {
                            A = A + A;
                            x = A;
                            Debug.WriteLine(A);
                            return(A);
                        }
                        else
                        {
                            B = B + B;
                            y = B;
                            Debug.WriteLine(B);
                            return(B);
                        }
                    }
                    else if (number == 4)
                    {
                        if (letter == "A" | letter == "a" && inBetween == "b" | inBetween == "B")
                        {
                            A = A * B;
                            Debug.WriteLine(A);
                            x = A;
                            return(A);
                        }
                        else if (letter == "B" | letter == "B" && inBetween == "a" | inBetween == "a")
                        {
                            B = A * B;
                            y = B;
                            Debug.WriteLine(B);
                            return(B);
                        }
                        else if (letter == "A" | letter == "a" && inBetween == "a" | inBetween == "A")
                        {
                            A = A * A;
                            x = A;
                            Debug.WriteLine(A);
                            return(A);
                        }
                        else
                        {
                            B = B * B;
                            y = B;
                            Debug.WriteLine(B);
                            return(B);
                        }
                    }
                    else if (number == 5)
                    {
                        if (letter == "A" | letter == "a" && inBetween == "b" | inBetween == "B")
                        {
                            A = A - B;
                            Debug.WriteLine(A);
                            x = A;
                            return(A);
                        }
                        else if (letter == "B" | letter == "B" && inBetween == "a" | inBetween == "a")
                        {
                            B = A - B;
                            y = B;
                            Debug.WriteLine(B);
                            return(B);
                        }
                        else if (letter == "A" | letter == "a" && inBetween == "a" | inBetween == "A")
                        {
                            A = A - A;
                            x = A;
                            Debug.WriteLine(A);
                            return(A);
                        }
                        else
                        {
                            B = B - B;
                            y = B;
                            Debug.WriteLine(B);
                            return(B);
                        }
                    }
                    else if (number == 6)
                    {
                        if (letter == "A" | letter == "a" && inBetween == "b" | inBetween == "B")
                        {
                            A = A / B;
                            Debug.WriteLine(A);
                            x = A;
                            return(A);
                        }
                        else if (letter == "B" | letter == "B" && inBetween == "a" | inBetween == "a")
                        {
                            B = A / B;
                            y = B;
                            Debug.WriteLine(B);
                            return(B);
                        }
                        else if (letter == "A" | letter == "a" && inBetween == "a" | inBetween == "A")
                        {
                            A = A / A;
                            x = A;
                            Debug.WriteLine(A);
                            return(A);
                        }
                        else
                        {
                            B = B / B;
                            y = B;
                            Debug.WriteLine(B);
                            return(B);
                        }
                    }
                    else
                    {
                        // Would like to return 7 to finish the loop in-case the loop doesn't stop as intended
                        return(7);
                    }
                }
            }

            // Ideally I would have a while/for each loop running and inputing each value from the nested array into the function parameters, and repeating until there is no more arrays to loop through
            function(number1, letter1, value1);

            return("This is the number: " + number1 + " this is the string: " + letter1 + " this is the char: " + value1 + " this is A: " + x + " This is B: " + y);
        }
Ejemplo n.º 57
0
        //public DataTable ReadExcelValues(string locationStr, string keyWord, int searchOption, int wordSearchFilter)
        public DataTable ReadExcelValues(string locationStr, string keyWord, int searchOption, int wordSearchFilter, int SelectSearchMode)
        {
            //array for storing the filtered results datatable!
            int newRowIndex = 0;

            //declaring filtering flags
            Boolean KeywordFilter    = false;
            Boolean CabinetLocFilter = false;
            Boolean contains         = false;

            //declare new table for storing searched values
            DataTable excelSearchVars = new DataTable();

            excelSearchVars.Clear();      //clear excel table which stores search results

            //Add columns to the data and display in spreadsheet
            excelSearchVars.Columns.Add("Part");
            excelSearchVars.Columns.Add("Pack");
            excelSearchVars.Columns.Add("Cabinet");
            excelSearchVars.Columns.Add("Row");
            excelSearchVars.Columns.Add("Drawer");
            excelSearchVars.Columns.Add("Section");
            excelSearchVars.Columns.Add("Part Info");
            excelSearchVars.Columns.Add("Supplier");
            excelSearchVars.Columns.Add("Alt Parts");
            excelSearchVars.Columns.Add("SMD Marking");
            excelSearchVars.Columns.Add("Quantity");
            excelSearchVars.Columns.Add("Index");



            //open and create new excel data table based on search results
            if (ExcelPath != null && ExcelPath != string.Empty)
            {
                MyApp = new Excel.Application();

                //store value main excel window value in ProcessExcelVars class
                hWnd = MyApp.Hwnd;
                PartsListClass.Hwind = hWnd;

                MyApp.Visible = false;
                MyBook        = MyApp.Workbooks.Open(ExcelPath);
                MySheet       = (Excel.Worksheet)MyBook.Sheets[1];      // Explict cast is not required here
                lastRow       = MySheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row;
                lastCol       = MySheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Column;

                //Create a new write range for the spreadsheet entries to be added too
                int StartCellRow = 1;
                int LasttCellRow = lastRow;

                //Get Excel value range of cells
                Excel.Range CellStart  = (Excel.Range)MySheet.Cells[StartCellRow, 1];
                Excel.Range CellEnd    = (Excel.Range)MySheet.Cells[LasttCellRow, lastCol];
                Excel.Range MySheetRng = MySheet.get_Range(CellStart, CellEnd);

                //Store values inside object array
                object[,] data = MySheetRng.Cells.Value2;

                //close Excel spreadsheet
                MyBook.Close(false, Type.Missing, Type.Missing);

                MyApp.Quit();
                GC.Collect();
                GC.WaitForPendingFinalizers();
                GC.Collect();
                GC.WaitForPendingFinalizers();
                Marshal.FinalReleaseComObject(MySheet);
                Marshal.FinalReleaseComObject(MyBook);
                Marshal.FinalReleaseComObject(MyApp);
                MyApp   = null;
                MyBook  = null;
                MySheet = null;
                GC.Collect();
                GC.WaitForPendingFinalizers();
                GC.Collect();
                GC.WaitForPendingFinalizers();
                //Kill excel process that was ctreated in memory
                KillProcessByMainWindows(hWnd);

                //Add an extra column for the index
                int colSize = lastCol + 1;

                List <string> deConstructerStr = new List <string>();
                //split comma in string
                Char     delimiter         = ',';
                String[] cabinetCompareStr = locationStr.Split(delimiter);

                for (int i = 0; i < lastRow; i++)
                {
                    //see what mode is selected using full filters or none.
                    if (SelectSearchMode == 0)  //will search spreadsheet based on keywords and location information
                    {
                        if (keyWord == "*")
                        {
                            KeywordFilter = true;
                        }
                        else
                        {
                            //extract either part number or part information column and convert to string
                            string rowString = (data[i + 1, 1 + searchOption] ?? String.Empty).ToString();

                            //Check what option is selected for word seach filter
                            if (wordSearchFilter == 0)  //search for strings starting with keyword
                            {
                                contains = rowString.StartsWith(keyWord, true, ci);
                            }
                            else                        //search for strings containing keyword
                            {
                                contains = rowString.IndexOf(keyWord, StringComparison.OrdinalIgnoreCase) >= 0;
                            }

                            //check if keyword in box matches part number column on spreadsheet
                            if (contains && !(String.IsNullOrWhiteSpace(keyWord)))
                            {
                                KeywordFilter = true;
                            }
                            else
                            {
                                KeywordFilter = false;
                            }
                        }

                        if (cabinetCompareStr[0].ToString() != "*")
                        {
                            //construct an array based on number of elements selected in the form option boxes
                            for (int j = 0; j < cabinetCompareStr.Length; j++)
                            {
                                //deConstructerStr.Add(ExcelSpreadVals.Rows[i][2 + j].ToString());
                                deConstructerStr.Add((data[i + 1, 3 + j] ?? String.Empty).ToString());
                            }
                            //check if guven
                            CabinetLocFilter = deConstructerStr.SequenceEqual(cabinetCompareStr);

                            deConstructerStr.Clear(); //reset and clear array
                        }
                        else
                        {
                            CabinetLocFilter = true;
                        }
                    }

                    //If option 1 selected search datasheet based on location information only
                    if (SelectSearchMode == 1)
                    {
                        KeywordFilter = true;
                        //construct an array based on number of elements selected in the form option boxes
                        for (int a = 0; a < cabinetCompareStr.Length; a++)
                        {
                            //deConstructerStr.Add(ExcelSpreadVals.Rows[i][2 + j].ToString());
                            deConstructerStr.Add((data[i + 1, 3 + a] ?? String.Empty).ToString());
                        }
                        //check if guven
                        CabinetLocFilter = deConstructerStr.SequenceEqual(cabinetCompareStr);

                        deConstructerStr.Clear(); //reset and clear array
                    }

                    if (CabinetLocFilter == true && KeywordFilter == true)
                    {
                        excelSearchVars.Rows.Add();
                        for (int a = 0; a < excelSearchVars.Columns.Count; a++)
                        {
                            if (a < lastCol)
                            {
                                excelSearchVars.Rows[newRowIndex][a] = data[i + 1, a + 1];
                            }
                            else
                            {
                                excelSearchVars.Rows[newRowIndex][a] = 1 + i;   //record the index
                            }
                        }
                        newRowIndex++;  //increment index of new table and
                    }
                }
            }
            return(excelSearchVars); //return table
        }
Ejemplo n.º 58
0
        public Boolean WriteFunctionTest(DataGridView ExcelDataVals, int ModeSel)
        {
            List <string> cabinetCompareStr  = new List <string>();
            List <string> cabinetCompareStr2 = new List <string>();

            int RowIndex = 0;

            try
            {
                if (ExcelPath != null && ExcelPath != string.Empty)
                {
                    MyApp = new Excel.Application();

                    //store value main excel window value in ProcessExcelVars class
                    hWnd = MyApp.Hwnd;
                    PartsListClass.Hwind = hWnd;

                    MyApp.Visible = false;
                    MyBook        = MyApp.Workbooks.Open(ExcelPath);
                    MySheet       = (Excel.Worksheet)MyBook.Sheets[1];      // Explict cast is not required here
                    lastRow       = MySheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row;
                    lastCol       = MySheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Column;

                    //Create a new write range for the spreadsheet entries to be added too
                    int StartCellRow = 1;
                    int LasttCellRow = lastRow;

                    //Get Excel value range of cells
                    Excel.Range CellStart  = (Excel.Range)MySheet.Cells[StartCellRow, 1];
                    Excel.Range CellEnd    = (Excel.Range)MySheet.Cells[LasttCellRow, lastCol];
                    Excel.Range MySheetRng = MySheet.get_Range(CellStart, CellEnd);

                    //Store values inside object array
                    object[,] data = MySheetRng.Cells.Value2;


                    switch (ModeSel)
                    {
                    case 0:             //Add New entries to spreadsheet
                        RowIndex = LasttCellRow + 1;

                        //Write edited value to excel spreadsheet one column at a time!
                        for (int i = 0; i < ExcelDataVals.Rows.Count; i++)
                        {
                            for (int j = 0; j < ExcelDataVals.Columns.Count - 1; j++)
                            {
                                MySheet.Cells[RowIndex, 1 + j] = ExcelDataVals.Rows[i].Cells[j].Value;        //write value to spreadsheet
                            }
                            ++RowIndex;
                        }
                        break;

                    case 1:         //Edit Existing entries to spreadsheet
                        //retrieve index adress of the modified or edited row
                        RowIndex = Convert.ToInt32(ExcelDataVals.CurrentRow.Cells[11].Value.ToString());
                        //Write edited value to excel spreadsheet one column at a time!
                        for (int i = 0; i < ExcelDataVals.CurrentRow.Cells.Count - 1; i++)
                        {
                            MySheet.Cells[RowIndex, 1 + i] = ExcelDataVals.CurrentRow.Cells[i].Value;        //write value to spreadsheet
                        }
                        break;

                    case 3:
                        //This will store values to which the table will be sorted
                        List <string> arrayElementsX   = new List <string>();
                        List <string> currentRowString = new List <string>();
                        List <string> compareRowString = new List <string>();

                        List <string> newElements  = new List <string>();
                        List <string> tempElements = new List <string>();

                        String[] xIndexExtract;
                        char[]   delimiter = { ',' };

                        ///int nextRowIndex = 1;
                        Boolean indexOccurance = false;
                        string  indexCount     = null;


                        //MySheetRng.Borders(Excel.XlBordersIndex.xlEdgeLeft).LineStyle = Excel.XlLineStyle.xlLineStyleNone
                        //MySheetRng.Borders(Excel.XlBordersIndex.xlEdgeRight).LineStyle = Excel.XlLineStyle.xlLineStyleNone
                        //MySheetRng.Borders(Excel.XlBordersIndex.xlEdgeTop).LineStyle = Excel.XlLineStyle.xlLineStyleNone
                        //MySheetRng.Borders(Excel.XlBordersIndex.xlEdgeBottom).LineStyle = Excel.XlLineStyle.xlLineStyleNone
                        //MySheetRng.Borders(Excel.XlBordersIndex.xlInsideHorizontal).LineStyle = Excel.XlLineStyle.xlLineStyleNone
                        //MySheetRng.Borders(Excel.XlBordersIndex.xlInsideVertical).LineStyle = Excel.XlLineStyle.xlLineStyleNone

                        //MySheetRng.Borders.LineStyle = Excel.XlLineStyle.xlContinuous;


                        //get index of item from spreadsheet.
                        RowIndex = Convert.ToInt32(ExcelDataVals.CurrentRow.Cells[11].Value.ToString());

                        //delete from excel spreadsheet
                        MySheetRng = MySheetRng.Cells.Rows[RowIndex];
                        MySheetRng.Delete();
                        MyBook.Save();

                        //delete from datagridview
                        ExcelDataVals.Rows.RemoveAt(ExcelDataVals.CurrentRow.Index);

                        //update column and row information from excel spreadsheet
                        //Get update value of rows
                        lastRow = MySheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row;
                        lastCol = MySheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Column;

                        //Get Excel value range of cells
                        CellStart  = (Excel.Range)MySheet.Cells[StartCellRow, 1];
                        CellEnd    = (Excel.Range)MySheet.Cells[LasttCellRow, lastCol];
                        MySheetRng = MySheet.get_Range(CellStart, CellEnd);

                        //Reload and find new adress index's
                        for (int c = 0; c < ExcelDataVals.Rows.Count; c++)
                        {
                            for (int i = 0; i < lastRow; i++)       //delete selected entries
                            {
                                for (int j = 0; j < lastCol; j++)
                                {
                                    currentRowString.Add((data[i + 1, 1 + j] ?? String.Empty).ToString());
                                    compareRowString.Add((ExcelDataVals.Rows[c].Cells[j].Value ?? String.Empty).ToString());
                                }
                                indexOccurance = currentRowString.SequenceEqual(compareRowString);

                                indexCount = (i + 1).ToString();

                                if (indexOccurance)
                                {
                                    arrayElementsX.Add(c.ToString() + "," + indexCount);
                                }
                                currentRowString.Clear();
                                compareRowString.Clear();
                            }

                            for (int y = 0; y < arrayElementsX.Count; y++)
                            {
                                //split the assorting array into pieces
                                xIndexExtract = arrayElementsX[y].Split(delimiter);

                                if (xIndexExtract[0] == c.ToString())
                                {
                                    tempElements.Add(xIndexExtract[1]);     //add last index to temp array
                                }
                            }

                            //check how many elements contain in temp elements
                            if (tempElements.Count == 1)
                            {
                                //add contents to new Element array
                                newElements.Add(tempElements[0]);
                                tempElements.Clear();
                            }

                            //more filtering through is required
                            if (tempElements.Count > 1)
                            {
                                int     index         = 0;
                                Boolean flagOccurance = false;

                                do
                                {
                                    if (flagOccurance == true)
                                    {
                                        flagOccurance = false;      //switch flag off
                                    }
                                    //loop through newElements array and check that selected value isn't present inside

                                    for (int i = 0; i < newElements.Count; i++)
                                    {
                                        //check previous index value in newElements array
                                        if (newElements[i] == tempElements[index])
                                        {
                                            index++;   //increment index
                                            flagOccurance = true;
                                            break;     //break from for loop and increment
                                        }
                                    }
                                } while (flagOccurance);

                                //add temp element to array
                                newElements.Add(tempElements[index]);
                            }
                            tempElements.Clear();

                            //write new Index to following function
                            ExcelDataVals.Rows[c].Cells[11].Value = newElements[c];
                        }

                        break;
                    }

                    MyBook.Save();              //save quantity amount to excel spreadsheet

                    //Quit Excel application and release all references
                    //and allow Garbage collector to handle the cleaning process
                    MyBook.Close(false, Type.Missing, Type.Missing);

                    MyApp.Quit();
                    GC.Collect();
                    GC.WaitForPendingFinalizers();
                    GC.Collect();
                    GC.WaitForPendingFinalizers();
                    Marshal.FinalReleaseComObject(MySheet);
                    Marshal.FinalReleaseComObject(MyBook);
                    Marshal.FinalReleaseComObject(MyApp);
                    MyApp   = null;
                    MyBook  = null;
                    MySheet = null;
                    GC.Collect();
                    GC.WaitForPendingFinalizers();
                    GC.Collect();
                    GC.WaitForPendingFinalizers();
                    //Kill excel process that was ctreated in memory
                    KillProcessByMainWindows(hWnd);
                }
            }
            catch (Exception ex)
            {
                //Quit Excel application and release all references
                //and allow Garbage collector to handle the cleaning process
                MyBook.Close(false, Type.Missing, Type.Missing);

                MyApp.Quit();
                GC.Collect();
                GC.WaitForPendingFinalizers();
                GC.Collect();
                GC.WaitForPendingFinalizers();
                Marshal.FinalReleaseComObject(MySheet);
                Marshal.FinalReleaseComObject(MyBook);
                Marshal.FinalReleaseComObject(MyApp);
                MyApp   = null;
                MyBook  = null;
                MySheet = null;
                GC.Collect();
                GC.WaitForPendingFinalizers();
                GC.Collect();
                GC.WaitForPendingFinalizers();
                //Kill excel process that was ctreated in memory
                KillProcessByMainWindows(hWnd);
            }

            return(true);
        }
Ejemplo n.º 59
0
 public void Reset()
 {
     this.Tabla = -1;
     this.TablaStr = "";
     this.Filtros = new TableFilters();
     this.NoColumnas = false;
     this.Reves = false;
     this.Claves = null;
     this.ClaveNavisionFormat = null;
     this.ClavesStr = null;
     this.Columnas = null;
     this.ColumnaStr = null;
     this.inserciones = null;
     this.actualizaciones = null;
     this.nombreColumnas = null;
     this.numeroColumnas = null;
     this.numeroCampos = 0;
     this.soloPrimeraFila = false;
 }
Ejemplo n.º 60
0
        public void Execute(string fullPath, LoginInfo currentUser)
        {
            condomini.Value = null;
            tipoPratica.Value = null;
            descrizione.Value = null;
            nomeFile.Value = null;
            tipoProvenienza.Value = null;

            _utentiExcel = null;
            _userLock = string.Empty;

            _currentUser = currentUser;
            _fullPath = fullPath;

            if (_persistenceContext == null)
            {
                System.Collections.IDictionary args = new System.Collections.Specialized.ListDictionary();
                args.Add("currentUser", _currentUser.LoginName);
                _persistenceContext = (IPersistenceContext)_container.Kernel.Resolve(typeof(IPersistenceContext), args);
            }
            _persistenceContext.BeginTransaction();

            // Controllo se gia spesata
            using (StreamReader sr = new StreamReader(_fullPath))
            {
                String line;
                while ((line = sr.ReadLine()) != null)
                {
                    if (line.StartsWith("SpesaturaInfo"))
                    {
                        RiepilogoSpesatura form = new RiepilogoSpesatura(line);
                        if (form.ShowDialog() == DialogResult.OK)
                        {
                            this.ShowDialog();
                            return;
                        }
                        else
                            return;
                    }
                }
            }

            IFaxSpesaturaDao spesDao = _daoFactory.GetFaxSpesaturaDao();
            string checksum = Utility.GetFileChecksum(new FileInfo(_fullPath));
            if (String.IsNullOrEmpty(checksum))
            {
                log4net.MDC.Set("user", _currentUser.LoginName);
                _log.Fatal("FaxGest - SpesaturaUI.Execute: Checksum vuoto - File: " + _fullPath);
                MessageBox.Show("Errore inaspettato: Non è possibile identificare la spesatura per il file: "+ _fullPath);
            }
            else
            {

                try
                {
                    object spesatura = spesDao.GetByHashCode(checksum);
                    if (spesatura != null)
                    {
                        RiepilogoSpesatura form = new RiepilogoSpesatura((FaxSpesatura)spesatura);
                        if (form.ShowDialog() == DialogResult.OK)
                        {
                            this.ShowDialog();
                            return;
                        }
                        else
                        {
                            try
                            {
                                _persistenceContext.RollbackAndCloseSession();
                            }
                            catch{}
                            return;
                        }
                    }
                }
                catch (Exception ex)
                {
                    log4net.MDC.Set("user", _currentUser.LoginName);
                    _log.Fatal("FaxGest - SpesaturaUI.Execute: Errore inaspettato durante il controllo della spesatura - Checksum: " + checksum + ", File: " + _fullPath, ex);
                    throw (ex);
                }

                this.ShowDialog();
            }
        }