Пример #1
0
        private void BtnAcessarBeneficio_Click(object sender, RoutedEventArgs e)
        {
            Button    button = sender as Button;
            Beneficio b      = button.DataContext as Beneficio;

            MessageBox.Show("Você acessou o benefício: " + b.Nome);
        }
Пример #2
0
        private void crearButton_Click(object sender, EventArgs e)
        {
            if (EsUnFormularioValido())
            {
                var       nombre      = nombreText.Text;
                var       descripcion = descripcionText.Text;
                String    puntaje     = puntajeUpDown.Text;
                Beneficio beneficio   = new Beneficio()
                {
                    nombre = nombre, descripcion = descripcion, puntaje = Convert.ToInt32(puntaje)
                };

                try
                {
                    gestorDeBeneficios.CrearBeneficio(beneficio);
                    MessageBox.Show(Genesis.Recursos_localizables.StringResources.AdministracionDeBEneficiosMessageCrearSatisfactorio);
                    LimpiarFormulario();
                    ListarBeneficios();
                }
                catch (EntidadDuplicadaExcepcion excepcion)
                {
                    MessageBox.Show(Genesis.Recursos_localizables.StringResources.AdministracionDeBEneficiosMessageNombreDuplicado);
                }
            }
        }
        public Beneficio crearBeneficio(int pid, String pnombre, double pporcentaje, String pasociacion)
        {
            Beneficio beneficio = new Beneficio(pnombre, pporcentaje, pasociacion);

            beneficio.Id = pid;
            return(beneficio);
        }
Пример #4
0
        private decimal?ObterPercentualDescontoValorSolicitado(Beneficio beneficio, UnidadeNegocio unidadeNegocio, Classificacao classificacao, Categoria categoria, RepositoryService repoService)
        {
            decimal?fator = null;

            switch (beneficio.Codigo)
            {
            case (int)Domain.Enum.BeneficiodoPrograma.Codigos.Showroom:
                var fatorShowRoom = repoService.ParametroGlobal.ObterPor((int)Domain.Enum.TipoParametroGlobal.PercentualDescontoShowRoom, unidadeNegocio.ID.Value, classificacao.ID.Value, categoria.ID, null, null, beneficio.ID, null);

                if (fatorShowRoom == null)
                {
                    throw new ArgumentException("(CRM) Parâmetro global Percentual Desconto Show Room não localizado para Unidade de Negócio [" + unidadeNegocio.Nome + "]");
                }

                fator = Convert.ToDecimal(fatorShowRoom.Valor);

                break;

            case (int)Domain.Enum.BeneficiodoPrograma.Codigos.Backup:
                var fatorBackup = repoService.ParametroGlobal.ObterPor((int)Domain.Enum.TipoParametroGlobal.PercentualDescontoBackup, unidadeNegocio.ID.Value, classificacao.ID.Value, categoria.ID, null, null, beneficio.ID, null);

                if (fatorBackup == null)
                {
                    throw new ArgumentException("(CRM) Parâmetro global Percentual Desconto Backup não localizado para Unidade de Negócio [" + unidadeNegocio.Nome + "]");
                }

                fator = Convert.ToDecimal(fatorBackup.Valor);

                break;
            }

            return(fator);
        }
        private void BtnEditar_Click(object sender, RoutedEventArgs e)
        {
            Button button = sender as Button;

            beneficio    = button.DataContext as Beneficio;
            this.Content = new uclAlterarBeneficio(beneficio);
        }
