public void Save() { try { if (string.IsNullOrEmpty(_service.RendicontoSendableTag)) { if (_view.IsRlst) { _service.RendicontoSendableTag = "RLST"; } else if (_view.IsFeneal) { _service.RendicontoSendableTag = "FENEAL"; } else { _service.RendicontoSendableTag = "NOESIS"; } } _service.Save(); if (_view.RaiseChanghedDataEvent) { _view.GetSimpleMessageNotificator().Show("Bilancio salvato", "Informazione", MessageType.Information); } _view.NotifyChangeOnPanel(Color.White); _dataModified = false; } catch (Exception ex) { _view.GetSimpleMessageNotificator().Show(ex.Message, "Errore", MessageType.Error); } }
static void Main(string[] args) { if (args.Length > 0) { PreInitializeComponents(); //estraggo i parametri nel singleton ProgramParameters ParamCreator creator = new ParamCreator(args); creator.Create(); //adesso in base al tipo di comando (apro un rendoconto esistente o ne creo uno nuovo) //eseguo if (ProgramParameters.Instance.Command == "1") { //RendicontoService r = new RendicontoService(); //r.LoadRendiconto(ProgramParameters.Instance.FileToOpen); //string saldi = r.RetrievePatternSaldiFinaliStatoPatrimoniale(); //apro il rendiconto saltando lo splash screen e il form per la scelta di quele operazione eseguire //IBilancioFormView frm = new FrmBilancio(ProgramParameters.Instance.FileToOpen); Application.Run(new FrmBilancio(ProgramParameters.Instance.FileToOpen)); } else { // a questo punto si tratta di capire cosa si vuole creare: //un rendiconto feneal (provinciale o regionale) o un rendiconto rlst //devo pertanto verificare il rendiconto type: if (ProgramParameters.Instance.RendicontoType == "1") //feneal provinciale { RendicontoHeaderDTO dto = new RendicontoHeaderDTO(); dto.Anno = Convert.ToInt32(ProgramParameters.Instance.Year); dto.Proprietario = "Feneal provinciale"; dto.FileName = ProgramParameters.Instance.FilenameToCreate; dto.Provincia = ProgramParameters.Instance.Provincia; dto.Regione = ProgramParameters.Instance.Regione; dto.IsRegionale = false; dto.SenderTag = "FENEAL"; dto.FolderPath = ProgramParameters.Instance.PathToCreate; //creo il rendiconto RendicontoService r = new RendicontoService(); string rendicontoPath = r.CreateNewRendiconto(dto); //carico il rendiconto r.LoadRendiconto(rendicontoPath); //imposto il saldo iniziale r.SetSaldiInizialiStatoPatrimonialeFromPattern(ProgramParameters.Instance.Saldi); r.Save(); //visualizzo il rendiconto Application.Run(new FrmBilancio(rendicontoPath)); } else if (ProgramParameters.Instance.RendicontoType == "2") //regionale { RendicontoHeaderDTO dto = new RendicontoHeaderDTO(); dto.Anno = Convert.ToInt32(ProgramParameters.Instance.Year); dto.Proprietario = "Feneal regionale"; dto.FileName = ProgramParameters.Instance.FilenameToCreate; dto.Provincia = ProgramParameters.Instance.Provincia; dto.Regione = ProgramParameters.Instance.Regione; dto.IsRegionale = true; dto.SenderTag = "FENEAL"; dto.FolderPath = ProgramParameters.Instance.PathToCreate; //creo il rendiconto RendicontoService r = new RendicontoService(); string rendicontoPath = r.CreateNewRendiconto(dto); //carico il rendiconto r.LoadRendiconto(rendicontoPath); //imposto il saldo iniziale r.SetSaldiInizialiStatoPatrimonialeFromPattern(ProgramParameters.Instance.Saldi); r.Save(); //visualizzo il rendiconto Application.Run(new FrmBilancio(rendicontoPath)); } else //rlst { string template = CreteFreeTemplatePath(Properties.Settings.Default.FileFreeTemplate); string pathRoSave = ProgramParameters.Instance.PathToCreate; RendicontoService r = new RendicontoService(); string rendicontoPath = r.CreateNewRendiconto(template, pathRoSave, ProgramParameters.Instance.FilenameToCreate); //carico il rendiconto r.LoadRendiconto(rendicontoPath); RendicontoHeaderDTO dto = new RendicontoHeaderDTO(); dto.Anno = Convert.ToInt32(ProgramParameters.Instance.Year); dto.Proprietario = "Feneal RLST"; dto.Provincia = ProgramParameters.Instance.Provincia; dto.Regione = ProgramParameters.Instance.Regione; r.RendicontoSendableTag = "RLST"; r.RendicontoHeader = dto; //imposto il saldo iniziale r.SetSaldiInizialiStatoPatrimonialeFromPattern(ProgramParameters.Instance.Saldi); r.Save(); //visualizzo il rendiconto Application.Run(new FrmBilancio(rendicontoPath)); } //creazione di un rendiconto da un template //string bilancioPath = _service.CreateNewRendiconto(template, p); //(percorso template e percorso dove salvare il file) // //dopo aver caricato il bilancio // _service.LoadRendiconto(bilancioPath); //RendicontoHeaderDTO dto = new RendicontoHeaderDTO(); // dto.Anno = _view.SelectedYear; // dto.Proprietario= _view.SelectedProprietario; // dto.Provincia = _view.SelectedProvince; // dto.Regione = _view.SelectedRegion; // _service.RendicontoHeader = dto; // _service.Save(); } return; } AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); DevexpressInitializzation(); if (Properties.Settings.Default.IsFeneal && Properties.Settings.Default.IsRlst) { XtraMessageBox.Show("Proprietà RLST e Feneal non ammissibili"); return; } // Initialize custom applicantion context because first the Splash form // will start on the main UI thread and then the form will be replaced // by the main form. _Context = new ApplicationContext(); Application.Idle += new EventHandler(Application_Idle); // Show the splash screen _Splash = new SplashForm(); _Splash.Show(); Application.DoEvents(); // Start main UI thread with the splash screen Application.Run(_Context); //Application.Run(new BilancioFenealgest.UI.UIComponents .Form1()); //inizializzo il servizio geografico //GeoLocationFacade.InitializeInstance(new GeoHandlerClass()); //GeoHandlerProvider.Instance.Geo = GeoLocationFacade.Instance(); }