// Método IsValid on são feitas todas as verificaçoes de produto public void IsValid(Produto produto) { if (string.IsNullOrEmpty(produto.NomeProduto.Trim()) || produto.NomeProduto.Length > 40) { _notification.Add("Nome do produto invalido"); return; } if (produto.PrecoProduto <= 0) { _notification.Add("Preço do produto nao pode ser negativo ou zerado"); return; } if (produto.QtdeProduto < 0) { _notification.Add("Quantidade do produto nao pode ser menor que zero!"); return; } //verificando se já existe um produto com o mesmo nome var produtos = _produtoRepository.ListarProdutos(); if (!produtos.Any(item => item.NomeProduto.Equals(produto.NomeProduto) && item.IdProduto != produto.IdProduto)) { return; } _notification.Add("Produto já existente"); }
public async Task ValidarAsync(Calculo calculo) { var validacao = new CalculoValidation(calculo); foreach (var notificacao in validacao.Contract.Notifications) { _Notification.Add(notificacao.Message); } }
/* As linhas de codigo abaixo é onde ficam todas as verificações de usuario como * validar cpf, senha, tamanho dos campos etc */ public bool VerificaInsercao(INotification notification) { if (!ValidaCpf(Cpf)) { notification.Add("Cpf Invalido"); } if (string.IsNullOrEmpty(NomeUsuario.Trim()) || NomeUsuario.Length > 50) { notification.Add("Nome do Usuario invalido "); } return(!notification.HasNotification()); }
public void ValidarPagamento(Pagamento pagamento) { if (pagamento.ValorPagamento < 0) { _notification.Add("Valor inválido!"); } }
private async Task EditPreviousTeamLeadNotification(int?teamLeadID, string firstName, string lastName) { var employeeID = _dbTeamLeads.GetById(teamLeadID).EmployeeID; var teamLeadName = await _dbEmployees.GetEmployeeByID(employeeID); var user = await _dbUser.GetUserByEmployeeID(employeeID); var notify = _dbNotify.MapData($"You({teamLeadName.FirstName} {teamLeadName.LastName}) are no longer team leader to {firstName} {lastName}", employeeID); user.CountNotifications = user.CountNotifications + 1; user.ReadNotifications = false; _dbNotify.Add(notify); await _dbUser.UpdateAllWithIncrementedNotification(WorkPosition.HR, 1); await db.SaveChangesAsync(); }
public async ValueTask AddProductAsync(ProductModel product) { if (product is null) { _notifications.Add("Product cannot be null"); return; } try { await _repository.Add(product); } catch { throw; } }
public bool VerificaEdicao(INotification notification) { if (string.IsNullOrEmpty(NomeUsuario.Trim()) || NomeUsuario.Length > 50) { notification.Add("Nome do Usuario invalido "); } if (string.IsNullOrEmpty(SenhaUsuario.Trim()) || SenhaUsuario.Length > 12 || SenhaUsuario.Length < 6) { notification.Add("Senha invalida"); } if (string.IsNullOrEmpty(Ativo)) { notification.Add("Status do usuario nao pode ser nulo"); } if (string.IsNullOrEmpty(Classificacao.Trim()) || Classificacao.Length > 1) { notification.Add("Classificacao irregular"); } return(!notification.HasNotification()); }
public async Task <JsonResult> SaveAbsenceAsync(Absence e) { //saving data for current user if ID is greater than 0 that means user wanted to update his absence // if not then new absence is being created ApplicationUser currentUser = await _dbUser.GetCurrentUser(); var status = "none"; try { if (e.AbsenceID > 0) { _dbAbsence.Update(await _dbAbsence.UpdateMapDataAsync(e, currentUser.EmployeeID)); await _dbAbsence.SaveChangesAsync(); status = "edit"; } else { using (var dbContextTransaction = db.Database.BeginTransaction()) { var absenceToSave = _dbAbsence.MapData(e, currentUser.EmployeeID); _dbAbsence.Add(absenceToSave); var absenceType = await _dbAbsenceType.GetById(absenceToSave.AbsenceTypeID); Notification notify = new Notification(); notify.Message = $"{absenceToSave.Employee.FullName} is requesting absence {absenceType.Name.ToLower()} for period from {absenceToSave.Start.ToString("MMMM dd, yyyy")} to {absenceToSave.End.ToString("MMMM dd, yyyy")} {absenceToSave.EmployeeID} "; if (absenceToSave.Employee.TeamLeadID > 0 && !absenceToSave.Employee.IsTeamLead) { notify.EmployeeID = _dbTeamLeads.GetById(absenceToSave.Employee.TeamLeadID).EmployeeID; } await _dbUser.UpdateAllWithIncrementedNotification(WorkPosition.HR, 1); status = "save"; _dbNotify.Add(notify); await _dbAbsence.SaveChangesAsync(); await _dbNotify.SaveChangesAsync(); dbContextTransaction.Commit(); } } } catch (Exception exception) { throw exception; } return(new JsonResult { Data = new { status } }); }
public void InserirUsuario(Usuario usuario) { if (!usuario.VerificaInsercao(_notification)) { return; } //verificando se não está sendo cadastrado um cpf repetido var usuarios = _usuarioRepository.ListarUsuario(); var cpf = usuario.Cpf.Replace(".", "").Replace("-", ""); if (usuarios.Any(usuarioA => usuarioA.Cpf == cpf)) { _notification.Add("Este Cpf já existe!"); return; } _usuarioRepository.InserirUsuario(usuario); }
public void InserirCompra(Compra compra) { /* Inicia uma transação no banco, se qualquer coisa der errado * durante a inserção da compra, um rollback será realizado e * o processo será inteiro "desconsiderado", caso dê certo o * método commit será chamado e a transação será finalizada. */ _compraRepository.BeginTransaction(); try { int valor; var result = _compraRepository.InserirCompra(compra, out valor); if (result == -1) { _compraRepository.RollBackTransaction(); _notification.Add("Falha ao inserir compra"); return; } /* Após inserir os dados da compra, item a item dessa mesma compra * é inserido no banco, se algum deles exceder o estoque, o rollback * é realizado. */ foreach (var item in compra.Itens) { if (item.QtdeCompra <= 0) { _notification.Add("Quantidade do produto nao pode ser zero ou menor"); return; } VerificaEstoque(item); if (_notification.HasNotification()) { _compraRepository.RollBackTransaction(); return; } item.IdCompra = valor; _compraProdutoRepository.InserirCompraProduto(item); } var user = _usuarioRepository.SelecionarUsuario(compra.Usuario.Cpf); if (user.SaldoUsuario < -100) { _compraRepository.RollBackTransaction(); _notification.Add("Você está excedendo a dívida máxima, pague a lojinha!"); return; } if (user.Ativo != "A") { _compraRepository.RollBackTransaction(); _notification.Add("Sua conta foi desativada! Contate um administrador"); return; } _compraRepository.CommitTransaction(); } catch { // Em caso de exception(erro) o roolback é realizado _compraRepository.RollBackTransaction(); _notification.Add("Erro ao inserir compra"); } }
public IActionResult Get() { _notification.Add("Error"); return(BadRequest(_notification.Get())); }