/// <summary>
            /// Istanziamento delle proprieta relative alla formattazione standard in base a dove
            /// leggo scrivo e al tipo di risorsa che sto utilizzando
            /// </summary>
            /// <param name="sourceKind"></param>
            /// <param name="typeAction"></param>
            public ValidateInfoSourceService(Constants.ResourceTypes sourceKind, Constants.ModalitaAperturaExcel typeAction)
            {
                this._sourceKind = sourceKind.ToString();
                this._typeAction = typeAction.ToString();

                // impostazione della lingua in base a quanto inserito all'interno delle costanti
                switch (Constants.LinguaCorrenteTool)
                {
                case Constants.LinguaSelezionata.ENG:
                {
                    _locationRes = new ResourceManager("ToolImportazioneLeghe_Console.Messaging_Console.ResourceMsgString.Validators_ENG", Assembly.GetExecutingAssembly());
                    break;
                }

                default:
                {
                    _locationRes = new ResourceManager("ToolImportazioneLeghe_Console.Messaging_Console.ResourceMsgString.Validators_ITA", Assembly.GetExecutingAssembly());
                    break;
                }
                }
            }
Ejemplo n.º 2
0
        /// <summary>
        /// Apertura del file excel in lettura / scrittura, viene passato anche il formato con il quale si identificheranno le informazioni
        /// sul file excel
        /// </summary>
        /// <param name="excelPath"></param>
        /// <param name="formatoExcel"></param>
        /// <param name="modalitaApertura"></param>
        /// <returns></returns>
        public bool OpenFileExcel(string excelPath, Constants.FormatFileExcel formatoExcel, Constants.ModalitaAperturaExcel modalitaApertura)
        {
            try
            {
                // validazione su formnato e path
                if (excelPath == String.Empty)
                {
                    throw new Exception(ExceptionMessages.EXCEL_EMPTYPATH);
                }

                // validazione sul formato in input
                if (formatoExcel == Constants.FormatFileExcel.NotDefined)
                {
                    throw new Exception(ExceptionMessages.EXCEL_FORMATNOTDEFINED);
                }

                if (modalitaApertura == Constants.ModalitaAperturaExcel.READ && !File.Exists(excelPath))
                {
                    throw new Exception(ExceptionMessages.EXCEL_SOURCENOTEXISTING);
                }
                else
                {
                    bool esistenza = false;

                    // ricreazione del file
                    ServiceLocator.GetUtilityFunctions.BuildFilePath(excelPath, out esistenza);

                    if (esistenza)
                    {
                        ConsoleService.ConsoleExcel.EsistenzaFileExcel_Message(excelPath);
                    }
                }

                // set licenza corrente
                ExcelPackage.LicenseContext = OfficeOpenXml.LicenseContext.NonCommercial;

                _excelName = ServiceLocator.GetUtilityFunctions.GetFileName(excelPath);

                FileStream currentFileExcel = new FileStream(excelPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);

                _openedExcel = new ExcelPackage(currentFileExcel);

                // decisione su cosa viene istanziato in base alla modalità su cui agire sul file excel
                if (modalitaApertura == Constants.ModalitaAperturaExcel.READ)
                {
                    _excelReaders = new ExcelReaders(ref _openedExcel, formatoExcel);
                }
                else if (modalitaApertura == Constants.ModalitaAperturaExcel.WRITE)
                {
                    _excelWriters = new ExcelWriters(ref _openedExcel, formatoExcel);
                }

                return(true);
            }
            catch (Exception e)
            {
                throw new Exception(String.Format(ExceptionMessages.EXCEL_PROBLEMAAPERTURAFILE, ServiceLocator.GetUtilityFunctions.GetFileName(excelPath), e.Message));
            }
        }