public ResultDocumentoDTO FillDocumentAppalto(int? idModello, Appalto appalto, UserInfo userinfo) { var windsorRep = new WindsorConfigRepository(); try { windsorRep.BeginTransaction(userinfo); var service = windsorRep.GetContainer(userinfo.Azienda).Resolve<IAppaltoService>(); var doc = service.FillDocument(idModello, appalto, userinfo.Azienda); var repoDoc = new DocumentoRepository(userinfo, windsorRep); var item = repoDoc.SetDto(doc); windsorRep.Commit(); return new ResultDocumentoDTO(item, null, false, null, null, null); } catch (InvalidDataException ex) { return new ResultDocumentoDTO(null, ex.Message, false, null, null, null); } catch (Exception ex) { _log.ErrorFormat("Errore nel salvataggio del contratto di appalto - {0} - modello:{1} - intestazione:{2} - azienda:{3}", ex, Utility.GetMethodDescription(), idModello.GetValueOrDefault(), appalto.Intestazione, userinfo.Azienda); windsorRep.Rollback(); throw; } }