public MovimentoContabileEconomicoUC(CausaleContabileDTO causale, EsercizioDTO esercizio, ContoDTO conto, int? idContoBancario, DateTime? dataContabile, string descrizione, decimal importo, TipoMovimentoEnum incassoSpesa, int? idMovimentoBancario)
        {
            InitializeComponent();

            _idMovimentoBancario = idMovimentoBancario;
            _causalePreimpostata = true;
            _causale = causale;
            _esercizio = esercizio;
            _conto = conto;
            _idContoBancario = idContoBancario;
            _importo = importo;
            _dataContabile = dataContabile;

            if (_importo > 0)
            {
                importoMovimento.TabStop = false;
                importoCompareValidator.ValueToCompare = _importo.ToString();
                movimentoValidationSummary.Validators.Add(importoCompareValidator);
            }

            inizializza();
            executeNew();
            _confirmByParent = true;
            _tipoMovimento = incassoSpesa;
            ripartizioneDettaglio.DisplayLayout.Bands[0].Override.AllowAddNew = AllowAddNew.TemplateOnBottom;
            descrizioneDettaglio.Text = descrizione;

            sceltaCondominioCombo1.Enabled = false;
        }
        public MovimentoContabileEconomicoUI(CausaleContabileDTO causale, EsercizioDTO esercizio, decimal importo, ContoDTO conto, int? idContoBancario, DateTime? dataContabile, string descrizione, Sfera.Enums.TipoMovimentoEnum incassoSpesa, int? idMovimentoBancario) : base(false)
        {
            InitializeComponent();

            _movimentoControl = new MovimentoContabileEconomicoUC(causale, esercizio, conto, idContoBancario, dataContabile, descrizione, importo, incassoSpesa, idMovimentoBancario);
            _movimentoControl.SetConfirmByParent(false);

            MainStandardForm_Fill_Panel.Controls.Add(_movimentoControl);
            _movimentoControl.AutoScroll = true;
            _movimentoControl.Dock = DockStyle.Fill;
            _movimentoControl.Location = new Point(0, 0);
            _movimentoControl.Name = "movimentoContabileUIControl";
            _movimentoControl.Size = new Size(987, 557);
            _movimentoControl.TabIndex = 0;

            _movimentoControl.AfterUpdate += movimentoControlAfterUpdate;
            _movimentoControl.FormClose += movimentoControlFormClose;
        }
Exemplo n.º 3
0
        public List<ContoDTO> GetByCausale(CausaleContabileDTO causale, CondominioDTO condominio, EsercizioDTO esercizio)
        {
            if (esercizio != null)
            {
                if (causale.Conti != null && causale.Conti.Count > 0)
                    return new List<ContoDTO>((from conto in GetAllByEsercizio(esercizio.ID, false)
                                                      where causale.Conti.Contains(conto.Codice)
                                                      select conto).ToList());
                return GetPatrimonialiByEsercizio(esercizio, false);
            }

            if (condominio != null)
            {
                if (causale.Conti != null && causale.Conti.Count > 0)
                    return new List<ContoDTO>((from conto in GetByCondominio(condominio, false)
                        where causale.Conti.Contains(conto.Codice)
                        select conto).ToList());
                return GetPatrimonialiByCondominio(condominio, false);
            }

            return new List<ContoDTO>();
        }
Exemplo n.º 4
0
        public CausaleContabileDTO[] GetCausaleAll()
        {
            try
            {
                var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);
                var lista = daoFactory.GetCausaleContabileDao().GetAll();
                var causali = new CausaleContabileDTO[lista.Count];

                var index = 0;
                foreach (var causale in lista)
                {
                    causali[index] = setCausaleDto(causale);
                    index++;
                }

                return causali;
            }
            catch (Exception ex)
            {
                
                _log.Error("Errore nel caricamento delle causali contabili- " + Utility.GetMethodDescription(), ex);
                throw;
            }
        }
