private void AdicionarItens(PreRequisicaoMaterialDTO dto, PreRequisicaoMaterial preRequisicaoMaterial) { foreach (var item in dto.ListaItens.Where(l => !l.Id.HasValue)) { var itemLista = item.To <PreRequisicaoMaterialItem>(); itemLista.PreRequisicaoMaterial = preRequisicaoMaterial; preRequisicaoMaterial.ListaItens.Add(itemLista); } }
public bool EhPermitidoSalvar(PreRequisicaoMaterialDTO dto) { if (!UsuarioLogado.IsInRole(Funcionalidade.PreRequisicaoMaterialGravar)) { return(false); } return(PodeSerSalvaNaSituacaoAtual(dto.Situacao)); }
private void RemoverItens(PreRequisicaoMaterialDTO dto, PreRequisicaoMaterial preRequisicaoMaterial) { for (int i = preRequisicaoMaterial.ListaItens.Count - 1; i >= 0; i--) { var item = preRequisicaoMaterial.ListaItens.ToList()[i]; if (!dto.ListaItens.Any(l => l.Id == item.Id)) { preRequisicaoMaterial.ListaItens.Remove(item); preRequisicaoMaterialRepository.RemoverItem(item); } } }
public bool EhPermitidoAprovarItem(PreRequisicaoMaterialDTO dto) { if (!UsuarioLogado.IsInRole(Funcionalidade.PreRequisicaoMaterialAprovar)) { return(false); } if ((dto.Situacao != SituacaoPreRequisicaoMaterial.Requisitada) && (dto.Situacao != SituacaoPreRequisicaoMaterial.ParcialmenteAprovada)) { return(false); } if (!dto.ListaItens.Any(l => l.Situacao == SituacaoPreRequisicaoMaterialItem.Requisitado)) { return(false); } return(true); }
public bool EhPermitidoImprimir(PreRequisicaoMaterialDTO dto) { if (!UsuarioLogado.IsInRole(Funcionalidade.PreRequisicaoMaterialImprimir)) { return(false); } if (!dto.Id.HasValue) { return(false); } if (!dto.ListaItens.Any()) { return(false); } return(true); }
private void AlterarItens(PreRequisicaoMaterialDTO dto, PreRequisicaoMaterial preRequisicaoMaterial) { foreach (var item in preRequisicaoMaterial.ListaItens) { if (item.Situacao == SituacaoPreRequisicaoMaterialItem.Requisitado) { var itemDTO = dto.ListaItens.Where(l => l.Id == item.Id).SingleOrDefault(); item.Sequencial = itemDTO.Sequencial; item.Material = null; item.MaterialId = itemDTO.Material.Id; item.UnidadeMedida = itemDTO.Material.SiglaUnidadeMedida.Trim(); item.Complemento = itemDTO.Complemento.Trim(); item.Classe = null; item.CodigoClasse = itemDTO.Classe.Codigo; item.CentroCusto = null; item.CodigoCentroCusto = itemDTO.CentroCusto.Codigo; item.Quantidade = itemDTO.Quantidade; item.QuantidadeAprovada = itemDTO.QuantidadeAprovada; item.DataMaxima = itemDTO.DataMaxima; item.DataMinima = itemDTO.DataMinima; item.Situacao = itemDTO.Situacao; } } }
public bool EhPermitidoCancelar(PreRequisicaoMaterialDTO dto) { if (!UsuarioLogado.IsInRole(Funcionalidade.PreRequisicaoMaterialCancelar)) { return(false); } if (!dto.Id.HasValue) { return(false); } if (!PodeCancelarNaSituacaoAtual(dto.Situacao)) { return(false); } if (dto.ListaItens.Any()) { return(false); } return(true); }
public bool Salvar(PreRequisicaoMaterialDTO dto) { if (!UsuarioLogado.IsInRole(Funcionalidade.PreRequisicaoMaterialGravar)) { messageQueue.Add(Resource.Sigim.ErrorMessages.PrivilegiosInsuficientes, TypeMessage.Error); return(false); } if (dto == null) { throw new ArgumentNullException("dto"); } bool novoItem = false; var preRequisicaoMaterial = preRequisicaoMaterialRepository.ObterPeloId(dto.Id, l => l.ListaItens); if (preRequisicaoMaterial == null) { preRequisicaoMaterial = new PreRequisicaoMaterial(); preRequisicaoMaterial.Situacao = SituacaoPreRequisicaoMaterial.Requisitada; preRequisicaoMaterial.DataCadastro = DateTime.Now; preRequisicaoMaterial.LoginUsuarioCadastro = UsuarioLogado.Login; novoItem = true; } if (!PodeSerSalvaNaSituacaoAtual(preRequisicaoMaterial.Situacao)) { var msg = string.Format(Resource.OrdemCompra.ErrorMessages.PreRequisicaoSituacaoInvalida, preRequisicaoMaterial.Situacao.ObterDescricao()); messageQueue.Add(msg, TypeMessage.Error); return(false); } preRequisicaoMaterial.Data = dto.Data; preRequisicaoMaterial.Observacao = dto.Observacao; ProcessarItens(dto, preRequisicaoMaterial); AjustarSituacaoPreRequisicao(preRequisicaoMaterial); if (Validator.IsValid(preRequisicaoMaterial, out validationErrors)) { try { if (novoItem) { preRequisicaoMaterialRepository.Inserir(preRequisicaoMaterial); } else { preRequisicaoMaterialRepository.Alterar(preRequisicaoMaterial); } preRequisicaoMaterialRepository.UnitOfWork.Commit(); dto.Id = preRequisicaoMaterial.Id; messageQueue.Add(Resource.Sigim.SuccessMessages.SalvoComSucesso, TypeMessage.Success); return(true); } catch (Exception exception) { QueueExeptionMessages(exception); } } else { messageQueue.AddRange(validationErrors, TypeMessage.Error); } return(false); }
private void ProcessarItens(PreRequisicaoMaterialDTO dto, PreRequisicaoMaterial preRequisicaoMaterial) { RemoverItens(dto, preRequisicaoMaterial); AlterarItens(dto, preRequisicaoMaterial); AdicionarItens(dto, preRequisicaoMaterial); }
public bool EhPermitidoEditarItem(PreRequisicaoMaterialDTO dto) { return(EhPermitidoSalvar(dto)); }
public PreRequisicaoMaterialCadastroViewModel() { PreRequisicaoMaterial = new PreRequisicaoMaterialDTO(); Material = new MaterialDTO(); }