예제 #1
0
파일: SALItem.cs 프로젝트: es-dev/cantieri
 private static DescriptionImage GetStato(CommessaDto commessa, DateTime data)
 {
     try
     {
         var image = "";
         var descrizione = "";
         var stato = BusinessLogic.SAL.GetStato(commessa, data);
         if (stato == Tipi.StatoSAL.Positivo)
         {
             image = "Images.messageConfirm.png";
             descrizione = "SAL positivo";
         }
         else if (stato == Tipi.StatoSAL.Negativo)
         {
             image = "Images.messageQuestion.png";
             descrizione = "SAL negativo, il margine operativo è al di sotto del margine minimo garantito";
         }
         else if (stato == Tipi.StatoSAL.Perdita)
         {
             image = "Images.messageAlert.png";
             descrizione = "SAL in perdita, il margine operativo risulta negativo. Commessa con profitto negativo";
         }
         var _stato = new DescriptionImage(descrizione, image);
         return _stato;
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     return null;
 }
예제 #2
0
 public static UtilityValidation.ValidationState ValidateCommittente(CommittenteDto committente, AnagraficaCommittenteDto anagraficaCommittente, CommessaDto commessa)
 {
     try
     {
         var validation = new UtilityValidation.ValidationState();
         if (committente != null && commessa != null && anagraficaCommittente != null)
         {
             var committenti = commessa.Committentes;
             if (committenti != null)
             {
                 var exist = ((from q in committenti where q.Id != committente.Id && q.AnagraficaCommittenteId == anagraficaCommittente.Id select q).Count() >= 1);
                 validation.State = !exist;
                 if (exist)
                     validation.Message = "Il committente selezionato " + BusinessLogic.Committente.GetCodifica(anagraficaCommittente) + " è già presente nella commessa " + 
                         BusinessLogic.Commessa.GetCodifica(commessa);
             }
         }
         return validation;
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     return null;
 }
예제 #3
0
 public CommittenteModel(CommessaDto commessa)
 {
     InitializeComponent();
     try
     {
         this.commessa = commessa;
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
 }
예제 #4
0
파일: SALModel.cs 프로젝트: es-dev/cantieri
        private void BindViewCodiceSAL(CommessaDto commessa)
        {
            try
            {
                var codice = BusinessLogic.SAL.GetNewCodice(commessa);
                var data = DateTime.Now;
                editCodice.Value = codice;
                editData.Value =  data;
                editDenominazione.Value = BusinessLogic.SAL.GetDenominazione(codice, data, commessa);
            }
            catch (Exception ex)
            {
                UtilityError.Write(ex);
            }

        }
예제 #5
0
파일: Commessa.cs 프로젝트: es-dev/cantieri
 public static decimal GetTotaleNoteCredito(CommessaDto commessa, DateTime data)
 {
     try
     {
         if (commessa != null)
         {
             var fornitori = commessa.Fornitores;
             var totaleNoteCredito = GetTotaleNoteCredito(fornitori, data);
             return totaleNoteCredito;
         }
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     return 0;
 }
예제 #6
0
파일: SALView.cs 프로젝트: es-dev/cantieri
 public SALView(WcfService.Dto.CommessaDto commessa)
 {
     InitializeComponent();
     try
     {
         this.commessa = commessa;
         var viewModel = (SAL.SALViewModel)ViewModel;
         if (viewModel != null)
         {
             viewModel.Commessa = commessa;
         }
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
 }
예제 #7
0
파일: SALView.cs 프로젝트: es-dev/cantieri
 public SALView(WcfService.Dto.CommessaDto commessa)
 {
     InitializeComponent();
     try
     {
         this.commessa = commessa;
         var viewModel = (SAL.SALViewModel)ViewModel;
         if (viewModel != null)
         {
             viewModel.Commessa = commessa;
         }
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
 }
예제 #8
0
 public CommittenteView(CommessaDto commessa)
 {
     InitializeComponent();
     try
     {
         this.commessa = commessa;
         var viewModel = (Committente.CommittenteViewModel)ViewModel;
         if (viewModel != null)
         {
             viewModel.Commessa = commessa;
         }
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
 }
예제 #9
0
파일: SAL.cs 프로젝트: es-dev/cantieri
 public static decimal GetMargineOperativo(CommessaDto commessa, DateTime data)
 {
     try
     {
         if (commessa != null)
         {
             var fornitori = commessa.Fornitores;
             var totaleFattureAcquisto = GetTotaleFattureAcquisto(fornitori, data);
             var importoLavori = UtilityValidation.GetDecimal(commessa.Importo);
             var margineOperativo = importoLavori - totaleFattureAcquisto;
             return margineOperativo;
         }
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     return 0;
 }
예제 #10
0
파일: SAL.cs 프로젝트: es-dev/cantieri
 public static decimal GetPercentualeAvanzamento(CommessaDto commessa)
 {
     try
     {
         if (commessa != null)
         {
             var importoAvanzamentoLavori = GetImportoAvanzamentoLavori(commessa);
             var importoLavori = UtilityValidation.GetDecimal(commessa.Importo);
             if (importoLavori > 0)
             {
                 var percentualeAvanzamento = (importoAvanzamentoLavori / importoLavori) * 100;
                 return percentualeAvanzamento;
             }
         }
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     return 0;
 }
예제 #11
0
파일: SAL.cs 프로젝트: es-dev/cantieri
 public static decimal GetImportoAvanzamentoLavori(CommessaDto commessa)
 {
     try
     {
         if (commessa != null)
         {
             var SALs = commessa.SALs;
             if (SALs != null)
             {
                 var lastSAL = (from q in SALs orderby q.Id descending select q).Take(1).FirstOrDefault();
                 if (lastSAL != null)
                 {
                     var importoAvanzamentoLavori = UtilityValidation.GetDecimal(lastSAL.TotaleFattureVendita);
                     return importoAvanzamentoLavori;
                 }
             }
         }
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     return 0;
 }
예제 #12
0
파일: Commessa.cs 프로젝트: es-dev/cantieri
 public static string GetCodifica(CommessaDto commessa)
 {
     try
     {
         if(commessa!=null)
         {
             var codifica = commessa.Codice + " - " + commessa.Denominazione;
             return codifica;
         }
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     return null;
 }
예제 #13
0
 private void BindViewFornitori(CommessaDto commessa)
 {
     try
     {
         if (commessa != null)
         {
             var viewModelFornitore = new Fornitore.FornitoreViewModel();
             var fornitori = viewModelFornitore.ReadFornitori(commessa);
             fornitoriCommessaId = (from q in fornitori select q.Id).ToList();
         }
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     
 }
예제 #14
0
 private void BindViewCommittenti(CommessaDto commessa)
 {
     try
     {
         if (commessa != null)
         {
             editCommessa.Value = BusinessLogic.Commessa.GetCodifica(commessa);
             var viewModel = new Committente.CommittenteViewModel();
             var committenti = viewModel.ReadCommittenti(commessa);
             committentiCommessaId = (from q in committenti select q.Id).ToList();
         }
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     
 }
예제 #15
0
        private static void AddReportCommessaCommittente(UtilityReport.Table tableCommesse, CommittenteDto committente, CommessaDto commessa, DateTime data)
        {
            try
            {
                if (commessa!=null && committente != null)
                {
                    var totaleImponibile = UtilityValidation.GetEuro(BusinessLogic.Committente.GetTotaleImponibile(committente, data));
                    var totaleIVA = UtilityValidation.GetEuro(BusinessLogic.Committente.GetTotaleIVA(committente, data));
                    var totaleFattureVendita = UtilityValidation.GetEuro(BusinessLogic.Committente.GetTotaleFattureVendita(committente, data));
                    var totaleIncassiAvuto = UtilityValidation.GetEuro(BusinessLogic.Committente.GetTotaleIncassi(committente, data));
                    var totaleIncassiAvere = UtilityValidation.GetEuro(BusinessLogic.Committente.GetTotaleIncassiAvere(committente, data));
                    var codificaCommessa = BusinessLogic.Commessa.GetCodifica(commessa);

                    tableCommesse.AddRow(codificaCommessa, totaleImponibile, totaleIVA, totaleFattureVendita, totaleIncassiAvuto, totaleIncassiAvere);
                }
            }
            catch (Exception ex)
            {
                UtilityError.Write(ex);
            }
        }
예제 #16
0
파일: Azienda.cs 프로젝트: es-dev/cantieri
 private static AziendaDto GetAzienda(CommessaDto commessa)
 {
     try
     {
         if(commessa!=null)
         {
             var azienda = commessa.Azienda;
             return azienda;
         }
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     return null;
 }
예제 #17
0
파일: SAL.cs 프로젝트: es-dev/cantieri
 public static string GetDenominazione(SALDto sal, CommessaDto commessa)
 {
     try
     {
         var denominazione = "SAL " + GetCodifica(sal) + " | COMMESSA " + BusinessLogic.Commessa.GetCodifica(commessa);
         return denominazione;
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     return null;
 }
예제 #18
0
파일: SAL.cs 프로젝트: es-dev/cantieri
 public static string GetDenominazione(string codice, DateTime data, CommessaDto commessa)
 {
     try
     {
         var sal = new SALDto() { Codice = codice, Data = data };
         var denominazione = GetDenominazione(sal, commessa);
         return denominazione;
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     return null;
 }
예제 #19
0
 private static void AddReportCommessaFornitore(UtilityReport.Table tableCommesse, FornitoreDto fornitore, CommessaDto commessa, DateTime data)
 {
     try
     {
         if (commessa != null && fornitore != null)
         {
             var totaleImponibile = UtilityValidation.GetEuro(BusinessLogic.Fornitore.GetTotaleImponibile(fornitore, data));
             var totaleIVA = UtilityValidation.GetEuro(BusinessLogic.Fornitore.GetTotaleIVA(fornitore, data));
             var totaleFattureAcquisto = UtilityValidation.GetEuro(BusinessLogic.Fornitore.GetTotaleFattureAcquisto(fornitore, data));
             var totalePagamentiDato = UtilityValidation.GetEuro(BusinessLogic.Fornitore.GetTotalePagamentiDato(fornitore, data));
             var totalePagamentiDare = UtilityValidation.GetEuro(BusinessLogic.Fornitore.GetTotalePagamentiDare(fornitore, data));
             var codificaCommessa = BusinessLogic.Commessa.GetCodifica(commessa);
            
             tableCommesse.AddRow(codificaCommessa, totaleImponibile, totaleIVA, totaleFattureAcquisto, totalePagamentiDato, totalePagamentiDare);
         }
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
 }
예제 #20
0
파일: SAL.cs 프로젝트: es-dev/cantieri
 public static string GetNewCodice(CommessaDto commessa)
 {
     try
     {
         var wcf = new WcfService.Service();
         var count = wcf.CountSALs(null, null, commessa);
         var progressivo = count + 1;
         var codice = progressivo.ToString("00");
         return codice;
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     return null;
 }
예제 #21
0
 private void BindViewCommessa(CommessaDto commessa)
 {
     try
     {
         editCommessa.Model = commessa;
         editCommessa.Value = BusinessLogic.Commessa.GetCodifica(commessa);
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
 }
예제 #22
0
파일: Fattura.cs 프로젝트: es-dev/cantieri
        public static decimal GetTotaleIncassi(FatturaVenditaDto fatturaVendita, CommessaDto commessa)
        {
            try
            {
                if (fatturaVendita != null && commessa != null)
                {
                    decimal totale = 0;
                    var statoCommessa = commessa.Stato;
                    if (statoCommessa == Tipi.StatoCommessa.Chiusa.ToString())
                        totale = UtilityValidation.GetDecimal(fatturaVendita.TotaleIncassi);
                    else
                    {
                        var today = DateTime.Today;
                        totale = GetTotaleIncassi(fatturaVendita, today);
                    }
                    return totale;

                }
            }
            catch (Exception ex)
            {
                UtilityError.Write(ex);
            }
            return 0;
        }
예제 #23
0
파일: Commessa.cs 프로젝트: es-dev/cantieri
 public static decimal GetPercentualeAvanzamento(CommessaDto commessa)
 {
     try
     {
         if (commessa != null)
         {
             decimal percentualeAvanzamento = 0;
             var statoCommessa = commessa.Stato;
             if (statoCommessa == Tipi.StatoCommessa.Chiusa.ToString())
                 percentualeAvanzamento = UtilityValidation.GetDecimal(commessa.Percentuale);
             else
             {
                 percentualeAvanzamento = BusinessLogic.SAL.GetPercentualeAvanzamento(commessa);
             }
             return percentualeAvanzamento;
         }
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     return 0;
 }
예제 #24
0
파일: SAL.cs 프로젝트: es-dev/cantieri
 public static string GetStatoDescrizione(SALDto sal, CommessaDto commessa)
 {
     try
     {
         var statoDescrizione = "N/D";
         if (sal != null)
         {
             if (commessa != null)
             {
                 var statoCommessa = commessa.Stato;
                 if (statoCommessa == Tipi.StatoCommessa.Chiusa.ToString())
                     statoDescrizione = sal.Stato;
                 else
                 {
                     var data = UtilityValidation.GetData(sal.Data);
                     var importoLavori = UtilityValidation.GetDecimal(commessa.Importo);
                     var margine = UtilityValidation.GetDecimal(commessa.Margine);
                     var margineOperativo = GetMargineOperativo(commessa, data);
                     var statoSAL = GetStato(commessa, data);
                     var _statoDescrizione = GetStatoDescrizione(importoLavori, margine, margineOperativo, statoSAL);
                     statoDescrizione = _statoDescrizione.ToString();
                 }
             }
         }
         return statoDescrizione;
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     return null;
 }
예제 #25
0
파일: SAL.cs 프로젝트: es-dev/cantieri
        public static Tipi.StatoSAL GetStato(CommessaDto commessa, DateTime data)
        {
            try
            {
                if (commessa != null)
                {
                    var fornitori = commessa.Fornitores;
                    var committenti = commessa.Committentes;

                    var totaleAcquisti = GetTotaleFattureAcquisto(fornitori, data);
                    var totaleVendite = GetTotaleFattureVendita(committenti, data);
                    var totalePagamenti = GetTotalePagamenti(fornitori, data);
                    var totaleIncassi = GetTotaleIncassi(committenti, data);

                    var importoLavori = UtilityValidation.GetDecimal(commessa.Importo);
                    var margine = UtilityValidation.GetDecimal(commessa.Margine);
                    var margineOperativo = importoLavori - totaleAcquisti;

                    var stato = Tipi.StatoSAL.None;
                    if (margineOperativo < 0)
                        stato = Tipi.StatoSAL.Perdita;
                    else if (margineOperativo < margine)
                        stato = Tipi.StatoSAL.Negativo;
                    else if (margineOperativo >= margine)
                        stato = Tipi.StatoSAL.Positivo;
                    return stato;
                }
            }
            catch (Exception ex)
            {
                UtilityError.Write(ex);
            }
            return Tipi.StatoSAL.None;
        }
예제 #26
0
	    /// <summary>
	    /// Adds a new commessa from the given dto object into the database.
	    /// </summary>
	    /// <param name="commessa">The dto object.</param>
	    /// <returns>The dto key of the newly created commessa.</returns>
	    public string CreateCommessa(CommessaDto commessa)
	    {
	        string key = this.CommessaService.Add(commessa);
	        this.UnitOfWork.SaveChanges();
	        return key;
	    }
예제 #27
0
	    /// <summary>
	    /// Deletes commessa from the database by the given dto object.
	    /// </summary>
	    /// <param name="commessa">The dto object.</param>
	    public void DeleteCommessa(CommessaDto commessa)
	    {
	        this.CommessaService.Delete(commessa);
	        this.UnitOfWork.SaveChanges();		
	    }
예제 #28
0
파일: SAL.cs 프로젝트: es-dev/cantieri
 public static decimal GetTotaleFattureAcquisto(SALDto sal, CommessaDto commessa)
 {
     try
     {
         if (commessa != null)
         {
             decimal totale = 0;
             var statoCommessa = commessa.Stato;
             if (statoCommessa == Tipi.StatoCommessa.Chiusa.ToString())
                 totale = UtilityValidation.GetDecimal(sal.TotaleFattureAcquisto);
             else
             {
                 var data = UtilityValidation.GetData(sal.Data);
                 var fornitori = commessa.Fornitores;
                 totale = GetTotaleFattureAcquisto(fornitori, data);
             }
             return totale;
         }
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     return 0;
 }
예제 #29
0
파일: SAL.cs 프로젝트: es-dev/cantieri
 public static decimal GetMargineOperativo(SALDto sal, CommessaDto commessa)
 {
     try
     {
         if (commessa != null)
         {
             decimal margineOperativo = 0;
             var statoCommessa = commessa.Stato;
             if (statoCommessa == Tipi.StatoCommessa.Chiusa.ToString())
             {
                 var importoLavori = UtilityValidation.GetDecimal(commessa.Importo);
                 var totaleFattureAcquisto = UtilityValidation.GetDecimal(sal.TotaleFattureAcquisto);
                 margineOperativo = importoLavori - totaleFattureAcquisto;
             }
             else
             {
                 var data = UtilityValidation.GetData(sal.Data);
                 margineOperativo = GetMargineOperativo(commessa, data);
             }
             return margineOperativo;
         }
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     return 0;
 }
예제 #30
0
파일: SAL.cs 프로젝트: es-dev/cantieri
 public static decimal GetTotaleIncassi(SALDto sal, CommessaDto commessa)
 {
     try
     {
         if (commessa != null)
         {
             decimal totale = 0;
             var statoCommessa = commessa.Stato;
             if (statoCommessa == Tipi.StatoCommessa.Chiusa.ToString())
                 totale = UtilityValidation.GetDecimal(sal.TotaleIncassi);
             else
             {
                 var data = UtilityValidation.GetData(sal.Data);
                 var committenti = commessa.Committentes;
                 totale = GetTotaleIncassi(committenti, data);
             }
             return totale;
         }
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     return 0;
 }
예제 #31
0
파일: Commessa.cs 프로젝트: es-dev/cantieri
        internal static string GetStato(CommessaDto commessa)
        {
            try
            {
                if(commessa!=null)
                {
                    var stato = Tipi.StatoCommessa.None;
                    var importo = UtilityValidation.GetDecimal(commessa.Importo);
                    if (importo > 0)
                    {
                        var percentuale = UtilityValidation.GetDecimal(commessa.Percentuale);
                        stato = (percentuale >= 100 ? Tipi.StatoCommessa.Chiusa : Tipi.StatoCommessa.InLavorazione);
                    }
                    else
                        stato = Tipi.StatoCommessa.Aperta;

                    return stato.ToString();
                }
            }
            catch (Exception ex)
            {
                UtilityError.Write(ex);
            }
            return null;
        }