Пример #6
0
    public int EliminarBeneficio(Beneficio beneficio)
    {
        var beneficioOBtenido = ObtenerBeneficioBD(beneficio.identificador);
        var nombreBeneficio   = beneficioOBtenido.nombre;
        var puntaje           = beneficioOBtenido.puntaje;


        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se elimino el beneficio " + beneficio.identificador, criticidad = 1, funcionalidad = "ADMINISTRACION DE BENEFICIOS", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);


        nombreBeneficio = GestorDeEncriptacion.EncriptarAes(nombreBeneficio + " Eliminado el dia: " + DateTime.Now.ToString("yyyy-MM-dd"));
        var puntajeEncriptado = GestorDeEncriptacion.EncriptarAes(puntaje.ToString());
        var digitoVH          = ObtenerDigitoVerificadorHDeBeneficio(nombreBeneficio, puntajeEncriptado);


        var registros = BaseDeDatos.ObtenerInstancia().ModificarBase(String.Format("UPDATE BENEFICIO SET habilitado = 0, nombre = '{0}', digitoVerificadorH = '{1}' WHERE idBeneficio = {2}", nombreBeneficio, digitoVH, beneficio.identificador));

        gestorDeDigitoVerificador.ModificarDigitoVV("BENEFICIO");

        return(registros);
    }
Пример #7
0
        private Beneficio ReaderParaObjeto(MySqlDataReader reader)
        {
            try
            {
                var entidade = new Beneficio();

                var especie = reader[ESPECIE].ToString();

                entidade.Id = int.Parse(reader[ID].ToString());

                if (!string.IsNullOrEmpty(especie))
                {
                    entidade.Especie = int.Parse(especie);
                }

                return(entidade);
            }
            catch (Exception ex)
            {
                //_log.PulaLinhas(1);
                //_log.EscreveLinha("Erro ao converter Reader para Objeto");
                //_log.EscreveLinha("Classe BeneficioRepositorio");
                //_log.EscreveLinha(string.Format("Beneficio Id: {0} - Especie: {1}", reader[ID], reader[ESPECIE]));
                //_log.EscreveLinha("Mensagem do erro: " + ex.Message);
                //_log.PulaLinhas(1);
                return(null);
            }
        }
 public virtual void AdicionarBeneficio(Beneficio beneficio, decimal valor)
 {
     if (!Beneficios.ContainsKey(beneficio))
     {
         Beneficios.Add(beneficio, valor);
     }
 }
Пример #9
0
        /// <summary>
        /// Este método recive los parametros necesarios para instanciar un beneficio.
        /// Enviá los parametros para crear el beneficio y recibe una instancia.
        /// Envía el nuevo objeto al repositorio para que se guarde en la lista de ítems respectiva.
        /// El objeto se envia para que luego sea modificado en la base de datos.
        /// Atrapa una excepcion en caso de error.
        /// </summary>
        /// <author>Mathias Muller</author>
        /// <param name="pnombre">Es el nombre del beneficio</param>
        /// <param name="pporcentaje">Es el porcentaje que cubre el beneficio</param>
        /// <param name="paplicacion">Describe a que se aplica el beneficio</param>

        public void modificarBeneficio(int pid, string pnombre, double pporcentaje, string pasociacion)
        {
            Beneficio objBeneficio = ContenedorMantenimiento.Instance.crearBeneficio(pid, pnombre, pporcentaje, pasociacion);

            try
            {
                if (objBeneficio.IsValid)
                {
                    BeneficioRepository.Instance.Update(objBeneficio);
                }
                else
                {
                    StringBuilder sb = new StringBuilder();
                    foreach (RuleViolation rv in objBeneficio.GetRuleViolations())
                    {
                        sb.AppendLine(rv.ErrorMessage);
                    }
                    throw new ApplicationException(sb.ToString());
                }
            }

            catch (Exception e)
            {
                throw e;
            }
        }