Exemplo n.º 5
0
        void inizializza()
        {
            setValidators(false);

            if (!DesignMode)
            {
                _fatturaService = ResolveComponent<IFatturaService>();
                _pianoContiService = ResolveComponent<IPianoContiService>();
                ResolveComponent<IFornitoreService>();
                _tabelleContabiliService = ResolveComponent<ITabelleContabiliService>();
                _manageDocumentService = ResolveComponent<IManageDocumentService>();

                customScadenze.ControlToValidate = scadenze;
                customScadenze.Validating += scadenzeValidating;

                //dettaglioValidationSummary.Validators.Add(reqFornitore);
                //dettaglioValidationSummary.Validators.Add(reqTipoDocumento);
                //dettaglioValidationSummary.Validators.Add(reqVoceSpesa);
                //dettaglioValidationSummary.Validators.Add(customImportoDettaglio);
                //dettaglioValidationSummary.Validators.Add(customRipartizioneUnita);
                //dettaglioValidationSummary.Validators.Add(customRipartizioneValidator);
                //dettaglioValidationSummary.Validators.Add(reqDataDocumento);

                validationSummaryMultiSpesa.Validators.Add(customMultiIvaValidator);

                _causale = _tabelleContabiliService.GetCausaleByCodice("IF");
                dataRegistrazione.Value = DateTime.Today;

                IsAllowGridUpdate = true;

                var customPropRiparto = new CustomControlProperties {AlwaysEnable = true};
                btnRiparto.Tag = customPropRiparto;
                btnRiepilogo.Tag = customPropRiparto.Clone();

                percentageDataFilter.DataFilter = new PercentageDataFilter();
                cassaProfessionistiDettaglio.DataFilter = new PercentageDataFilter();

                scadenze.Tag = new CustomControlProperties
                { 
                    EnableStyleSave = false, 
                    AllowAddNew = AllowAddNew.TemplateOnBottom, 
                    AllowDelete = DefaultableBoolean.True, 
                    AllowUpdate = DefaultableBoolean.True 
                };

                var segnaposti = new Dictionary<string, string>
                {
                    {"$sottoconto", "Sottoconto"},
                    {"$fornitore", "Fornitore"},
                    {"$numerodocumento", "Numero Documento"},
                    {"$datadocumento", "Data Documento"},
                    {"$datainiziocompetenza", "Dt. Inizio Comp."},
                    {"$datafinecompetenza", "Dt. Fine Comp."},
                    {"$meseiniziocompetenza", "Mese Inizio Comp."},
                    {"$mesefinecompetenza", "Mese Fine Comp."},
                    {"$annoiniziocompetenza", "Anno Inizio Comp."},
                    {"$annofinecompetenza", "Anno Fine Comp."}
                };
                new SceltaSegnaposto(descrizioneDettaglio, segnaposti);

                setMouseClick(Controls);
            }
        }
Exemplo n.º 6
0
 public void SetCausale(string codiceCausale)
 {
     _causale = _tabelleContabiliService.GetCausaleByCodice(codiceCausale);
 }
Exemplo n.º 7
0
 public void SetCausale(int idCausale)
 {
     _causale = _tabelleContabiliService.GetCausaleById(idCausale);
 }
