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; }
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; }
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); } }
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; }
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; }
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; }
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; }
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; }
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; }
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); } }