Пример #10
0
    public int CrearBeneficio(Beneficio beneficio)
    {
        var nombre = beneficio.nombre;

        beneficio.nombre = GestorDeEncriptacion.EncriptarAes(beneficio.nombre);
        var puntaje = GestorDeEncriptacion.EncriptarAes(beneficio.puntaje.ToString());

        if (BaseDeDatos.ObtenerInstancia().ConsultarBase(String.Format("SELECT * FROM BENEFICIO WHERE nombre = '{0}'", beneficio.nombre)).Rows.Count > 0)
        {
            throw new EntidadDuplicadaExcepcion("nombre");
        }


        var digitoVH  = ObtenerDigitoVerificadorHDeBeneficio(beneficio.nombre, puntaje);
        var registros = BaseDeDatos.ObtenerInstancia().ModificarBase(String.Format("INSERT INTO BENEFICIO (descripcion,nombre,puntaje,habilitado,digitoVerificadorH) VALUES ('{0}','{1}','{2}',1,'{3}')", beneficio.descripcion, beneficio.nombre, puntaje, digitoVH));

        gestorDeDigitoVerificador.ModificarDigitoVV("BENEFICIO");

        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se creo el beneficio " + nombre, criticidad = 1, funcionalidad = "ADMINISTRACION DE BENEFICIOS", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);

        return(registros);
    }
Пример #11
0
    public List <Grupo> ConsultarGrupos()
    {
        DataTable    datable = baseDeDatos.ConsultarBase("SELECT * FROM GRUPO WHERE habilitado = 1");
        List <Grupo> grupos  = new List <Grupo>();

        foreach (DataRow grupoRow in datable.Rows)
        {
            Grupo grupo = new Grupo()
            {
                identificador = Convert.ToInt32(grupoRow["idGrupo"]), nombre = Convert.ToString(grupoRow["nombre"])
            };

            DataTable grupobeneficioTable = baseDeDatos.ConsultarBase(String.Format("SELECT beneficio.idBeneficio, beneficio.nombre FROM grupobeneficio INNER JOIN beneficio on grupobeneficio.Beneficio_idBeneficio = beneficio.idBeneficio WHERE Grupo_idGrupo = {0}", grupo.identificador));
            foreach (DataRow grupobeneficioRow in grupobeneficioTable.Rows)
            {
                Beneficio beneficio = new Beneficio()
                {
                    identificador = Convert.ToInt32(grupobeneficioRow["idBeneficio"]), nombre = GestorDeEncriptacion.DesencriptarAes(Convert.ToString(grupobeneficioRow["nombre"]))
                };
                grupo.beneficiosAsignados.Add(beneficio);
            }

            grupos.Add(grupo);
        }
        return(grupos);
    }
        public void Delete(long Id)
        {
            Beneficio beneficio = _context.Beneficios.FirstOrDefault(x => x.Id == Id);

            _context.Beneficios.Remove(beneficio);
            _context.SaveChanges();
        }
        private static bool modificarCadastro(Choices choices, Beneficio beneficio)
        {
            JSONObject requestJson = new JSONObject {
                [Field.empresa]     = choices.empresa.nome,
                [Field.funcionario] = choices.funcionario.CPF,
                [Field.beneficio]   = beneficio.nome
            };

            //TODO validar campos
            if (choices.action != Choices.Action.remove)
            {
                JSONObject campos = new JSONObject();
                foreach (string nome in beneficio.campos.Keys)
                {
                    if (campos[nome] == null)
                    {
                        campos[nome] = choices.funcionario.novosCampos[nome];
                    }
                }
                requestJson[Field.campos] = campos;
            }
            JSONObject json = NetworkingClient.tryPost(
                $"{Defs.post_url}?type={choices.actionType}", requestJson
                )?.AsObject;

            return(json != null && !isError(json));
        }
Пример #14
0
 public override void AdicionarBeneficio(Beneficio beneficio, decimal valor)
 {
     if (beneficio.Equals(Beneficio.AssistenciaMedica))
     {
         base.AdicionarBeneficio(beneficio, valor);
     }
 }
