private void AlterarItens(RequisicaoMaterialDTO dto, RequisicaoMaterial requisicaoMaterial) { foreach (var item in requisicaoMaterial.ListaItens) { if (item.Situacao == SituacaoRequisicaoMaterialItem.Requisitado) { var itemDTO = dto.ListaItens.Where(l => l.Id == item.Id).SingleOrDefault(); if (itemDTO.OrcamentoInsumoRequisitado == null) { item.Material = null; item.MaterialId = itemDTO.Material.Id; item.UnidadeMedida = itemDTO.Material.SiglaUnidadeMedida.Trim(); item.Classe = null; item.CodigoClasse = itemDTO.Classe.Codigo; } item.Sequencial = itemDTO.Sequencial; item.Complemento = itemDTO.Complemento.Trim(); item.Quantidade = itemDTO.Quantidade; item.QuantidadeAprovada = itemDTO.QuantidadeAprovada; item.DataMaxima = itemDTO.DataMaxima; item.DataMinima = itemDTO.DataMinima; item.Situacao = itemDTO.Situacao; if (item.Situacao == SituacaoRequisicaoMaterialItem.Cancelado) { RemoverInsumoRequisitado(item); } } } }
public bool EhPermitidoEditarCentroCusto(RequisicaoMaterialDTO dto) { if (dto.Id.HasValue) { return(false); } return(true); }
public bool EhPermitidoSalvar(RequisicaoMaterialDTO dto) { if (!UsuarioLogado.IsInRole(Funcionalidade.RequisicaoMaterialGravar)) { return(false); } return(PodeSerSalvaNaSituacaoAtual(dto.Situacao)); }
private void RemoverItens(RequisicaoMaterialDTO dto, RequisicaoMaterial requisicaoMaterial) { for (int i = requisicaoMaterial.ListaItens.Count - 1; i >= 0; i--) { var item = requisicaoMaterial.ListaItens.ToList()[i]; if (!dto.ListaItens.Any(l => l.Id == item.Id)) { requisicaoMaterial.ListaItens.Remove(item); requisicaoMaterialRepository.RemoverItem(item); } } }
public bool EhPermitidoAdicionarItem(RequisicaoMaterialDTO dto) { if (!EhPermitidoSalvar(dto)) { return(false); } if (!PodeAdicionarItemNaSituacaoAtual(dto.Situacao)) { return(false); } return(true); }
public bool EhPermitidoImprimir(RequisicaoMaterialDTO dto) { if (!UsuarioLogado.IsInRole(Funcionalidade.RequisicaoMaterialImprimir)) { return(false); } if (!dto.Id.HasValue) { return(false); } if (!dto.ListaItens.Any()) { return(false); } return(true); }
private void AdicionarItens(RequisicaoMaterialDTO dto, RequisicaoMaterial requisicaoMaterial) { foreach (var item in dto.ListaItens.Where(l => !l.Id.HasValue)) { var itemLista = item.To <RequisicaoMaterialItem>(); itemLista.RequisicaoMaterial = requisicaoMaterial; if (PossuiInsumoRequisitado(item)) { var orcamentoInsumoRequisitado = new OrcamentoInsumoRequisitado(); orcamentoInsumoRequisitado.CodigoCentroCusto = dto.CentroCusto.Codigo; orcamentoInsumoRequisitado.CodigoClasse = item.Classe.Codigo; orcamentoInsumoRequisitado.ComposicaoId = item.OrcamentoInsumoRequisitado.Composicao.Id; orcamentoInsumoRequisitado.MaterialId = item.OrcamentoInsumoRequisitado.Material.Id; orcamentoInsumoRequisitado.Quantidade = item.Quantidade; orcamentoInsumoRequisitado.RequisicaoMaterialItem = itemLista; itemLista.ListaOrcamentoInsumoRequisitado.Add(orcamentoInsumoRequisitado); } requisicaoMaterial.ListaItens.Add(itemLista); } }
public bool EhPermitidoCancelarAprovacao(RequisicaoMaterialDTO dto) { if (!UsuarioLogado.IsInRole(Funcionalidade.RequisicaoMaterialCancelarAprovacao)) { return(false); } if (!dto.Id.HasValue) { return(false); } if (!PodeCancelarAprovacaoNaSituacaoAtual(dto.Situacao)) { return(false); } if (!PodeCancelarComItensAtuais(dto.ListaItens)) { return(false); } return(true); }
public bool EhPermitidoAprovarRequisicao(RequisicaoMaterialDTO dto) { if (!UsuarioLogado.IsInRole(Funcionalidade.RequisicaoMaterialAprovar)) { return(false); } if (!dto.Id.HasValue) { return(false); } if (!PodeAprovarNaSituacaoAtual(dto.Situacao)) { return(false); } if (!dto.ListaItens.Any()) { return(false); } return(true); }
public RequisicaoMaterialCadastroViewModel() { RequisicaoMaterial = new RequisicaoMaterialDTO(); Material = new MaterialDTO(); }
private void ProcessarItens(RequisicaoMaterialDTO dto, RequisicaoMaterial requisicaoMaterial) { RemoverItens(dto, requisicaoMaterial); AlterarItens(dto, requisicaoMaterial); AdicionarItens(dto, requisicaoMaterial); }
public bool EhPermitidoEditarItem(RequisicaoMaterialDTO dto) { return(EhPermitidoSalvar(dto)); }
public bool Salvar(RequisicaoMaterialDTO dto) { if (!UsuarioLogado.IsInRole(Funcionalidade.RequisicaoMaterialGravar)) { messageQueue.Add(Resource.Sigim.ErrorMessages.PrivilegiosInsuficientes, TypeMessage.Error); return(false); } if (dto == null) { throw new ArgumentNullException("dto"); } bool novoItem = false; var requisicaoMaterial = requisicaoMaterialRepository.ObterPeloId(dto.Id, l => l.ListaItens.Select(o => o.ListaOrcamentoInsumoRequisitado)); if (requisicaoMaterial == null) { requisicaoMaterial = new RequisicaoMaterial(); requisicaoMaterial.Situacao = SituacaoRequisicaoMaterial.Requisitada; requisicaoMaterial.DataCadastro = DateTime.Now; requisicaoMaterial.LoginUsuarioCadastro = UsuarioLogado.Login; novoItem = true; } if (!PodeSerSalvaNaSituacaoAtual(requisicaoMaterial.Situacao)) { var msg = string.Format(Resource.OrdemCompra.ErrorMessages.RequisicaoSituacaoInvalida, requisicaoMaterial.Situacao.ObterDescricao()); messageQueue.Add(msg, TypeMessage.Error); return(false); } requisicaoMaterial.Data = dto.Data; requisicaoMaterial.CodigoCentroCusto = dto.CentroCusto.Codigo; requisicaoMaterial.Observacao = dto.Observacao; ProcessarItens(dto, requisicaoMaterial); AjustarSituacaoRequisicao(requisicaoMaterial); if (Validator.IsValid(requisicaoMaterial, out validationErrors)) { try { if (novoItem) { requisicaoMaterialRepository.Inserir(requisicaoMaterial); } else { requisicaoMaterialRepository.Alterar(requisicaoMaterial); } requisicaoMaterialRepository.UnitOfWork.Commit(); GravarLogOperacao(requisicaoMaterial, novoItem ? "INSERT" : "UPDATE"); dto.Id = requisicaoMaterial.Id; messageQueue.Add(Resource.Sigim.SuccessMessages.SalvoComSucesso, TypeMessage.Success); return(true); } catch (Exception exception) { QueueExeptionMessages(exception); } } else { messageQueue.AddRange(validationErrors, TypeMessage.Error); } return(false); }