public JsonResult ValidarChaveAcessoIgualDaNFe(DetalhesQuarentenaViewModel model) { bool chaveNfeIgual = false; //bool existe = _uow.QuarentenaRepository.Any(x => x.Lote.NotaFiscal.ChaveAcesso == chaveAcesso); Quarentena quarentena = _uow.QuarentenaRepository.GetById(model.IdQuarentena); Lote lote = _uow.LoteRepository.GetById(quarentena.IdLote); if (lote.IdLoteStatus.GetHashCode() == 12) { //Valida chave de cesso var chaveValida = false; if (string.IsNullOrWhiteSpace(model.ChaveAcesso)) { return(Json(new AjaxGenericResultModel { Success = false, Message = "Informe a chave de acesso da NF-e.", })); } if (model.ChaveAcesso.Length != 44) { return(Json(new AjaxGenericResultModel { Success = false, Message = "Chave de acesso não possui 44 digitos.", })); } if (lote.NotaFiscal.ChaveAcesso == model.ChaveAcesso) { chaveNfeIgual = true; } else { chaveNfeIgual = false; } if (!chaveNfeIgual) { return(Json(new AjaxGenericResultModel { Success = false, Message = "A chave de acesso informada não confere com a chave Nota Fiscal." })); } } return(Json(new AjaxGenericResultModel { Success = true })); }
public void Add(Quarentena entity, string IdUsuario) { var log = new QuarentenaHistorico { Data = DateTime.Now, Descricao = "Criação", IdQuarentena = entity.IdQuarentena, IdUsuario = IdUsuario }; Entities.QuarentenaHistorico.Add(log); _dbSet.Add(entity); }
private void CriarQuarentena(Lote lote, string IdUsuario) { Quarentena quarentena = new Quarentena() { DataAbertura = DateTime.UtcNow, IdLote = lote.IdLote, IdQuarentenaStatus = QuarentenaStatusEnum.Aberto }; _uow.QuarentenaRepository.Add(quarentena, IdUsuario); _uow.SaveChanges(); }
public void Update(Quarentena entity, string IdUsuario, string descricao = null) { var entry = Entities.Entry(entity); _dbSet.Attach(entity); entry.State = EntityState.Modified; string _descricao = descricao ?? $"Atualização - Status: {entity.QuarentenaStatus.Descricao}. Observação: {entity.Observacao}"; var log = new QuarentenaHistorico { Data = DateTime.Now, Descricao = _descricao, IdQuarentena = entity.IdQuarentena, IdUsuario = IdUsuario }; Entities.QuarentenaHistorico.Add(log); }
public byte[] GerarTermoResponsabilidade(TermoResponsabilidadeRequest request) { _document = new Document(); _request = request; _Quarentena = _uow.QuarentenaRepository.All().First(x => x.IdQuarentena == request.IdQuarentena); _OldQuarentena = _uow.QuarentenaRepository.All().First(x => x.IdQuarentena == request.IdQuarentena); GeraCodConfirmacao(); DefineStyles(); IniciaDoc(); CriaLabelPaginacao(); CriaIdentificacao(); CriarConteudo(); AtualizaCodConfirmacaoQuarentena(); return(Renderizar()); }
public JsonResult DetalhesQuarentena(DetalhesQuarentenaViewModel model) { ValidateModel(model); string mensagemErro = null; if (model.IdStatus == QuarentenaStatusEnum.Retirado) { if (string.IsNullOrEmpty(model.CodigoConfirmacao)) { ModelState.AddModelError(nameof(model.CodigoConfirmacao), (mensagemErro = "O código de confirmação é obrigatório para retirar a mercadoria.")); } else { bool existeCod = _uow.QuarentenaRepository.Any(x => x.IdQuarentena == model.IdQuarentena && x.CodigoConfirmacao == model.CodigoConfirmacao); if (!existeCod) { ModelState.AddModelError(nameof(model.CodigoConfirmacao), (mensagemErro = "O código de confirmação está incorreto!")); } } } //Valida a model. if (!ModelState.IsValid) { return(Json(new AjaxGenericResultModel { Success = false, Message = mensagemErro ?? Resources.CommonStrings.RegisterEditedErrorMessage })); } try { //Captura os dados para atualiza-los posteriormente. Quarentena entidade = _uow.QuarentenaRepository.GetById(model.IdQuarentena); //Captura os dados "antigo" para o log. Quarentena old = new Quarentena { DataAbertura = entidade.DataAbertura, DataEncerramento = entidade.DataEncerramento, IdLote = entidade.IdLote, IdQuarentena = entidade.IdQuarentena, IdQuarentenaStatus = entidade.IdQuarentenaStatus, CodigoConfirmacao = entidade.CodigoConfirmacao, Observacao = entidade.Observacao }; //Verifica se o status anterior era Encaminhado para Auditoria e o atual Aberto. //Caso seja, informa o usuário que a ação não é permitida. if (old.IdQuarentenaStatus == QuarentenaStatusEnum.EncaminhadoAuditoria && (model.IdStatus == QuarentenaStatusEnum.Aberto || model.IdStatus == QuarentenaStatusEnum.Retirado)) { ModelState.AddModelError(nameof(model.IdStatus), (mensagemErro = "A quarentena foi encaminhada para Auditoria. Não é permitido atualizar o status para " + model.IdStatus.ToString() + ".")); return(Json(new AjaxGenericResultModel { Success = false, Message = mensagemErro ?? Resources.CommonStrings.RegisterEditedErrorMessage })); } //Atualiza o status e observação da quarentena. entidade.IdQuarentenaStatus = model.IdStatus; entidade.Observacao = model.Observacao; //Verifica se o status é Retirado ou Finalizado. //Caso seja, insere a data de encerramento pois, considera-se que a mercadoria foi retirada ou alguma outra ação feita (finalizado). if (model.IdStatus == QuarentenaStatusEnum.Retirado || model.IdStatus == QuarentenaStatusEnum.Finalizado) { entidade.DataEncerramento = DateTime.Now; } _uow.QuarentenaRepository.Update(entidade, IdUsuario); var userInfo = new BackOfficeUserInfo(); return(Json(new AjaxGenericResultModel { Success = true, Message = Resources.CommonStrings.RegisterEditedSuccessMessage })); } catch (Exception ex) { _log.Error(ex.Message, ex); return(Json(new AjaxGenericResultModel { Success = false, Message = Resources.CommonStrings.RegisterEditedErrorMessage })); } }