Пример #15
0
        public ActionResult CadastrarBeneficio(Beneficio oBeneficio, string Preco = "")
        {
            if (Convert.ToBoolean(Session["Avaliativa"]))
            {
                if (_Control.LimiteBeneficiosEmpresaAvaliativa(Convert.ToInt32(Session["IDEmpresa"])))
                {
                    ModelState.AddModelError("Limite", "O limite de benefícios nessa Empresa Avaliativa foi atingido. (Limite de Benefícios = 5)");
                }
            }

            if (Preco == "")
            {
                ModelState.AddModelError("Ben_Custo", "Digite o custo desse benefício");
            }

            if (ModelState.IsValid)
            {
                Empresa aEmpresa = _Control.SelecionarEmpresa(Convert.ToInt32(Session["IDEmpresa"]));
                oBeneficio.Ben_Empresa_Emp_ID = aEmpresa.Emp_ID;
                oBeneficio.Ben_DataCadastro   = aEmpresa.Emp_DataAtual;
                oBeneficio.Ben_Situation      = true;
                oBeneficio.Ben_Custo          = Math.Round(Convert.ToDouble(Preco), 2);
                _Control.Incluir(oBeneficio);
                return(RedirectToAction("Index"));
            }



            return(View());
        }
Пример #16
0
    public List <EquipoGrupo> ObtenerAsignacionDeGruposDeUnEquipoEnUnPeriodo(Equipo equipo, int periodo)
    {
        DataTable          datable      = baseDeDatos.ConsultarBase(String.Format("SELECT * FROM GRUPO inner join equipogrupo on equipogrupo.Grupo_idGrupo = grupo.idGrupo where equipogrupo.Equipo_idEquipo = {0} AND (periodoFin is null or periodoFin >= {1}) AND periodoInicio <= {1}", equipo.identificador, periodo));
        List <EquipoGrupo> equipoGrupos = new List <EquipoGrupo>();

        foreach (DataRow grupoRow in datable.Rows)
        {
            EquipoGrupo equipoGrupo = new EquipoGrupo();
            Grupo       grupo       = new Grupo()
            {
                identificador = Convert.ToInt32(grupoRow["idGrupo"]), nombre = Convert.ToString(grupoRow["nombre"])
            };

            DataTable grupobeneficioTable = baseDeDatos.ConsultarBase(String.Format("SELECT beneficio.idBeneficio, beneficio.nombre, beneficio.puntaje FROM grupobeneficio INNER JOIN beneficio on grupobeneficio.Beneficio_idBeneficio = beneficio.idBeneficio WHERE Grupo_idGrupo = {0}", grupo.identificador));
            foreach (DataRow grupobeneficioRow in grupobeneficioTable.Rows)
            {
                Beneficio beneficio = new Beneficio()
                {
                    identificador = Convert.ToInt32(grupobeneficioRow["idBeneficio"]), nombre = GestorDeEncriptacion.DesencriptarAes(Convert.ToString(grupobeneficioRow["nombre"])), puntaje = Convert.ToInt32(GestorDeEncriptacion.DesencriptarAes(Convert.ToString(grupobeneficioRow["puntaje"])))
                };
                grupo.beneficiosAsignados.Add(beneficio);
            }
            equipoGrupo.grupo = grupo;
            equipoGrupos.Add(equipoGrupo);
        }
        return(equipoGrupos);
    }
        public IActionResult Post(Beneficio novoBeneficio)
        {
            // Faz a chamada para o método .Cadastrar();
            _beneficioRepository.Cadastrar(novoBeneficio);

            // Retorna o status code 201 - Created com a URL e o objeto cadastrado
            return(StatusCode(201));
        }
Пример #18
0
        public ActionResult ExcluirBeneficio(int id)
        {
            Beneficio b = _Control.SelecionarBeneficioID(id);

            b.Ben_Situation = false;
            _Control.Alterar(b);
            return(Json("Benefício excluído com sucesso!"));
        }
