private void Novo(object objParam) { tbProdutoGrupo objProdutoGrupoAux = new tbProdutoGrupo(); objProdutoGrupoAux.tbProdutoSubGrupo = new List <tbProdutoSubGrupo>(); tbProdutoSubGrupo objProdutoSubGrupo = new tbProdutoSubGrupo(); objProdutoGrupoAux.tbProdutoSubGrupo.Add(objProdutoSubGrupo); objProdutoGrupo = objProdutoGrupoAux; base.enStatusTelaAtual = enStatusTela.EmInclusaoOuAlteracao; }
public void Pesquisar(object objParam) { if (objParam != null && objParam.GetType() == typeof(tbProdutoGrupo)) { if (base.blnJanela) { _objProdutoGrupo = (tbProdutoGrupo)objParam; Dispose(); } } else { int intSkip; if (objParam == null || !int.TryParse(objParam.ToString(), out intSkip)) { intSkip = 0; } Retorno objRetorno; using (var objBLL = new ProdutoGrupos()) { objRetorno = objBLL.RetornaListaProdutoGrupo(strPgrCodigoPesquisa, strPgrNomePesquisa, intSkip, base.intQtdeRegPagina); } if (objRetorno.intCodigoErro == 0) { if (objRetorno.intQtdeRegistro > 0) { if ((objRetorno.intQtdeRegistro % base.intQtdeRegPagina) > 0) { base.intTotalPagina = (int)(objRetorno.intQtdeRegistro / base.intQtdeRegPagina) + 1; } else { base.intTotalPagina = (int)(objRetorno.intQtdeRegistro / base.intQtdeRegPagina); } base.intPaginaAtual = 1; base.intQtdeReg = objRetorno.intQtdeRegistro; } arrProdutoGrupoPesquisa = (List <tbProdutoGrupo>)objRetorno.objRetorno; if (arrProdutoGrupoPesquisa.Count() == 0) { base.intTotalPagina = 1; base.intPaginaAtual = 1; base.intQtdeReg = 0; } } else { MessageBox.Show(objRetorno.strMsgErro, "Atenção", MessageBoxButton.OK, Util.GetMessageImage(objRetorno.intCodigoErro)); } } }
private string ValidaProdutoGrupo(tbProdutoGrupo objProdutoGrupo) { if (string.IsNullOrEmpty(objProdutoGrupo.pgr_nome) || string.IsNullOrWhiteSpace(objProdutoGrupo.pgr_nome)) { return("O nome deve ser informado."); } if (_objCtx.tbProdutoGrupo.AsNoTracking().Any(pgr => (pgr.pgr_nome.Equals(objProdutoGrupo.pgr_nome)) && pgr.pgr_codigo != objProdutoGrupo.pgr_codigo)) { return("Já existe produto grupo com esse nome."); } return(objProdutoGrupo.tbProdutoSubGrupo.Count == 0 ? "Não foram informados nenhum sub grupo." : string.Empty); }
public Retorno RetornaProdutoGrupo(int intCodigo, enNavegacao?enDirecao) { var objRetorno = new Retorno(); try { tbProdutoGrupo objProdutoGrupo = null; if (enDirecao == null) { objProdutoGrupo = _objCtx.tbProdutoGrupo.Include(psgr => psgr.tbProdutoSubGrupo) .AsNoTracking() .FirstOrDefault(pgr => pgr.pgr_codigo == intCodigo); } if (enDirecao == enNavegacao.Proximo) { objProdutoGrupo = _objCtx.tbProdutoGrupo.Include(psgr => psgr.tbProdutoSubGrupo).AsNoTracking() .Where(pgr => pgr.pgr_codigo > intCodigo) .OrderBy(pgr => pgr.pgr_codigo).FirstOrDefault(); } if (enDirecao == enNavegacao.Anterior) { objProdutoGrupo = _objCtx.tbProdutoGrupo.Include(psgr => psgr.tbProdutoSubGrupo).AsNoTracking() .Where(pgr => pgr.pgr_codigo < intCodigo) .OrderByDescending(pgr => pgr.pgr_codigo).FirstOrDefault(); } if (objProdutoGrupo != null) { objRetorno.intCodigoErro = 0; objRetorno.objRetorno = objProdutoGrupo; } else { objRetorno.intCodigoErro = 48; objRetorno.strMsgErro = "Registro não encontrado"; } } catch (Exception ex) { Util.LogErro(ex); objRetorno.intCodigoErro = 16; objRetorno.strMsgErro = ex.Message; objRetorno.strExceptionToString = ex.ToString(); } return(objRetorno); }
public Retorno SalvarProdutoGrupo(tbProdutoGrupo objProdutoGrupo, int intFunCodigo) { var objRetorno = new Retorno(); var strValidacao = ValidaProdutoGrupo(objProdutoGrupo); try { if (strValidacao == string.Empty) { foreach (var objProdutoSubGrupo in objProdutoGrupo.tbProdutoSubGrupo) { objProdutoSubGrupo.tbProduto = null; objProdutoSubGrupo.tbProdutoGrupo = null; } enOperacao enTipoOperacao; if (objProdutoGrupo.pgr_codigo == 0) { enTipoOperacao = enOperacao.Inclusao; _objCtx.tbProdutoGrupo.Add(objProdutoGrupo); } else { enTipoOperacao = enOperacao.Alteracao; var objProdutoGrupoContexto = _objCtx.tbProdutoGrupo.Include(psgr => psgr.tbProdutoSubGrupo).FirstOrDefault(pgr => pgr.pgr_codigo == objProdutoGrupo.pgr_codigo); //Remover subgrupos que não vieram na coleçao var arrPsgrCodigo = objProdutoGrupo.tbProdutoSubGrupo.Select(psgr => psgr.psgr_codigo).ToArray(); if (objProdutoGrupoContexto != null) { _objCtx.tbProdutoSubGrupo.RemoveRange(objProdutoGrupoContexto.tbProdutoSubGrupo.Where(psgr => !arrPsgrCodigo.Contains(psgr.psgr_codigo))); //Alterar os subgrupos que vieram na coleção foreach (var objProdutoSubGrupoContexto in objProdutoGrupoContexto.tbProdutoSubGrupo.Where(psgr => arrPsgrCodigo.Contains(psgr.psgr_codigo))) { _objCtx.Entry(objProdutoSubGrupoContexto).CurrentValues.SetValues(objProdutoGrupo.tbProdutoSubGrupo.FirstOrDefault(psgr => psgr.psgr_codigo == objProdutoSubGrupoContexto.psgr_codigo)); } //Inclui os subgrupos que vieram na coleção sem codigo foreach (var objItem in objProdutoGrupo.tbProdutoSubGrupo.Where(psgr => psgr.psgr_codigo == 0)) { objItem.pgr_codigo = objProdutoGrupo.pgr_codigo; _objCtx.tbProdutoSubGrupo.Add(objItem); } //Atualiza o grupo de produtos _objCtx.Entry(objProdutoGrupoContexto).CurrentValues.SetValues(objProdutoGrupo); } } _objCtx.SaveChanges(); using (var objBll = new Auditoria(ref _objCtx, ref _objTransacao)) objBll.SalvarAuditoria(objProdutoGrupo.pgr_codigo, enTipoOperacao, objProdutoGrupo, intFunCodigo); objRetorno.intCodigoErro = 0; } else { objRetorno.intCodigoErro = 48; objRetorno.strMsgErro = strValidacao; } } catch (Exception ex) { Util.LogErro(ex); objRetorno.intCodigoErro = 16; objRetorno.strMsgErro = ex.Message; objRetorno.strExceptionToString = ex.ToString(); } return(objRetorno); }