Example #1
0
 private bool IsTimeoutSal(SALDto sal)
 {
     try
     {
         if(sal!=null)
         {
             int timeout = 7; //in giorni --> da parametrizzare in tabella impostazioni
             var data = UtilityValidation.GetData(sal.Data);
             var now = DateTime.Now;
             var elapsed = now.Subtract(data).TotalDays;
             if (elapsed >= timeout)
                 return true;
         }
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     return false;
 }
Example #2
0
 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;
 }
Example #3
0
        private void CheckSALs()
        {
            try
            {
                AddLog("Check stato avanzamento lavori per le commesse di lavorazione... ", "OK");
                var wcf = new WcfService.Service();
                var stati=BusinessLogic.Tipi.GetStatiCommesseInLavorazione();
                var commesse = wcf.ReadCommesse(stati);
                if(commesse!=null)
                {
                    foreach(var commessa in commesse)
                    {
                        var lastSal = (from q in commessa.SALs orderby q.Id descending select q).Take(1).FirstOrDefault();
                        if(lastSal==null || IsTimeoutSal(lastSal))
                        {
                            var sal = new SALDto();
                            sal.CommessaId = commessa.Id;
                            sal.Codice = BusinessLogic.SAL.GetNewCodice(commessa);
                            sal.Data = DateTime.Now;
                            sal.Denominazione = BusinessLogic.SAL.GetDenominazione(sal, commessa); ;
                            sal.Note = "SAL CREATO CON PROCEDURA AUTOMATICA";
                            sal.TotaleFattureAcquisto = BusinessLogic.SAL.GetTotaleFattureAcquisto(sal ,commessa);
                            sal.TotaleFattureVendita = BusinessLogic.SAL.GetTotaleFattureVendita(sal, commessa);
                            sal.TotaleIncassi = BusinessLogic.SAL.GetTotaleIncassi(sal, commessa);
                            sal.TotalePagamenti = BusinessLogic.SAL.GetTotalePagamenti(sal, commessa);
                            sal.Stato = BusinessLogic.SAL.GetStatoDescrizione(sal, commessa);

                            var newSal=wcf.CreateSAL(sal);
                            if(newSal!=null)
                                AddLog("Creazione SAL per la commessa " +  BusinessLogic.Commessa.GetCodifica(commessa) + "... ", "OK");

                        }
                    }
                }
            }
            catch (Exception ex)
            {
                UtilityError.Write(ex);
            }
        }
Example #4
0
 public static string GetCodifica(SALDto sal)
 {
     try
     {
         if (sal != null)
         {
             string codfica = "SAL " + sal.Codice + " DEL " + UtilityValidation.GetDataND(sal.Data);
             return codfica;
         }
     }
     catch (Exception ex)
     {
         UtilityError.Write(ex);
     }
     return null;
 }
Example #5
0
 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;
 }
Example #6
0
 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;
 }
Example #7
0
 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;
 }
Example #8
0
 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;
 }
Example #9
0
 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;
 }
	    /// <summary>
	    /// Deletes sal from the database by the given dto object.
	    /// </summary>
	    /// <param name="sal">The dto object.</param>
	    public void DeleteSAL(SALDto sal)
	    {
	        this.SALService.Delete(sal);
	        this.UnitOfWork.SaveChanges();		
	    }
	    /// <summary>
	    /// Adds a new sal from the given dto object into the database.
	    /// </summary>
	    /// <param name="sal">The dto object.</param>
	    /// <returns>The dto key of the newly created sal.</returns>
	    public string CreateSAL(SALDto sal)
	    {
	        string key = this.SALService.Add(sal);
	        this.UnitOfWork.SaveChanges();
	        return key;
	    }
Example #12
0
        private void BindViewTotali(SALDto obj)
        {
            try
            {
                if (obj != null)
                {
                    var viewModel = new Commessa.CommessaViewModel();
                    var commessa = viewModel.ReadCommessa(obj);
                    if (commessa != null)
                    {
                        var data = UtilityValidation.GetData(editData.Value);

                        var fornitori = commessa.Fornitores;
                        var committenti = commessa.Committentes;

                        var totaleFattureAcquisto = BusinessLogic.SAL.GetTotaleFattureAcquisto(fornitori, data);
                        var totaleFattureVendita = BusinessLogic.SAL.GetTotaleFattureVendita(committenti, data);
                        var totalePagamenti = BusinessLogic.SAL.GetTotalePagamenti(fornitori, data);
                        var totaleIncassi = BusinessLogic.SAL.GetTotaleIncassi(committenti, data);
                        var statoDescrizione = BusinessLogic.SAL.GetStatoDescrizione(obj, commessa);

                        editStato.Value = statoDescrizione;
                        editTotaleFattureAcquisto.Value = totaleFattureAcquisto;
                        editTotaleFattureVendita.Value = totaleFattureVendita;
                        editTotalePagamenti.Value = totalePagamenti;
                        editTotaleIncassi.Value = totaleIncassi;
                    }
                }
            }
            catch (Exception ex)
            {
                UtilityError.Write(ex);
            }
        }