Пример #19
0
 public static void Incluir(Beneficio beneficio)
 {
     using (var contexto = new BDRecursosHumanos())
     {
         contexto.Beneficios.Add(beneficio);
         contexto.SaveChanges();
     }
 }
        public void TestIncluirBeneficioDAO()
        {
            Beneficio beneficio = new Beneficio();

            beneficio.Nome = "Plano de Saúde";

            MTC.RH.DAL.DAO.BeneficioDAO.Incluir(beneficio);
        }
        public void Update(BeneficioDTO item)
        {
            Beneficio beneficio = _context.Beneficios.FirstOrDefault(x => x.Id == item.Id);

            beneficio.Nome           = item.Nome;
            beneficio.FatorConversao = beneficio.FatorConversao;
            _context.SaveChanges();
        }
Пример #22
0
 public override void AdicionarBeneficio(Beneficio beneficio, decimal valor)
 {
     if (!beneficio.Equals(Beneficio.ValeRefeicao))
     {
         return;
     }
     base.AdicionarBeneficio(beneficio, valor);
 }
Пример #23
0
        public static Persona BeneficioSUAF_Traer(Anses.ArgentaC.Negocio.UVHICreditos.CCInfo[] beneficios, Persona persona)
        {
            try
            {
                persona.BeneficiosRelacionados = new List <Beneficio>();
                bool tienenMismoCBU = true;
                if (beneficios != null)
                {
                    foreach (UVHICreditos.CCInfo c in beneficios)
                    {
                        Beneficio unBeneficio = new Beneficio();
                        unBeneficio.Cuil                 = long.Parse(c.RELCuil.ToString());
                        unBeneficio.NroBeneficio         = c.NroBeneficio;
                        unBeneficio.ApellidoNombre       = c.ApeNom;
                        unBeneficio.TipoDoc              = Int16.Parse(c.DocTipo.ToString());
                        unBeneficio.NroDoc               = long.Parse(c.DocNumero.ToString());
                        unBeneficio.FecNacimiento        = c.Nacimiento;
                        unBeneficio.FecFallecimiento     = c.Fallecimimento;
                        unBeneficio.SueldoBruto          = c.ValorBruto;
                        unBeneficio.AfectacionDisponible = c.AfectacionDisponible;
                        unBeneficio.Sexo                 = c.Sexo;
                        unBeneficio.PeriodoAlta          = c.PeriodoAlta;
                        unBeneficio.CBU             = FormarCBU(c.CBU1, c.CBU2);
                        unBeneficio.CodBanco        = c.Banco;
                        unBeneficio.CodAgencia      = c.Agencia;
                        unBeneficio.RelCuil         = long.Parse(c.Cuil.ToString());
                        unBeneficio.CodPrestacion   = c.Prestacion;
                        unBeneficio.EsDiscapacitado = c.sEsDiscapacitado == "SI" ? true : false;
                        persona.BeneficiosRelacionados.Add(unBeneficio);
                    }

                    if (beneficios.Count() > 0)
                    {
                        string _cbu     = FormarCBU(beneficios.First().CBU1, beneficios.First().CBU2);
                        short  _banco   = 0;
                        short  _agencia = 0;
                        foreach (UVHICreditos.CCInfo c in beneficios)
                        {
                            if (FormarCBU(c.CBU1, c.CBU2) != _cbu)
                            {
                                tienenMismoCBU = false;
                            }
                            _banco   = short.Parse(c.Banco.ToString());
                            _agencia = short.Parse(c.Agencia.ToString());
                        }
                        persona.CBU        = tienenMismoCBU ? _cbu : null;
                        persona.codBanco   = _banco;
                        persona.codAgencia = _agencia;
                    }
                }
                return(persona);
            }
            catch (Exception err)
            {
                log.Error(string.Format("{0} - Error:{1}->{2}", System.Reflection.MethodBase.GetCurrentMethod().Name, err.Source, err.Message));
                return(null);
            }
        }
