예제 #1
0
        public async Task <JsonResult> RegistrarRecebimentoNota(long idNotaFiscal, string observacao, string informacaoTransportadora)
        {
            var garantia   = _uow.GarantiaRepository.BuscarGarantiaPorIdNotaFiscal(idNotaFiscal);
            var notafiscal = _uow.NotaFiscalRepository.GetById(idNotaFiscal);

            if (garantia != null || notafiscal.IdNotaFiscalStatus != NotaFiscalStatusEnum.AguardandoRecebimento)
            {
                return(Json(new AjaxGenericResultModel
                {
                    Success = false,
                    Message = "A nota fiscal já foi recebida por outro usuário, verifique antes de continuar.",
                }));
            }

            if (!(idNotaFiscal > 0))
            {
                return(Json(new AjaxGenericResultModel
                {
                    Success = false,
                    Message = "Selecione a nota fiscal."
                }));
            }

            try
            {
                await _notaFiscalService.RegistrarRecebimentoNotaFiscalGarantia(idNotaFiscal, User.Identity.GetUserId(), observacao, informacaoTransportadora).ConfigureAwait(false);
            }
            catch (Exception e)
            {
                _log.Error(e.Message, e);

                return(Json(new AjaxGenericResultModel
                {
                    Success = false,
                    Message = "Não foi possível atualizar o status da Nota Fiscal no Sankhya. Tente novamente."
                }));
            }

            return(Json(new AjaxGenericResultModel
            {
                Success = true,
                Message = "Recebimento da nota fiscal registrado com sucesso. Garantira gerada"
            }));
        }