private void ValidarComissao(ComissaoDao comissaoDao) { if (comissaoDao == null) { throw new BusinessException("ComissaoDao é obrigatório"); } if (comissaoDao.DataInicio == DateTime.MinValue) { throw new BusinessException("Data início é obrigatório"); } if (comissaoDao.DataFim == DateTime.MinValue) { throw new BusinessException("Data fim é obrigatório"); } }
public List <ComissaoDao> Comissao(ComissaoDao comissaoDao) { try { ValidarComissao(comissaoDao); return(relatorioRepository.Comissao(comissaoDao)); } catch (BusinessException ex) { throw ex; } catch (Exception ex) { logRepository.Incluir(new Log() { Descricao = ex.ToString(), DataHora = DateTime.Now }); throw ex; } }
public List <ComissaoDao> Comissao(ComissaoDao comissaoDao) { var query = (from p in chicoDoColchaoEntities.Pedido join ptp in chicoDoColchaoEntities.PedidoTipoPagamento on p.PedidoID equals ptp.PedidoID join f in chicoDoColchaoEntities.Funcionario on p.FuncionarioID equals f.FuncionarioID where p.DataPedido >= comissaoDao.DataInicio && p.DataPedido <= comissaoDao.DataFim && (comissaoDao.FuncionarioID > 0 ? p.FuncionarioID == comissaoDao.FuncionarioID : 1 == 1) && f.Ativo == true && p.PedidoStatusID != (int)PedidoStatusDao.EPedidoStatus.Cancelado group ptp by new { f.FuncionarioID, f.Nome } into g1 select new ComissaoDao() { FuncionarioID = g1.Key.FuncionarioID, Nome = g1.Key.Nome, LojaID = g1.Select(x => x.Pedido.LojaOrigem.LojaID).FirstOrDefault(), NomeFantasia = g1.Select(x => x.Pedido.LojaOrigem.NomeFantasia).FirstOrDefault(), Venda = g1.Sum(x => x.ValorPago), QtdPedido = g1.Select(x => x.PedidoID).Distinct().Count(), Comissao = g1.Sum(x => x.ValorPago) * 0.05 }).OrderBy(x => x.Venda).ToList(); return(query); }