Пример #24
0
    public int ModificarBeneficio(Beneficio beneficio)
    {
        Beneficio beneficioViejo = ObtenerBeneficioBD(beneficio.identificador);

        var nuevoNombreEncriptado = GestorDeEncriptacion.EncriptarAes(beneficio.nombre);
        var puntajeEncriptado     = GestorDeEncriptacion.EncriptarAes(beneficio.puntaje.ToString());

        if (BaseDeDatos.ObtenerInstancia().ConsultarBase(String.Format("SELECT * FROM BENEFICIO WHERE nombre = '{0}' and BENEFICIO.idBeneficio != {1}", nuevoNombreEncriptado, beneficio.identificador)).Rows.Count > 0)
        {
            throw new EntidadDuplicadaExcepcion("nombre");
        }

        String set = "";

        if (beneficio.nombre != null && beneficioViejo.nombre != beneficio.nombre)
        {
            set = String.Format(" nombre = '{0}' ", nuevoNombreEncriptado);
        }
        if (beneficio.descripcion != null && beneficioViejo.descripcion != beneficio.descripcion)
        {
            if (set.Length > 0)
            {
                set = set + " , ";
            }
            set = set + String.Format(" descripcion = '{0}' ", beneficio.descripcion);
        }

        if (beneficioViejo.puntaje != beneficio.puntaje)
        {
            if (set.Length > 0)
            {
                set = set + " , ";
            }
            set = set + String.Format(" puntaje = '{0}' ", puntajeEncriptado);
        }


        var digitoVH = ObtenerDigitoVerificadorHDeBeneficio(nuevoNombreEncriptado, puntajeEncriptado);

        if (set.Length > 0)
        {
            set = set + " , ";
        }
        set = set + String.Format(" digitoVerificadorH = '{0}' ", digitoVH);

        var registros = BaseDeDatos.ObtenerInstancia().ModificarBase(String.Format("UPDATE BENEFICIO SET {0} WHERE idBeneficio = {1}", set, beneficio.identificador));

        gestorDeDigitoVerificador.ModificarDigitoVV("BENEFICIO");

        EventoBitacora evento = new EventoBitacora()
        {
            fecha = DateTime.Now, descripcion = "Se modifico el beneficio " + beneficio.identificador, criticidad = 2, funcionalidad = "ADMINISTRACION DE BENEFICIOS", usuario = GestorSistema.ObtenerInstancia().ObtenerUsuarioEnSesion()
        };

        GestorDeBitacora.ObtenerInstancia().RegistrarEvento(evento);
        return(registros);
    }
Пример #25
0
        public ActionResult Crear()
        {
            var nuevoBeneficio = new Beneficio();
            var categorias     = _categoriasBL.ObtenerCategorias();

            ViewBag.CategoriaId =
                new SelectList(categorias, "Id", "Descripcion");
            return(View(nuevoBeneficio));
        }
Пример #26
0
    private Beneficio PopularbeneficioDesdeBD(DataRow beneficioRow)
    {
        Beneficio beneficio = new Beneficio();

        beneficio.identificador = Convert.ToInt32(beneficioRow["idBeneficio"]);
        beneficio.nombre        = GestorDeEncriptacion.DesencriptarAes(Convert.ToString(beneficioRow["nombre"]));
        beneficio.puntaje       = Convert.ToInt32(GestorDeEncriptacion.DesencriptarAes(Convert.ToString(beneficioRow["puntaje"])));
        beneficio.descripcion   = Convert.ToString(beneficioRow["descripcion"]);
        return(beneficio);
    }
Пример #27
0
        public IActionResult BuscarPorId(int id)
        {
            Beneficio p = _beneficioDAO.BuscarPorId(id);

            if (p != null)
            {
                return(Ok(p));
            }
            return(NotFound(new { msg = "Beneficio não encontrado!" }));
        }
Пример #28
0
        public void Atualizar(int id, Beneficio beneficioAtualizado)
        {
            Beneficio beneficioBuscado = ctx.Beneficio.Find(id);

            beneficioBuscado.NomeBeneficio = beneficioAtualizado.NomeBeneficio;

            ctx.Beneficio.Update(beneficioBuscado);

            ctx.SaveChanges();
        }
