コード例 #1
0
        public string ProcessSISE(int cotizacionID, int usuarioID)
        {
            IUnitOfWork unitOfWork = _cotizacionRepository.UnitOfWork as IUnitOfWork;

            //Verificar si ya se ha mandado
            Cotizacion cot = _cotizacionRepository.FindCotizacionLogSISE(cotizacionID);

            if (cot.bk_te_CotizacionLog.ToList().Exists(x => x.isOK.Value))
            {
                return(cot.ErrorSISE());
            }


            //Este ID sería el id_pv
            int cotizacionLogID = _cotizacionRepository.LastCotizacionLogID() + 1;

            WsCotizador sise    = new WsCotizador();
            string      mensaje = sise.GrabarCotizacion(_workFlowRepository.GetSISEPol(cotizacionID, cotizacionLogID), _workFlowRepository.GetSISEAge(cotizacionID, cotizacionLogID),
                                                        _workFlowRepository.GetSISECob(cotizacionID, cotizacionLogID), _workFlowRepository.GetSISEInc(cotizacionID, cotizacionLogID),
                                                        _workFlowRepository.GetSISETransporte(cotizacionID, cotizacionLogID), _workFlowRepository.GetSISEObs(cotizacionID, cotizacionLogID),
                                                        _workFlowRepository.GetSISEDetalle(cotizacionID, cotizacionLogID), _workFlowRepository.GetSISEAne(cotizacionID, cotizacionLogID),
                                                        _cotizacionRepository.GetCotizacionPresentacionTextos(cotizacionID));

            CotizacionLog log = new CotizacionLog()
            {
                CotizacionLogID = cotizacionLogID,
                cotizacionID    = cotizacionID,
                mensaje         = mensaje,
                usuarioID       = usuarioID,
                LogTime         = DateTime.Now,
                isOK            = Function.IsOKSISE(mensaje)
            };

            cot.nroPoliza = Function.NroPolizaSISE(mensaje);
            cot.bk_te_CotizacionLog.Add(log);

            cot.Fecha    = DateTime.Now;
            cot.isActivo = !log.isOK.Value;
            unitOfWork.Commit();

            return(mensaje);
        }