protected override UpdatableStandardForm getDetailForm(FornitoreListaDTO dataSourceItem, string bandName)
 {
     var form = new DettaglioAgenziaAssicurativaUI(dataSourceItem);
     form.AfterDelete += formAfterDelete;
     _forms.Add(form);
     return form;
 }
        public List<IdMessage> IsAllowGenerazioneModello770(CondominioDTO condominio, int anno, FornitoreListaDTO fornitoreModello770, PersonaDTO firmatarioDichiarazione, PersonaDTO intermediarioDichiarazione)
        {
            int? idFornitore = null;
            if (fornitoreModello770 != null)
                idFornitore = fornitoreModello770.ID;

            var result = GetServiceClient().IsAllowGenerazioneModello770(condominio.ID, anno, idFornitore, DateTime.Today, firmatarioDichiarazione, intermediarioDichiarazione, GetUserInfo());
            CloseService();
            return result;
        
        }
        public DettaglioAgenziaAssicurativaUI(FornitoreListaDTO agenziaCache)
            : base(agenziaCache)
        {
            InitializeComponent();
            inizializza();

            _agenzia = (AgenziaAssicurativaDTO)getFornitoreService().GetById(agenziaCache.ID);
            bindingAgenziaAssicurativa.DataSource = _agenzia;
            fornitoreDTOBindingSource.DataSource = _agenzia;
            personaDTOBindingSource.DataSource = _agenzia.PersonaRiferimento;
            addressDTOBindingSource.DataSource = _agenzia.PersonaRiferimento.IndirizzoResidenza;
            Fornitore = _agenzia;
            BusinessClass = new BaseDTOOfint[] { Fornitore };
            Text += " Id: " + _agenzia.DisplayName;
        }
        public string GetModuloPDF(CondominioDTO condominio, int anno, string nomeFile, FornitoreListaDTO fornitoreModello770, DateTime dataDichiarazione, int? numeroIscrizioneCaf, bool intermediarioDichiarazioneCondominio, bool enteDichiarante, PersonaDTO firmatarioDichiarazione, PersonaDTO intermediarioDichiarazione)
        {
            if(condominio != null)
            {
                int? idFornitore = null;
                if (fornitoreModello770 != null)
                    idFornitore = fornitoreModello770.ID;

                var result = GetServiceClient().GetModello770PDF(condominio.ID, anno, idFornitore, dataDichiarazione, numeroIscrizioneCaf, intermediarioDichiarazioneCondominio, enteDichiarante, firmatarioDichiarazione, intermediarioDichiarazione, GetUserInfo());
                if (string.IsNullOrEmpty(result.Message))
                {
                    var doc = new DocumentInfo { Body = result.FileBody, FileName = nomeFile };
                    _manageDocumentService.Open(doc, "Modello 770", false, MergeFieldType.Default);
                }

                CloseService();
                return result.Message;
            }

            return "Non è stato scelto nessun condominio";
        }
Exemple #5
0
 protected override Windows.Forms.Templates.UpdatableStandardForm getDetailForm(FornitoreListaDTO fornitoreCache, string bandName)
 {
     return new DettaglioFornitoreUI(fornitoreCache);
 }