Пример #29
0
 private void BtnCadastrarBeneficio_Click(object sender, RoutedEventArgs e)
 {
     beneficio           = new Beneficio();
     beneficio.Nome      = txtNome.Text;
     beneficio.Nivel     = Convert.ToInt32(txtNivel.Text);
     beneficio.Descricao = txtDescricao.Text;
     beneficio.Empresa   = EmpresaDAO.FindCompanyById(empresa.EmpresaId);
     BeneficioDAO.RegisterBenefit(beneficio);
     MessageBox.Show("Beneficio " + beneficio.Nome + " cadastrado para empresa " + beneficio.Empresa.Razao);
 }
        public BeneficioDTO GetBeneficio(long Id)
        {
            Beneficio beneficio = _context.Beneficios.Find(Id);

            return(beneficio != null ?
                   new BeneficioDTO {
                Id = beneficio.Id,
                Nome = beneficio.Nome,
                FatorConversao = beneficio.FatorConversao
            } : null);
        }
        public double ObtenerTotalIngresosEmpleado(string idEmpleado)
        {
            var nomina = new Nomina.Nomina();
            var beneficio = new Beneficio();
            var incentivo = new Incentivo();

            var salario = nomina.ObtenerSalarioEmpleado(idEmpleado);
            var totalBeneficios = beneficio.ObtenerrBeneficiosEmpleado(idEmpleado).Sum(c => c.Valor);
            var totalIncentivos = incentivo.ObtenerIncentivosEmpleado(idEmpleado).Sum(c => c.Valor);

            return salario + totalBeneficios + totalIncentivos;
        }
Пример #32
0
        public void InserirBeneficio(Beneficio beneficio)
        {
            IEnumerable<Beneficio> result = model.TblBeneficios.Where(b => (b.Nome == beneficio.Nome && b.Valor == beneficio.Valor));

            if (result == null || result.Count<Beneficio>() == 0)
            {
                model.TblBeneficios.Add(beneficio);
            }
            else
            {
                throw new ERPException("Benefício já cadastrado.");
            }

            model.SaveChanges();
        }
Пример #33
0
        public void TesteBeneficioCliente()
        {
            Cliente cliente = new Cliente();
            cliente.Nome = "Angelina Jolie";
            cliente.Inserir();
            Assert.AreEqual(cliente.OrigemDados, OrigemDados.Banco);

            TipoBeneficio tipoBeneficio = new TipoBeneficio();
            tipoBeneficio.Descricao = "NovoTipo";
            tipoBeneficio.Inserir();
            Assert.AreEqual(tipoBeneficio.OrigemDados, OrigemDados.Banco);

            Beneficio beneficio = new Beneficio(tipoBeneficio, cliente);
            cliente.Beneficios.Add(beneficio);

            cliente.Salvar();
            Assert.AreEqual(tipoBeneficio.OrigemDados, OrigemDados.Banco);

            Cliente cliente2 = new Cliente();
            cliente2.Id = cliente.Id;
            cliente2.Obter();

            Beneficio beneficio2 = cliente.Beneficios.FirstOrDefault();
            Assert.IsNotNull(beneficio2);
            Assert.AreEqual(beneficio.Id,beneficio2.Id);

            cliente.Beneficios.Clear();
            cliente.Salvar();

            Cliente cliente3 = new Cliente();
            cliente3.Id = cliente.Id;
            cliente3.Obter();

            Beneficio beneficio3 = cliente.Beneficios.FirstOrDefault();
            Assert.IsNull(beneficio3);

            cliente.Remover();
            Assert.IsNull(cliente.Id);
            Assert.AreEqual(cliente.OrigemDados, OrigemDados.Local);

            tipoBeneficio.Remover();
            Assert.IsNull(tipoBeneficio.Id);
            Assert.AreEqual(tipoBeneficio.OrigemDados, OrigemDados.Local);
        }