public string saveTipoImpianto(Azienda azienda, DettaglioTabellaSempliceDTO elemento, Gipasoft.Sfera.Enums.CRUDOperation operation, IDaoFactory daoFactory) { try { var message = string.Empty; TipoImpianto item; if (elemento.Id > 0) item = daoFactory.GetTipoImpiantoDao().Find(elemento.Id, false); else { item = new TipoImpianto(elemento.Descrizione) { Ordine = elemento.Ordine }; daoFactory.GetTipoImpiantoDao().SaveOrUpdate(item); } if (item != null) { if (operation == Gipasoft.Sfera.Enums.CRUDOperation.Update) { item.Nome = elemento.Descrizione; item.IdAzienda = azienda.ID; item.Ordine = elemento.Ordine; } else if (operation == Gipasoft.Sfera.Enums.CRUDOperation.Delete) daoFactory.GetTipoImpiantoDao().Delete(item); } return message; } catch (Exception ex) { _log.ErrorFormat("Errore nel salvataggio del tipo di impianto - {0} - id:{1}", ex, Utility.GetMethodDescription(), elemento.Id); throw; } }
public string saveTipoContratto(Azienda azienda, DettaglioTabellaSempliceDTO elemento, Gipasoft.Sfera.Enums.CRUDOperation operation, IDaoFactory daoFactory) { try { var message = string.Empty; TipoContratto item; if (elemento.Id > 0) item = daoFactory.GetTipoContrattoDao().Find(elemento.Id, false); else { item = new TipoContratto(elemento.Descrizione); daoFactory.GetTipoContrattoDao().SaveOrUpdate(item); } if (item != null) { if (operation == Gipasoft.Sfera.Enums.CRUDOperation.Update) { item.Descrizione = elemento.Descrizione; item.Azienda = azienda; } else if (operation == Gipasoft.Sfera.Enums.CRUDOperation.Delete) { var count = daoFactory.GetContrattoAppaltoDao().GetCountByTipoContratto(elemento.Id); if(count == 0) daoFactory.GetTipoContrattoDao().Delete(item); else message += $"Sono presenti {count} contratti del tipo '{item.Descrizione}'" + Environment.NewLine; } } return message; } catch (Exception ex) { _log.ErrorFormat("Errore nel salvataggio del tipo contratto - {0} - id:{1}", ex, Utility.GetMethodDescription(), elemento.Id); throw; } }
public string saveGruppo(Azienda azienda, DettaglioTabellaSempliceDTO elemento, Gipasoft.Sfera.Enums.CRUDOperation operation, IDaoFactory daoFactory) { try { var message = string.Empty; Gruppo item; if (elemento.Id > 0) item = daoFactory.GetGruppoDao().Find(elemento.Id, false); else { item = new Gruppo(elemento.Descrizione) {Codice = elemento.AltriDati, DescrizioneBreve = elemento.DescrizioneBreve, Ordine = elemento.Ordine }; daoFactory.GetGruppoDao().SaveOrUpdate(item); } if (item != null) { if (operation == Gipasoft.Sfera.Enums.CRUDOperation.Update) { var descrizioneBreve = elemento.DescrizioneBreve; if (!string.IsNullOrEmpty(descrizioneBreve) && descrizioneBreve.Length > 20) descrizioneBreve = descrizioneBreve.Substring(0, 20); var codice = elemento.AltriDati; if (!string.IsNullOrEmpty(codice) && codice.Length > 10) codice = codice.Substring(0, 10); item.Codice = codice; item.Descrizione = elemento.Descrizione; item.DescrizioneBreve = descrizioneBreve; item.Ordine = elemento.Ordine; item.Azienda = azienda; } else if (operation == Gipasoft.Sfera.Enums.CRUDOperation.Delete) daoFactory.GetGruppoDao().Delete(item); } return message; } catch (Exception ex) { _log.Error($"Errore nel salvataggio del gruppo - {Utility.GetMethodDescription()} - id:{elemento.Id}", ex); throw; } }
public string saveTipoUnitaImmobiliare(Azienda azienda, DettaglioTabellaSempliceDTO elemento, Gipasoft.Sfera.Enums.CRUDOperation operation, IDaoFactory daoFactory) { try { var message = string.Empty; TipoUnitaImmobiliare item; if (elemento.Id > 0) item = daoFactory.GetTipoUnitaImmobiliareDao().Find(elemento.Id, false); else { item = new TipoUnitaImmobiliare(elemento.Descrizione) {Ordine = elemento.Ordine}; daoFactory.GetTipoUnitaImmobiliareDao().SaveOrUpdate(item); } if (item != null) { if (operation == Gipasoft.Sfera.Enums.CRUDOperation.Update) { item.Descrizione = elemento.Descrizione; item.CodiceAzienda = azienda.ID; item.Ordine = elemento.Ordine; } else if (operation == Gipasoft.Sfera.Enums.CRUDOperation.Delete) { if (!isAllowDeleteTipoUnita(daoFactory, item.ID)) return "Non è possibile eliminare il tipo di unità immobiliare perchè sono presenti unità immobiliari associate."; daoFactory.GetTipoUnitaImmobiliareDao().Delete(item); } } return message; } catch (Exception ex) { _log.ErrorFormat("Errore nel salvataggio del tipo di Unità Immobiliare - {0} - id:{1}", ex, Utility.GetMethodDescription(), elemento.Id); throw; } }
public string saveTipoFornitore(Azienda azienda, DettaglioTabellaSempliceDTO elemento, Gipasoft.Sfera.Enums.CRUDOperation operation, IDaoFactory daoFactory) { try { string message = string.Empty; TipoFornitore item; if (elemento.Id > 0) item = daoFactory.GetTipoFornitoreDao().Find(elemento.Id, false); else { item = new TipoFornitore(elemento.Descrizione); daoFactory.GetTipoFornitoreDao().SaveOrUpdate(item); } if (item != null) { if (operation == Gipasoft.Sfera.Enums.CRUDOperation.Update) { item.Descrizione = elemento.Descrizione; item.Azienda = azienda; } else if (operation == Gipasoft.Sfera.Enums.CRUDOperation.Delete) daoFactory.GetTipoFornitoreDao().Delete(item); } return message; } catch (Exception ex) { _log.Error("Errore nel salvataggio del tipo Fornitore: " + Utility.GetMethodDescription() + " - id:" + elemento.Id, ex); throw; } }
public IList<TestataTabellaSempliceDTO> GetAll(int idAzienda) { try { var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); var listaDto = new List<TestataTabellaSempliceDTO>(10); // Modalità di pagamento var tab = new TestataTabellaSempliceDTO { Tipo = Gipasoft.Sfera.Enums.TipoTabellaSempliceEnum.ModalitaPagamento, Descrizione = "Modalità di pagamento" }; listaDto.Add(tab); var listaModPag = daoFactory.GetModalitaPagamentoDao().GetByAzienda(idAzienda); var listaElementiDto = new List<DettaglioTabellaSempliceDTO>(listaModPag.Count); listaElementiDto.AddRange(listaModPag.Select(item => new DettaglioTabellaSempliceDTO { Id = item.ID, Descrizione = item.Descrizione, DescrizioneBreve = item.DescrizioneBreve, AltriDati = string.Empty, Ordine = item.Ordine, AllowUpdate = (item.Azienda != null), AllowDelete = (item.Azienda != null) })); tab.Elementi = listaElementiDto; // Tipo Fornitore tab = new TestataTabellaSempliceDTO { Tipo = Gipasoft.Sfera.Enums.TipoTabellaSempliceEnum.TipoFornitore, Descrizione = "Tipo Fornitore" }; listaDto.Add(tab); var listaTipoFornitore = daoFactory.GetTipoFornitoreDao().GetByAzienda(idAzienda); listaElementiDto = new List<DettaglioTabellaSempliceDTO>(listaTipoFornitore.Count); foreach (var item in listaTipoFornitore) { var fornitori = daoFactory.GetFornitoreDao().GetByTipo(item.ID); var dto = new DettaglioTabellaSempliceDTO { Id = item.ID, Descrizione = item.Descrizione, AltriDati = item.Appaltatore ? "Appalti" : string.Empty, AllowUpdate = (item.Azienda != null), AllowDelete = (item.Azienda != null && fornitori.Count == 0) }; listaElementiDto.Add(dto); } tab.Elementi = listaElementiDto; // Gruppo tab = new TestataTabellaSempliceDTO { Tipo = Gipasoft.Sfera.Enums.TipoTabellaSempliceEnum.Gruppo, Descrizione = "Gruppo" }; listaDto.Add(tab); var listaGruppo = daoFactory.GetGruppoDao().GetByAzienda(idAzienda); listaElementiDto = new List<DettaglioTabellaSempliceDTO>(listaGruppo.Count); listaElementiDto.AddRange(listaGruppo.Select(item => new DettaglioTabellaSempliceDTO { Id = item.ID, Descrizione = item.Descrizione, DescrizioneBreve = item.DescrizioneBreve, Ordine = item.Ordine, AltriDati = item.Codice, AllowUpdate = (item.Azienda != null), AllowDelete = (item.Azienda != null) })); tab.Elementi = listaElementiDto; // Tipo Contratto tab = new TestataTabellaSempliceDTO { Tipo = Gipasoft.Sfera.Enums.TipoTabellaSempliceEnum.TipoContratto, Descrizione = "Tipo Contratto" }; listaDto.Add(tab); var listaTipoContratto = daoFactory.GetTipoContrattoDao().GetByAzienda(idAzienda); listaElementiDto = new List<DettaglioTabellaSempliceDTO>(listaTipoContratto.Count); listaElementiDto.AddRange(listaTipoContratto.Select(item => new DettaglioTabellaSempliceDTO { Id = item.ID, Descrizione = item.Descrizione, AllowUpdate = (item.Azienda != null), AllowDelete = (item.Azienda != null) })); tab.Elementi = listaElementiDto; // Tipo Ordine Del Giorno tab = new TestataTabellaSempliceDTO { Tipo = Gipasoft.Sfera.Enums.TipoTabellaSempliceEnum.TipoOrdineDelGiorno, Descrizione = "Tipo Ordine Del Giorno" }; listaDto.Add(tab); var listaTipoOrdineDelGiorno = daoFactory.GetTipoOrdineDelGiornoDao().GetAll(); listaElementiDto = new List<DettaglioTabellaSempliceDTO>(listaTipoOrdineDelGiorno.Count); listaElementiDto.AddRange(listaTipoOrdineDelGiorno.Select(item => new DettaglioTabellaSempliceDTO { Id = item.ID, Descrizione = item.Descrizione, AllowUpdate = (item.Azienda != null), AllowDelete = (item.Azienda != null) })); tab.Elementi = listaElementiDto; // Frasi tab = new TestataTabellaSempliceDTO { Tipo = Gipasoft.Sfera.Enums.TipoTabellaSempliceEnum.ModelliFrasi, Descrizione = "Frasi" }; listaDto.Add(tab); var listaModelliFrasi = daoFactory.GetModelloFraseDao().GetAll(); listaElementiDto = new List<DettaglioTabellaSempliceDTO>(listaModelliFrasi.Count); listaElementiDto.AddRange(listaModelliFrasi.Select(item => new DettaglioTabellaSempliceDTO { Id = item.ID, Descrizione = Conversione.RtfToString(item.Testo), AllowUpdate = (item.Azienda != null), AllowDelete = (item.Azienda != null) })); tab.Elementi = listaElementiDto; // Tipo Impianto tab = new TestataTabellaSempliceDTO { Tipo = Gipasoft.Sfera.Enums.TipoTabellaSempliceEnum.TipoImpianto, Descrizione = "Tipo Impianto" }; listaDto.Add(tab); var listaTipoImpianto = GetTipoImpiantoByAzienda(idAzienda); listaElementiDto = new List<DettaglioTabellaSempliceDTO>(listaTipoImpianto.Count); listaElementiDto.AddRange(listaTipoImpianto.Select(item => new DettaglioTabellaSempliceDTO { Id = item.ID, Descrizione = item.Nome, Ordine = item.Ordine, AllowUpdate = item.IsUpdateAllow, AllowDelete = item.IsDeleteAllow })); tab.Elementi = listaElementiDto; // Tipo Unità Immobiliare tab = new TestataTabellaSempliceDTO { Tipo = Gipasoft.Sfera.Enums.TipoTabellaSempliceEnum.TipoUnitaImmobiliare, Descrizione = "Tipo Unità Immobiliare" }; listaDto.Add(tab); var listaTipoUnitaImmobiliare = GetTipoUnitaImmobiliareByAzienda(idAzienda); listaElementiDto = new List<DettaglioTabellaSempliceDTO>(listaTipoUnitaImmobiliare.Count); listaElementiDto.AddRange(listaTipoUnitaImmobiliare.Select(item => new DettaglioTabellaSempliceDTO { Id = item.ID, Descrizione = item.Descrizione, Ordine = item.Ordine, AllowUpdate = item.IsUpdateAllow, AllowDelete = item.IsDeleteAllow })); tab.Elementi = listaElementiDto; // Tipo Pratica tab = new TestataTabellaSempliceDTO { Tipo = Gipasoft.Sfera.Enums.TipoTabellaSempliceEnum.TipoPratica, Descrizione = "Tipo Pratica" }; listaDto.Add(tab); var listaTipoPratica = daoFactory.GetTipoPraticaDao().GetByAzienda(idAzienda); listaElementiDto = new List<DettaglioTabellaSempliceDTO>(listaTipoPratica.Count); listaElementiDto.AddRange(listaTipoPratica.Select(item => new DettaglioTabellaSempliceDTO { Id = item.ID, Descrizione = item.Descrizione, DescrizioneBreve = item.Codice, AllowUpdate = (item.Azienda != null), AllowDelete = (item.Azienda != null) })); tab.Elementi = listaElementiDto; // Tipo Attività tab = new TestataTabellaSempliceDTO { Tipo = Gipasoft.Sfera.Enums.TipoTabellaSempliceEnum.TipoAttivita, Descrizione = "Tipo Attività" }; listaDto.Add(tab); var listaTipoAttivita = daoFactory.GetTipoAttivitaDao().GetByAzienda(idAzienda); listaElementiDto = new List<DettaglioTabellaSempliceDTO>(listaTipoAttivita.Count); listaElementiDto.AddRange(listaTipoAttivita.Select(item => new DettaglioTabellaSempliceDTO { Id = item.ID, Descrizione = item.Descrizione, DescrizioneBreve = item.Codice, AllowUpdate = (item.Azienda != null), AllowDelete = (item.Azienda != null) })); tab.Elementi = listaElementiDto; // Tipo Alert tab = new TestataTabellaSempliceDTO { Tipo = Gipasoft.Sfera.Enums.TipoTabellaSempliceEnum.TipoAlert, Descrizione = "Tipo Alert" }; listaDto.Add(tab); var listaTipoAlert = daoFactory.GetTipoAlertDao().GetByAzienda(idAzienda); listaElementiDto = new List<DettaglioTabellaSempliceDTO>(listaTipoAlert.Count); listaElementiDto.AddRange(listaTipoAlert.Select(item => new DettaglioTabellaSempliceDTO { Id = item.ID, Descrizione = item.Descrizione, AllowUpdate = (item.Azienda != null), AllowDelete = (item.Azienda != null) })); tab.Elementi = listaElementiDto; // Causali Contabili tab = new TestataTabellaSempliceDTO { Tipo = Gipasoft.Sfera.Enums.TipoTabellaSempliceEnum.CausaleContabile, Descrizione = "Causali Contabili" }; listaDto.Add(tab); var listaCausaliContabili = daoFactory.GetCausaleContabileDao().GetByAzienda(idAzienda); listaElementiDto = new List<DettaglioTabellaSempliceDTO>(listaCausaliContabili.Count); foreach (var item in listaCausaliContabili) { var dto = new DettaglioTabellaSempliceDTO { Id = item.ID, Descrizione = item.Descrizione, DescrizioneBreve = item.Codice, Ordine = item.Ordine, AllowUpdate = (item.Azienda != null), AllowDelete = (item.Azienda != null) }; var altriDati = string.Empty; foreach (var causaleConto in item.Conti) { var conto = daoFactory.GetPianoContiDao().GetByCodice(idAzienda, causaleConto.CodiceConto); altriDati += conto.Descrizione + Environment.NewLine; } dto.AltriDati = altriDati; listaElementiDto.Add(dto); } tab.Elementi = listaElementiDto; return listaDto; } catch (Exception ex) { _log.Error("Errore nel caricamento delle Casuali Contabili: " + Utility.GetMethodDescription() + " - azienda:" + idAzienda, ex); throw; } }
public string saveModalitaPagamento(Azienda azienda, DettaglioTabellaSempliceDTO elemento, Gipasoft.Sfera.Enums.CRUDOperation operation, IDaoFactory daoFactory) { try { var message = string.Empty; ModalitaPagamento item; if (elemento.Id > 0) item = daoFactory.GetModalitaPagamentoDao().Find(elemento.Id, false); else { item = new ModalitaPagamento(elemento.Descrizione, elemento.DescrizioneBreve) {Azienda = azienda}; daoFactory.GetModalitaPagamentoDao().SaveOrUpdate(item); } if (item != null) { if (operation == Gipasoft.Sfera.Enums.CRUDOperation.Update) { item.Descrizione = elemento.Descrizione; item.DescrizioneBreve = elemento.DescrizioneBreve; item.Azienda = azienda; item.Ordine = elemento.Ordine; } else if (operation == Gipasoft.Sfera.Enums.CRUDOperation.Delete) { var numeroPagamenti = daoFactory.GetPagamentoDao().GetCountByModalitaPagamento(elemento.Id); if (numeroPagamenti == 0) daoFactory.GetModalitaPagamentoDao().Delete(item); else message += $"Sono presenti {numeroPagamenti} pagamenti con la modalità '{item.Descrizione}'"; } } return message; } catch (Exception ex) { _log.Error("Errore nel salvataggio della modalità di pagamento: " + Utility.GetMethodDescription() + " - id:" + elemento.Id, ex); throw; } }
public string saveCausaleContabile(Azienda azienda, DettaglioTabellaSempliceDTO elemento, Gipasoft.Sfera.Enums.CRUDOperation operation, IDaoFactory daoFactory) { try { string message = string.Empty; if (operation != Gipasoft.Sfera.Enums.CRUDOperation.Delete) { if (!string.IsNullOrEmpty(elemento.DescrizioneBreve)) { if (elemento.DescrizioneBreve.Length > 2) message = "Il codice della causale NON può essere più lungo di 2 caratteri:" + elemento.DescrizioneBreve; } else message = "E' obbligatorio il codice della causale contabile"; var causali = daoFactory.GetCausaleContabileDao().GetByAzienda(_info.Azienda); if (causali.Count(item => item.Codice == elemento.DescrizioneBreve && item.ID != elemento.Id) > 0) message = $"E' già presente una causale col codice {elemento.DescrizioneBreve}"; } if (string.IsNullOrEmpty(message)) { CausaleContabile item = null; if (elemento.Id > 0) item = daoFactory.GetCausaleContabileDao().Find(elemento.Id, false); else if(operation != Gipasoft.Sfera.Enums.CRUDOperation.Delete) { item = new CausaleContabile(elemento.DescrizioneBreve, elemento.Descrizione, true) {Ordine = elemento.Ordine}; daoFactory.GetCausaleContabileDao().SaveOrUpdate(item); } if (item != null) { switch (operation) { case Gipasoft.Sfera.Enums.CRUDOperation.Update: item.Descrizione = elemento.Descrizione; item.Codice = elemento.DescrizioneBreve; item.Azienda = azienda; item.Ordine = elemento.Ordine; break; case Gipasoft.Sfera.Enums.CRUDOperation.Delete: daoFactory.GetCausaleContabileDao().Delete(item); break; } } } return message; } catch (Exception ex) { _log.ErrorFormat("Errore nel salvataggio della causale contabile - {0} - id:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), elemento.Id, _info.Azienda); throw; } }
public string saveTipoAttivita(Azienda azienda, DettaglioTabellaSempliceDTO elemento, Gipasoft.Sfera.Enums.CRUDOperation operation, IDaoFactory daoFactory) { try { var message = string.Empty; if (!string.IsNullOrEmpty(elemento.DescrizioneBreve)) { TipoAttivita item; if (elemento.Id > 0) item = daoFactory.GetTipoAttivitaDao().Find(elemento.Id, false); else { item = new TipoAttivita(elemento.DescrizioneBreve, elemento.Descrizione); daoFactory.GetTipoAttivitaDao().SaveOrUpdate(item); } if (item != null) { if (operation == Gipasoft.Sfera.Enums.CRUDOperation.Update) { var descrizioneBreve = elemento.DescrizioneBreve; if (!string.IsNullOrEmpty(descrizioneBreve) && descrizioneBreve.Length > 5) descrizioneBreve = descrizioneBreve.Substring(0, 5); var descrizione = elemento.Descrizione; if (!string.IsNullOrEmpty(descrizione) && descrizione.Length > 50) descrizione = descrizione.Substring(0, 50); item.Descrizione = descrizione; item.Codice = descrizioneBreve; item.Azienda = azienda; } else if (operation == Gipasoft.Sfera.Enums.CRUDOperation.Delete) daoFactory.GetTipoAttivitaDao().Delete(item); } } else message = "E' obbligatorio il codice attività"; return message; } catch (Exception ex) { _log.ErrorFormat("Errore nel salvataggio del tipo di attività - {0} - id:{1}", ex, Utility.GetMethodDescription(), elemento.Id); throw; } }
public string saveTipoPratica(Azienda azienda, DettaglioTabellaSempliceDTO elemento, Gipasoft.Sfera.Enums.CRUDOperation operation, IDaoFactory daoFactory) { try { string message = string.Empty; if (!string.IsNullOrEmpty(elemento.DescrizioneBreve)) { TipoPratica item; if (elemento.Id > 0) item = daoFactory.GetTipoPraticaDao().Find(elemento.Id, false); else { item = new TipoPratica(elemento.DescrizioneBreve, elemento.Descrizione); daoFactory.GetTipoPraticaDao().SaveOrUpdate(item); } if (item != null) { if (operation == Gipasoft.Sfera.Enums.CRUDOperation.Update) { var descrizioneBreve = elemento.DescrizioneBreve; if (!string.IsNullOrEmpty(descrizioneBreve) && descrizioneBreve.Length > 3) descrizioneBreve = descrizioneBreve.Substring(0, 3); item.Descrizione = elemento.Descrizione; item.Codice = descrizioneBreve; item.Azienda = azienda; } else if (operation == Gipasoft.Sfera.Enums.CRUDOperation.Delete) { var numeroPratiche = daoFactory.GetPraticaDao().GetCountByTipo(item.ID); if (numeroPratiche == 0) daoFactory.GetTipoPraticaDao().Delete(item); else return $"Non è possibile eliminare il tipo pratica perchè sono presenti {numeroPratiche} pratiche collegate"; } } } else message = "E' obbligatorio il codice pratica"; return message; } catch (Exception ex) { _log.Error("Errore nel salvataggio del tipo di pratica: " + Utility.GetMethodDescription() + " - id:" + elemento.Id, ex); throw; } }
public string saveModelloFrase(Azienda azienda, DettaglioTabellaSempliceDTO elemento, Gipasoft.Sfera.Enums.CRUDOperation operation, IDaoFactory daoFactory) { try { var message = string.Empty; ModelloFrase item; if (elemento.Id > 0) item = daoFactory.GetModelloFraseDao() .Find(elemento.Id, false); else { item = new ModelloFrase(elemento.DescrizioneBreve, elemento.Descrizione); daoFactory.GetModelloFraseDao().SaveOrUpdate(item); } if (item != null) { if (operation == Gipasoft.Sfera.Enums.CRUDOperation.Update) { item.Testo = elemento.Descrizione; item.Azienda = azienda; } else if (operation == Gipasoft.Sfera.Enums.CRUDOperation.Delete) { daoFactory.GetModelloFraseDao().Delete(item); } } return message; } catch (Exception ex) { _log.ErrorFormat("Errore nel salvataggio della frase - {0} - id:{1}", ex, Utility.GetMethodDescription(), elemento.Id); throw; } }