Exemple #6
0
        public void AddOrUpdateFornitore(FornitoreListaDTO fornitore)
        {
            string key = "AllFornitori_" + Login.Instance.CurrentLogin().Azienda;
            IList<FornitoreListaDTO> listaCache = GetAllFornitori();

            var fornitoriCache = listaCache.Where(item => item.ID == fornitore.ID).ToList();
            if (fornitoriCache.Any())
            {
                if (fornitoriCache.Count() > 1)
                {
                    _log.Warn("Errore inaspettato nell'aggiornamento della cache di Fornitore: Trovata più di una istanza dell'elemento: " + fornitore.ID + " - " + key +": " + listaCache.Count + " - " + Utility.GetMethodDescription());
                }

                // Trovo l'indice del primo elemento
                FornitoreListaDTO fornitoreCache = fornitoriCache.FirstOrDefault();
                int pos = listaCache.IndexOf(fornitoreCache);

                // Rimuovo tutti gli elementi trovati
                foreach (FornitoreListaDTO item in fornitoriCache)
                    listaCache.Remove(item);

                // Inserisco il nuovo elemento con l'index corretto
                if (pos > -1)
                    listaCache.Insert(pos, fornitore);
                else
                    listaCache.Add(fornitore);
            }
            else
                listaCache.Add(fornitore);

            _cache.Add(key, listaCache.ToArray(), CacheItemPriority.Normal, new CollectionCacheRefreshAction(), new AbsoluteTime(DateTime.Now.AddMinutes(300)));
        }
        FornitoreListaDTO convertFornitore(FornitoreDTO fornitore)
        {
            var fornitoreLista = new FornitoreListaDTO
            { 
                ID = fornitore.ID, 
                Nome = fornitore.PersonaRiferimento.Nome, 
                Cognome = fornitore.PersonaRiferimento.Cognome, 
                DisplayName = fornitore.DisplayName,
                TipoPersona = fornitore.PersonaRiferimento.TipoPersona.ToString(), 
                TipoFornitore = fornitore.DescrizioneTipoFornitore, 
                AliquotaIva = fornitore.AliquotaIva,
                AliquotaRitenutaAcconto = fornitore.AliquotaRitenutaAcconto, 
                AliquotaCassaProfessionisti = fornitore.AliquotaCassaProfessionisti, 
                Preferito = fornitore.FrequentlyAccessed,
                PresenzaNote = fornitore.PresenzaNote, 
                PartitaIva = fornitore.PersonaRiferimento.PartitaIva, 
                Abi = fornitore.PersonaRiferimento.Abi, 
                Cab = fornitore.PersonaRiferimento.Cab, 
                ContoCorrente = fornitore.PersonaRiferimento.ContoCorrente, 
                Cap = fornitore.PersonaRiferimento.IndirizzoResidenza.Cap, 
                Civico = fornitore.PersonaRiferimento.IndirizzoResidenza.Civico, 
                Comune = fornitore.PersonaRiferimento.IndirizzoResidenza.DescrizioneComune, 
                Provincia = fornitore.PersonaRiferimento.IndirizzoResidenza.CodiceProvincia, 
                Note = fornitore.Note, 
                CodiceModalitaPagamento = fornitore.CodiceModalitaPagamento, 
                DescrizioneBreveModalitaPagamento = fornitore.DescrizioneBreveModalitaPagamento, 
                DescrizioneModalitaPagamento = fornitore.DescrizioneModalitaPagamento,
                Cellulare = fornitore.Cellulare, 
                Telefono = fornitore.Telefono, 
                Email = fornitore.Email, 
                SitoInternet = fornitore.SitoInternet,
                Certificazione = fornitore.Certificazione, 
                Valutazione = fornitore.Valutazione, 
                IdPersona = fornitore.PersonaRiferimento.ID, 
                QuadroAc = fornitore.QuadroAc,
                IsCompagniaAssicurativa = fornitore.IsCompagniaAssicurativa,
                Stato = fornitore.StatoFornitore.ToString(),
                FornitoreAssicuratore="F" 
            };

            if (fornitore.PersonaRiferimento.Cin != null && fornitore.PersonaRiferimento.Cin.Length == 1)
                fornitoreLista.Cin = fornitore.PersonaRiferimento.Cin;

            if (fornitore.PersonaRiferimento.IndirizzoResidenza != null)
                fornitoreLista.Indirizzo = fornitore.PersonaRiferimento.IndirizzoResidenza.DisplayName;

            if (fornitore is AgenziaAssicurativaDTO)
            {
                fornitoreLista.Agenzia = ((AgenziaAssicurativaDTO)fornitore).Agenzia;
                fornitoreLista.Compagnia = ((AgenziaAssicurativaDTO)fornitore).Fornitore;

                fornitoreLista.DisplayName = fornitoreLista.Compagnia;
                if (!string.IsNullOrEmpty(fornitoreLista.DisplayName))
                    fornitoreLista.DisplayName += " - ";
                fornitoreLista.DisplayName += fornitoreLista.Agenzia;
                
                fornitoreLista.FornitoreAssicuratore = "A";
            }

            return fornitoreLista;
        }
 public void RemoveFornitorePreferito(CondominioDTO condominio, FornitoreListaDTO fornitore)
 {
     GetServiceClient().RemoveFornitorePreferito(condominio.ID, fornitore.ID, GetUserInfo());
     CloseService();
 }
 public string IsAllowRemoveFornitorePreferito(CondominioDTO condominio, FornitoreListaDTO fornitore)
 {
     var result = GetServiceClient().IsAllowDeleteFornitoreCondominio(fornitore.ID, condominio.ID, GetUserInfo());
     CloseService();
     return result;
 }
        private void ricercaFornitoriPreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
        {
            try
            {
                if ((e.KeyCode == Keys.Enter || e.KeyCode == Keys.Tab) && ricercaFornitori.ActiveRow != null)
                {
                    if (e.KeyCode == Keys.Tab)
                    {
                        // Se la riga attiva è fuori dal filtro pongo come riga attiva la prima del filtro
                        if (ricercaFornitori.ActiveRow.IsFilteredOut)
                        {
                            foreach (var row in ricercaFornitori.Rows)
                            {
                                if (!row.IsFilteredOut)
                                {
                                    ricercaFornitori.ActiveRow = row;
                                    row.Selected = true;
                                    break;
                                }
                            }
                        }
                    }

                    if (ricercaFornitori.ActiveRow.Cells["Id"].Value != null && ricercaFornitori.ActiveRow.Cells["Id"].Value != DBNull.Value)
                    {
                        _fornitoreSelected = ricercaFornitori.ActiveRow.ListObject as FornitoreListaDTO;
                        if (_fornitoreSelected != null)
                        {
                            fornitore.Text = ricercaFornitori.ActiveRow.Cells["DisplayName"].Value.ToString();
                            ((DropDownEditorButton)fornitore.ButtonsRight["SceltaFornitore"]).CloseUp();
                            OnSelectFornitore(new DataSourceEventArgs<FornitoreDTO>(SelectedFornitore));
                            return;
                        }
                    }
                }

                var filtered = false;
                if (e.KeyValue == 190)
                {
                    fornitore.Text += @".";
                    filtered = true;
                }
                if (e.KeyCode >= Keys.A && e.KeyCode <= Keys.Z)
                {
                    fornitore.Text += e.KeyCode.ToString();
                    filtered = true;
                }
                else if (e.KeyCode == Keys.Space)
                {
                    fornitore.Text += @" ";
                    filtered = true;
                }
                else if (e.KeyCode >= Keys.D0 && e.KeyCode <= Keys.D9)
                {
                    fornitore.Text += e.KeyCode.ToString().Substring(1, 1);
                    filtered = true;
                }
                else if (e.KeyCode >= Keys.NumPad0 && e.KeyCode <= Keys.NumPad9)
                {
                    fornitore.Text += e.KeyCode.ToString().Substring(6, 1);
                    filtered = true;
                }
                else if (e.KeyCode == Keys.Back)
                {
                    if (fornitore.Text.Length > 0)
                    {
                        fornitore.Text = fornitore.Text.Substring(0, fornitore.Text.Length - 1);
                        filtered = true;
                    }
                }
                if (filtered && ricercaFornitori.DisplayLayout.Bands[0].ColumnFilters.Count > 0)
                {
                    if (ricercaFornitori.Rows.Count > 0)
                    {
                        ricercaFornitori.Rows[0].Selected = true;
                        ricercaFornitori.Rows[0].Activate();
                    }
                }
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nella ricerca del fornitore - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Security.Login.Instance.CurrentLogin().Azienda);
            }
        }
        public FornitoreDTO GetByListaDTO(FornitoreListaDTO fornitoreLista)
        {
            if (fornitoreLista != null)
            {
                var fornitoreDto = new FornitoreDTO
                    {
                        AliquotaIva = fornitoreLista.AliquotaIva,
                        Cellulare = fornitoreLista.Cellulare,
                        DisplayAddress = fornitoreLista.Indirizzo,
                        DescrizioneTipoFornitore = fornitoreLista.TipoFornitore,
                        DisplayComune = fornitoreLista.Comune,
                        DisplayNominativo = fornitoreLista.DisplayName,
                        DisplayName = fornitoreLista.DisplayName,
                        DisplayPartitaIva = fornitoreLista.PartitaIva,
                        DisplayProvincia = fornitoreLista.Provincia,
                        Email = fornitoreLista.Email,
                        SitoInternet = fornitoreLista.SitoInternet,
                        ID = fornitoreLista.ID,
                        Note = fornitoreLista.Note,
                        PresenzaNote = fornitoreLista.PresenzaNote.GetValueOrDefault(),
                        Telefono = fornitoreLista.Telefono,
                        IsCompagniaAssicurativa = fornitoreLista.IsCompagniaAssicurativa,
                        IsRitenutaCalcolataImponibile = fornitoreLista.IsRitenutaCalcolataImponibile.GetValueOrDefault()
                    };

                if (fornitoreLista.AliquotaCassaProfessionisti != null)
                    fornitoreDto.AliquotaCassaProfessionisti = fornitoreLista.AliquotaCassaProfessionisti.Value;
                if (fornitoreLista.AliquotaRitenutaAcconto != null)
                    fornitoreDto.AliquotaRitenutaAcconto = fornitoreLista.AliquotaRitenutaAcconto.Value;

                return fornitoreDto;
            }
            return null;
        }
        public List<ContoDTO> GetContiPartitarioByCondominio(int idCondominio)
        {
            try
            {
                var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);
                var fornitori = daoFactory.GetFornitoreDao().GetIdNominativoByCondominio(idCondominio);
                var condomini = daoFactory.GetSoggettoCondominioDao().GetIdNominativoByCondominio(idCondominio);

                // ======================================
                // Elaboro lista Fornitori
                // ======================================
                var listaFornitori = new List<FornitoreListaDTO>(fornitori.Count);
                foreach (var nameValueDTO in fornitori)
                {
                    var nominativo = nameValueDTO.Name.Split('¥');
                    var fornitore = new FornitoreListaDTO {ID = nameValueDTO.Value};

                    var ragioneSociale = nominativo[2];
                    if (string.IsNullOrEmpty(ragioneSociale))
                    {
                        fornitore.Nome = nominativo[0];
                        fornitore.Cognome = nominativo[1];
                    }
                    else
                        fornitore.Cognome = ragioneSociale;

                    fornitore.DisplayName = fornitore.Nome;
                    if (!string.IsNullOrEmpty(fornitore.Nome))
                        fornitore.DisplayName += " ";
                    fornitore.DisplayName += fornitore.Cognome;
                    if (!string.IsNullOrEmpty(fornitore.DisplayName))
                        fornitore.DisplayName = fornitore.DisplayName.Trim();

                    listaFornitori.Add(fornitore);
                }
                listaFornitori = listaFornitori.OrderBy(item => item.DisplayName).ToList();

                // ======================================
                // Elaboro lista Condomini
                // ======================================
                var listaCondomini = new List<PersonaListaDTO>(condomini.Count);
                foreach (var nameValueDTO in condomini)
                {
                    var nominativo = nameValueDTO.Name.Split('¥');

                    var persona = new PersonaListaDTO{ ID = nameValueDTO.Value};

                    var ragioneSociale = nominativo[2];
                    if (string.IsNullOrEmpty(ragioneSociale))
                    {
                        persona.Nome = nominativo[0];
                        persona.Cognome = nominativo[1];
                    }
                    else
                        persona.Cognome = ragioneSociale;

                    persona.DisplayName = persona.Nome;
                    if (!string.IsNullOrEmpty(persona.Nome))
                        persona.DisplayName += " ";
                    persona.DisplayName += persona.Cognome;
                    if (!string.IsNullOrEmpty(persona.DisplayName))
                        persona.DisplayName = persona.DisplayName.Trim();

                    listaCondomini.Add(persona);
                }
                listaCondomini = listaCondomini.OrderBy(item => item.DisplayName).ToList();

                // ======================================
                // Recupero lista conti
                // ======================================
                var conti = GetContiByCondominio(idCondominio, false, listaFornitori, true);

                // ======================================
                // Aggiungo sottoconto condomini
                // ======================================
                var pianoContiService = _windsorRepository.GetContainer(_info.Azienda).Resolve<IPianoContiService>(); 
                foreach (var contoDTO in conti)
                {
                    if (contoDTO.Codice == pianoContiService.GetCodiceContoVersamentiCondomini())
                    {
                        foreach (var persona in listaCondomini)
                        {
                            var sottoconto = new SottoContoDTO
                            {
                                ID = persona.ID,
                                Codice = $"{contoDTO.Codice}.{persona.ID.ToString(CultureInfo.InvariantCulture).PadLeft(7, '0')}",
                                DisplayName = $"C{persona.ID}", 
                                Descrizione = persona.DisplayName
                            };
                            sottoconto.DescrizioneCompleta = $"{sottoconto.Codice} - {sottoconto.Descrizione}";

                            contoDTO.SottoConti.Add(sottoconto);
                        }
                    }
                    else if(contoDTO.SottoConti.Count > 0)
                    {
                        var sottoconto = new SottoContoDTO
                        {
                            Codice = $"{contoDTO.Codice}.000",
                            Descrizione = contoDTO.Descrizione
                        };
                        sottoconto.DescrizioneCompleta = $"{sottoconto.Codice} - {sottoconto.Descrizione}";

                        contoDTO.SottoConti.Insert(0, sottoconto);
                    }
                }

                return conti;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nel caricamento dei conti per partitario - {0} - condominio:{1}", ex, Utility.GetMethodDescription(), idCondominio);
                throw;
            }
        }
        public void Reset()
        {
            fornitore.Value = null;
            _fornitoreSelected = null;
            ricercaFornitori.DisplayLayout?.Bands[0].ColumnFilters.ClearAllFilters();

            if (fornitore.ButtonsRight.Exists("SceltaFornitore") && ((DropDownEditorButton)fornitore.ButtonsRight["SceltaFornitore"]).IsDroppedDown)
                ((DropDownEditorButton)fornitore.ButtonsRight["SceltaFornitore"]).CloseUp();

            OnSelectFornitore(new DataSourceEventArgs<FornitoreDTO>(SelectedFornitore));
        }
        private void ricercaFornitoriClick(object sender, EventArgs e)
        {
            try
            {
                //Cast the sender into an UltraGrid
                var grid = sender as UltraGrid;

                //Get the last element that the mouse entered
                if (grid?.DisplayLayout != null)
                {
                    var lastElementEntered = grid.DisplayLayout.UIElement.LastElementEntered;

                    //See if there's a RowUIElement in the chain.
                    RowUIElement rowElement = null;
                    var element = lastElementEntered as RowUIElement;
                    if (element != null)
                        rowElement = element;
                    else if (lastElementEntered != null)
                    {
                        rowElement = lastElementEntered.GetAncestor(typeof(RowUIElement)) as RowUIElement;
                    }

                    if (rowElement == null) return;

                    //Try to get a row from the element
                    var row = rowElement.GetContext(typeof(UltraGridRow)) as UltraGridRow;

                    //If no row was returned, then the mouse is not over a row. 
                    if (row == null)
                        return;

                    _fornitoreSelected = row.ListObject as FornitoreListaDTO;
                }

                if (_fornitoreSelected != null)
                    fornitore.Text = _fornitoreSelected.DisplayName;

                OnSelectFornitore(new DataSourceEventArgs<FornitoreDTO>(SelectedFornitore));
                ((DropDownEditorButton)fornitore.ButtonsRight["SceltaFornitore"]).CloseUp();
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore inaspettato nella combo di ricerca dei fornitori - {0}", ex, Utility.GetMethodDescription());
            }
        }
 public string IsAllowDelete(FornitoreListaDTO fornitore)
 {
     var result = GetServiceClient().IsAllowDeleteFornitore(fornitore.ID, GetUserInfo());
     CloseService();
     return result;
 }
        public DettaglioFornitoreUI(FornitoreListaDTO fornitoreCache)
        {
            try
            {
                InitializeComponent();
                inizializza();

                if (!(this is DettaglioAgenziaAssicurativaUI))
                {
                    try
                    {
                        if (fornitoreCache != null)
                        {
                            Fornitore = _fornitoreService.GetById(fornitoreCache.ID);
                            if (Fornitore != null)
                            {
                                fornitoreDTOBindingSource.DataSource = Fornitore;

                                if (Fornitore.PersonaRiferimento != null)
                                {
                                    personaDTOBindingSource.DataSource = Fornitore.PersonaRiferimento;

                                    if (Fornitore.PersonaRiferimento.IndirizzoResidenza != null)
                                        addressDTOBindingSource.DataSource = Fornitore.PersonaRiferimento.IndirizzoResidenza;
                                    else
                                        log.WarnFormat("Oggetto a null - INDIRIZZO RESIDENZA - {0} - fornitore:{1} - azienda:{2}", Utility.GetMethodDescription(), fornitoreCache.ID, Security.Login.Instance.CurrentLogin().Azienda);
                                }
                                else
                                {
                                    log.WarnFormat("Oggetto a null - PERSONA - {0} - fornitore:{1} - azienda:{2}", Utility.GetMethodDescription(), fornitoreCache.ID, Security.Login.Instance.CurrentLogin().Azienda);
                                    Close();
                                }

                                BusinessClass = new BaseDTOOfint[] { Fornitore };
                            }
                            else
                            {
                                log.WarnFormat("Oggetto a null - FORNITORE_GETBYID - {0} - azienda:{2}", Utility.GetMethodDescription(), Security.Login.Instance.CurrentLogin().Azienda);
                                Close();
                            }
                        }
                        else
                        {
                            log.WarnFormat("Oggetto a null - FORNITORECACHE - {0} - azienda:{2}", Utility.GetMethodDescription(), Security.Login.Instance.CurrentLogin().Azienda);
                            Close();
                        }
                    }
                    catch (Exception ex)
                    {
                        var idFornitore = "<NULL>";
                        if (fornitoreCache != null)
                            idFornitore = fornitoreCache.ID.ToString();
                        log.ErrorFormat("Errore inaspettato nel costruttore - {0} - fornitore:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), idFornitore, Security.Login.Instance.CurrentLogin().Azienda);
                        throw;
                    }
                }
            }
            catch (Exception)
            {
                CloseForm();
            }
        }
        public void SetFornitoreInitial(int idFornitore)
        {
            _fornitoreInitial = idFornitore;

            // Imposto il condominio iniziale
            if (ricercaFornitori.Rows != null)
            {
                foreach (UltraGridRow row in ricercaFornitori.Rows)
                {
                    if (row.IsDataRow && ((FornitoreListaDTO)row.ListObject).ID == _fornitoreInitial)
                    {
                        row.Selected = true;
                        _fornitoreSelected = (FornitoreListaDTO)row.ListObject;
                        fornitore.Text = _fornitoreSelected.DisplayName;
                        Text = _fornitoreSelected.DisplayName;
                        OnSelectFornitore(new DataSourceEventArgs<FornitoreDTO>(SelectedFornitore));
                        break;
                    }
                }
            }
        }