public ThreadWorker(StampaDto stampa, ThreadWorkerModel model) { this.stampa = stampa; this.model = model; t = new Thread(DoWork); t.Start(); }
public async Task <IHttpActionResult> SetInvioStampa(StampaDto stampa) { try { await _logic.SetInvioStampa(stampa); return(Ok()); } catch (Exception e) { Log.Error("SetInvioStampa", e); return(ErrorHandler(e)); } }
public async Task SetInvioStampa(StampaDto stampa) { try { var stampaInDb = await _unitOfWork.Stampe.Get(stampa.UIDStampa); stampaInDb.Invio = true; stampaInDb.DataInvio = DateTime.Now; await _unitOfWork.CompleteAsync(); } catch (Exception e) { Log.Error("Logic - SetInvioStampa", e); throw; } }
public async Task UpdateFileStampa(StampaDto stampa) { try { var stampaInDb = await _unitOfWork.Stampe.Get(stampa.UIDStampa); stampaInDb.DataFineEsecuzione = DateTime.Now; stampaInDb.PathFile = stampa.PathFile; await _unitOfWork.CompleteAsync(); } catch (Exception e) { Log.Error("Logic - UpdateFileStampa", e); throw; } }
public static async Task JobSetInvioStampa(StampaDto stampa) { try { var requestUrl = $"{apiUrl}/job/stampe/inviato"; var body = JsonConvert.SerializeObject(stampa); await Put(requestUrl, body); } catch (UnauthorizedAccessException ex) { Log.Error("JobSetInvioStampa", ex); throw ex; } catch (Exception ex) { Log.Error("JobSetInvioStampa", ex); throw ex; } }
public async Task JobUpdateFileStampa(StampaDto stampa) { try { var requestUrl = $"{apiUrl}/job/stampe"; var body = JsonConvert.SerializeObject(stampa); await Put(requestUrl, body, _token); } catch (UnauthorizedAccessException ex) { Log.Error("JobUpdateFileStampa", ex); throw ex; } catch (Exception ex) { Log.Error("JobUpdateFileStampa", ex); throw ex; } }
public async Task ExecuteAsync(StampaDto stampa) { _stampa = stampa; var utenteRichiedente = await apiGateway.Persone.Get(_stampa.UIDUtenteRichiesta); try { await apiGateway.Stampe.AddInfo(_stampa.UIDStampa, $"Inizio lavorazione - Tentativo {_stampa.Tentativi} di {_model.NumMaxTentativi}"); if (_stampa.Tentativi < Convert.ToInt16(_model.NumMaxTentativi)) { //GetFascicolo var path = string.Empty; GetFascicolo(ref path); // //GetListEM var listaEMendamenti = await GetListaEM(); // if (_stampa.NotificaDepositoEM) { await DepositoDifferito(listaEMendamenti, path, utenteRichiedente); } else { await Stampa(listaEMendamenti, path, utenteRichiedente); } PulisciCartellaLavoroTemporanea(path); } else { try { await BaseGateway.SendMail(new MailModel { DA = _model.EmailFrom, A = utenteRichiedente.email, OGGETTO = "Errore generazione stampa", MESSAGGIO = $"ID stampa: [{_stampa.UIDStampa}], per l'atto: [{_stampa.UIDAtto}]" }, _auth.jwt); } catch (Exception e) { Log.Debug($"[{_stampa.UIDStampa}] Invio mail EXCEPTION", e); await apiGateway.Stampe.AddInfo(_stampa.UIDStampa, $"Invio mail EXCEPTION ERRORE. Motivo: {e.Message}"); } } OnWorkerFinish?.Invoke(this, true); } catch (Exception ex) { OnWorkerFinish?.Invoke(this, false); Log.Error($"[{_stampa.UIDStampa}] ERROR", ex); try { await apiGateway.Stampe.JobErrorStampa(_stampa.UIDStampa, ex.Message); await apiGateway.Stampe.JobUnLockStampa(_stampa.UIDStampa); } catch (Exception ex2) { Log.Error($"[{_stampa.UIDStampa}] ERROR", ex2); try { await BaseGateway.SendMail(new MailModel { DA = _model.EmailFrom, A = utenteRichiedente.email, OGGETTO = "Errore generazione fascicolo", MESSAGGIO = ex.Message }, _auth.jwt); } catch (Exception exMail) { Log.Error($"[{_stampa.UIDStampa}] ERROR", exMail); await apiGateway.Stampe.JobErrorStampa(_stampa.UIDStampa, exMail.Message); } } } }