Exemplo n.º 8
0
        private CausaleContabileDTO setCausaleDto(CausaleContabile causale)
        {
            var dto = new CausaleContabileDTO
            {
                ID = causale.ID,
                Codice = causale.Codice,
                Descrizione = causale.Descrizione,
                DescrizioneCompleta = causale.Codice + " - " + causale.Descrizione,
                Ordine = causale.Ordine,
                PresenzaFornitore = causale.PresenzaFornitore,
                UtilizzabileUtente = causale.UtilizzabileUtente
            };

            var conti = new string[causale.Conti.Count];
            var index = 0;
            foreach (var conto in causale.Conti)
            {
                conti[index] = conto.CodiceConto;
                index++;
            }
            dto.Conti = conti;

            return dto;
        }
        private void clearAllFields()
        {
            try
            {
                clearDettaglioFields();
                _dataContabile = null;
                _causale = null;
                _ripartizione = null;
                movimentoContabileBindingSource.DataSource = _movimentiDare = new List<MovimentoContabileDTO>();
                _movimentoAvere = new MovimentoContabileDTO();
                salvaModello.Checked = false;
                salvaModello.Enabled = true;

                sottoContoDTOBindingSource.DataSource = new List<SottoContoDTO>();
                sottoContoPatrimoniale.Value = null;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore non previsto nella CLEAR della videata - {0} - movimento:{1}", ex, Utility.GetMethodDescription(), _movimentoAvere.ID);
                throw;
            }
        }
Exemplo n.º 10
0
        private void modelloRipartizioneSelectionChanged(object sender, EventArgs e)
        {
            try
            {
                // Se non ho scelto la causale non posso applicare il modello
                if (causale.Value == null)
                {
                    modelloRipartizione.SelectionChanged -= modelloRipartizioneSelectionChanged;
                    modelloRipartizione.Value = null;
                    modelloRipartizione.SelectionChanged += modelloRipartizioneSelectionChanged;
                }
                else
                    _causale = (CausaleContabileDTO)causale.SelectedItem.ListObject;

                if (modelloRipartizione.Value != null && modelloRipartizione.Value != DBNull.Value)
                {
                    TestataMovimentoContabileDTO testata = null;
                    if (_ripartizione != null)
                        testata = _ripartizione.Testata;
                    _ripartizione = getMovimentoContabileService().GetRipartizioneByModello(_esercizio.ID, testata, (int)modelloRipartizione.Value, _causale.ID, getImportoMovimento(), _tipoMovimento);
                    _testata = _ripartizione.Testata;

                    // -------------------------------------------------------------------------
                    //  Se siamo in inserimento prendo tutti i movimenti ...
                    //  ... altrimenti devo scartare quelli "avere"
                    // ------------------------------------------------------------------------
                    _movimentiDare = _isInserimento ? _ripartizione.Testata.Movimenti : getMovimentoContabileService().GetMovimentiLista(_ripartizione.Testata);
                    movimentoContabileBindingSource.DataSource = _movimentiDare;

                    // Gruppo soggetti
                    if(ripartizioneDettaglio.Rows.Count > 0)
                        ripartizioneDettaglio.ActiveRow = ripartizioneDettaglio.Rows[0];

                    foreach (var row in ripartizioneDettaglio.Rows)
                        setSottoContoValueList(row);

                    if (!_confirmByParent)
                        btnConferma.Visible = true;
                    btnRicevuta.Visible = true;

                    salvaModello.Enabled = false;
                    salvaModello.Checked = false;

                    setDettaglioResiduo();
                }
                else
                {
                    if (_ripartizione != null && _ripartizione.Testata != null)
                        _ripartizione.Testata.IdModelloRipartizione = null;
                }

            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore inaspettato nella scelta del modello - {0} - modello:{1} - testata:{2} - esercizio:{3} - formGestione:{4}", ex, Utility.GetMethodDescription(), modelloRipartizione.Value, _testata != null ? _testata.ID.ToString() : "<NULL>", _esercizio != null ? _esercizio.ID.ToString() : "<NULL>", _formGestione != null ? _formGestione.Name : "<NULL>");
            }

        }
Exemplo n.º 11
0
        private void causaleValueChanged(object sender, EventArgs e)
        {
            if ((_esercizio != null || sceltaCondominioCombo1.CondominioSelected != null) && causale.SelectedIndex >= 0)
            {
                _causale = (CausaleContabileDTO) causale.SelectedItem.ListObject;
                contoBindingSource.DataSource =
                    getPianoContiService().GetByCausale((CausaleContabileDTO) causale.SelectedItem.ListObject, sceltaCondominioCombo1.CondominioSelected, _esercizio);

                var fornitoreVisibility = getFornitoreVisibility();
                sceltaFornitoreCombo1.Visible = fornitoreVisibility;
            }
            else
                contoBindingSource.DataSource = null;
        }
