//Persistir e inserir um novo registro private bool inserir(AssociadoCargo OAssociadoCargo) { OAssociadoCargo.setDefaultInsertValues <AssociadoCargo>(); db.AssociadoCargo.Add(OAssociadoCargo); db.SaveChanges(); return(OAssociadoCargo.id > 0); }
//Definir se é um insert ou update e enviar o registro para o banco de dados public bool salvar(AssociadoCargo OAssociadoCargo) { if (OAssociadoCargo.id == 0) { return(this.inserir(OAssociadoCargo)); } else { return(this.atualizar(OAssociadoCargo)); } }
//Load de um registro a partir do ID public AssociadoCargo carregar(int id) { var query = from PesCar in db.AssociadoCargo .Include(x => x.Associado) .Include(x => x.Associado.Pessoa) .Include(x => x.Cargo) where PesCar.id == id && PesCar.flagExcluido == "N" select PesCar; AssociadoCargo OAssociadoCargo = query.FirstOrDefault(); return(OAssociadoCargo); }
//Verificar se já existe registr dentro do mesmo período para evitar duplicidades public bool existe(AssociadoCargo OAssociadoCargo, int idDesconsiderado) { var query = (from PesCar in db.AssociadoCargo where PesCar.id != idDesconsiderado && PesCar.flagExcluido == "N" select PesCar ).AsNoTracking(); query = query.Where(x => x.idAssociado == OAssociadoCargo.idAssociado); query = query.Where(x => x.idCargo == OAssociadoCargo.idCargo); query = query.Where(x => x.inicioGestao == OAssociadoCargo.inicioGestao); query = query.Where(x => x.fimGestao == OAssociadoCargo.fimGestao); var Item = query.Take(1).FirstOrDefault(); return(Item != null); }
//Persistir e atualizar um registro existente private bool atualizar(AssociadoCargo OAssociadoCargo) { //Localizar existentes no banco AssociadoCargo dbCargo = this.carregar(OAssociadoCargo.id); //Configurar valores padrão OAssociadoCargo.setDefaultUpdateValues <AssociadoCargo>(); //Atualizacao da Empresa var CargoEntry = db.Entry(dbCargo); CargoEntry.CurrentValues.SetValues(OAssociadoCargo); CargoEntry.ignoreFields <AssociadoCargo>(new string[] { "idAssociado" }); db.SaveChanges(); return(OAssociadoCargo.id > 0); }