Exemplo n.º 12
0
        public MovimentoContabileEconomicoUC(TestataMovimentoContabileDTO testata, EsercizioDTO esercizio, UpdatableStandardForm formGestione)
        {
            try
            {
                InitializeComponent();

                _esercizio = esercizio;
                _testata = testata;
                _formGestione = formGestione;

                inizializza();

                if (_esercizio == null && testata.IdEsercizio != null && testata.IdEsercizio > 0)
                    _esercizio = getEsercizioService().GetById(testata.IdEsercizio.Value);

                _movimentiDare = getMovimentoContabileService().GetMovimentiLista(_testata);

                if (testata.Tipo == TipoTestataMovimentoContabileEnum.Automatica)
                {
                    groupDettaglioMovimento.Visible = false;
                    groupDettaglioMovimento.Enabled = false;
                    if (!_confirmByParent)
                        btnConferma.Visible = true;
                    btnRicevuta.Visible = true;
                }
                else
                {
                    groupDettaglioMovimento.Visible = true;
                    groupDettaglioMovimento.Enabled = true;
                }

                _movimentoAvere = getMovimentoContabileService().GetMovimentoSingolo(_testata);
                if (_movimentoAvere != null)
                {
                    _causale = _movimentoAvere.Causale;

                    int? idEsercizio = null;
                    if (_esercizio != null)
                        idEsercizio = _esercizio.ID;
                    _conto = getPianoContiService().GetById(_movimentoAvere.IdConto.GetValueOrDefault(), idEsercizio);

                    // Se il sottoconto è presente ed ha valore negativo trattasi di conto corrente bancario bugid#3754
                    if (_movimentoAvere.IdSottoConto != null)
                    {
                        if (_movimentoAvere.IdSottoConto.GetValueOrDefault() < 0)
                            _idContoBancario = _movimentoAvere.IdSottoConto.GetValueOrDefault()*-1;
                    }
                    
                    _importo = _movimentoAvere.Importo.GetValueOrDefault();
                    descrizioneDettaglio.Value = _movimentoAvere.Descrizione;
                    noteDettaglio.Value = _testata.Note;
                }

                numeroProtocollo.Value = testata.NumeroProtocollo;
                archiviazioneOttica.Checked = testata.IsAbilitataArchiviazioneOttica;
                dataRegistrazione.DateTime = testata.DataRegistrazione.GetValueOrDefault();

                dataInizioCompetenza.Value = null;
                dataFineCompetenza.Value = null;
                if (testata.DataInizioCompetenza != null)
                    dataInizioCompetenza.DateTime = testata.DataInizioCompetenza.GetValueOrDefault();
                if (testata.DataFineCompetenza != null)
                    dataFineCompetenza.DateTime = testata.DataFineCompetenza.GetValueOrDefault();

                sceltaEsercizioGroupBox.Enabled = false;
                sceltaCondominioCombo1.Enabled = false;
                esercizi.Enabled = false;

                btnRiparto.Enabled = false;
                btnConferma.Enabled = false;
                backgroundWorkerLoadDati.RunWorkerAsync(_movimentiDare);
            }
            catch (Exception ex)
            {
                var idStr = "<NULL>";
                if (testata != null)
                    idStr = testata.ID.ToString();

                var idEsercizioStr = "<NULL>";
                if (esercizio != null)
                    idEsercizioStr = esercizio.ID.ToString();

                var nomeForm = "<NULL>";
                if (formGestione != null)
                    nomeForm = formGestione.Name;

                _log.ErrorFormat("Errore insaspettato nel costruttore - {0} - testata:{1} - esercizio:{2} - formGestione:{3}", ex, Utility.GetMethodDescription(), idStr, idEsercizioStr, nomeForm);
                throw;
            }
        }
Exemplo n.º 13
0
 public Form GetInserimentoMovimentoContabile(CausaleContabileDTO causale, EsercizioDTO esercizio, decimal importo, ContoDTO conto, int? idContoBancario, DateTime? dataContabile, string descrizione, Sfera.Enums.TipoMovimentoEnum incassoSpesa, int? idMovimentoBancario)
 {
     _control = new MovimentoContabileEconomicoUI(causale, esercizio, importo, conto, idContoBancario, dataContabile, descrizione, incassoSpesa, idMovimentoBancario);
     _control.SetCustomEdit();
     return _control;
 }
Exemplo n.º 14
0
        public void DuplicaMovimentiDettagli(IList<MovimentoContabileDTO> movimenti, SpesaDTO spesa, CausaleContabileDTO causale, int? idFornitore, Dictionary<DettaglioSpesaDTO, RipartizioneSpeseDTO> ripartizione)
        {
            // Elimino tutti i movimenti presenti in tutti i dettagli escluso il primo
            for (var i = 1; i < spesa.Dettagli.Count; i++)
            {
                spesa.Dettagli[i].Movimenti.Clear();
            }

            // Copio tutti i movimenti del primo dettaglio in quelli successivi
            foreach (var movimento in movimenti)
            {
                movimento.Segno = "D";
                movimento.Causale = causale;
                movimento.IdFornitore = idFornitore;
                for (var i = 1; i < spesa.Dettagli.Count; i++)
                {
                    var ripartizioneDettaglio = ripartizione[spesa.Dettagli[i]];
                    var movimentoClone = cloneMovimento(movimento, spesa.Dettagli[0].ImportoLordo.GetValueOrDefault(), spesa.Dettagli[i].ImportoLordo.GetValueOrDefault());

                    var movimentoGiaPresente = spesa.Dettagli[i].Movimenti.Any(movimentoMultiDto => isEqualMovimento(movimento, movimentoMultiDto));

                    if (!movimentoGiaPresente)
                    {
                        spesa.Dettagli[i].Movimenti.Add(movimentoClone);
                        if (ripartizioneDettaglio != null)
                        {
                            foreach (var movTestata in ripartizioneDettaglio.Testata.Movimenti)
                            {
                                if (isEqualMovimento(movimento, movTestata))
                                    movimentoGiaPresente = true;
                            }
                            if (!movimentoGiaPresente)
                                ripartizioneDettaglio.Testata.Movimenti.Add(movimentoClone);
                        }
                    }
                }
            }
        }
Exemplo n.º 15
0
        public void AddMovimento(SpesaDTO spesa, CausaleContabileDTO causale, MovimentoContabileDTO movimento, RipartizioneSpeseDTO ripartizioneDettaglio, Dictionary<DettaglioSpesaDTO, RipartizioneSpeseDTO> ripartizione, bool isInserimento)
        {
            try
            {
                if (movimento != null)
                {
                    movimento.Causale = causale;
                    movimento.Segno = "D";

                    MovimentoContabileDTO movimentoToRemove = null;
                    if (ripartizioneDettaglio != null && ripartizioneDettaglio.Testata != null)
                    {
                        foreach (var movimentoDto in ripartizioneDettaglio.Testata.Movimenti)
                        {
                            if (movimentoDto.NumeroRiga == movimento.NumeroRiga)
                            {
                                movimentoToRemove = movimentoDto;
                                break;
                            }
                        }
                    }
                    if (ripartizioneDettaglio != null&& ripartizioneDettaglio.Testata != null && movimentoToRemove != null )
                        ripartizioneDettaglio.Testata.Movimenti.Remove(movimentoToRemove);

                    if (ripartizioneDettaglio != null && ripartizioneDettaglio.Testata != null)
                        ripartizioneDettaglio.Testata.Movimenti.Add(movimento);
                }
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nell'add di un movimento - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda);
            }
        }