public Retorno SalvarCliente(tbCliente objCliente, int intFunCodigo) { var objRetorno = new Retorno(); var strValidacao = ValidaCliente(objCliente); try { if (strValidacao == string.Empty) { objCliente.tbClienteGrupo = null; foreach (var objClienteEndereco in objCliente.tbClienteEndereco) { objClienteEndereco.tbBairro = null; objClienteEndereco.tbCliente = null; } foreach (var objClienteTelefone in objCliente.tbClienteTelefone) { objClienteTelefone.tbCliente = null; } enOperacao enTipoOperacao; if (objCliente.cli_codigo == 0) { enTipoOperacao = enOperacao.Inclusao; _objCtx.tbCliente.Add(objCliente); } else { enTipoOperacao = enOperacao.Alteracao; var objClienteContexto = _objCtx.tbCliente.Include(cen => cen.tbClienteEndereco) .Include(ctl => ctl.tbClienteTelefone).FirstOrDefault(cli => cli.cli_codigo == objCliente.cli_codigo); if (objClienteContexto != null) { _objCtx.tbClienteEndereco.RemoveRange(objClienteContexto.tbClienteEndereco); _objCtx.tbClienteTelefone.RemoveRange(objClienteContexto.tbClienteTelefone); _objCtx.Entry(objClienteContexto).CurrentValues.SetValues(objCliente); } foreach (var objItemEndereco in objCliente.tbClienteEndereco) { objItemEndereco.cli_codigo = objCliente.cli_codigo; _objCtx.tbClienteEndereco.Add(objItemEndereco); } foreach (var objItemTelefone in objCliente.tbClienteTelefone) { objItemTelefone.cli_codigo = objCliente.cli_codigo; _objCtx.tbClienteTelefone.Add(objItemTelefone); } } _objCtx.SaveChanges(); using (var objBll = new Auditoria(ref _objCtx, ref _objTransacao)) objBll.SalvarAuditoria(objCliente.cli_codigo, enTipoOperacao, objCliente, 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); }
public Retorno SalvarPerfilAcesso(tbPerfilAcesso objPerfilAcesso, int intFunCodigo) { var objRetorno = new Retorno(); var strValidacao = ValidaPerfilAcesso(objPerfilAcesso); try { if (strValidacao == string.Empty) { var arrPerfilAcessoMenuSalvar = objPerfilAcesso.tbPerfilAcessoMenu.Where(pam => pam.pam_permiteAlteracao || pam.pam_permiteExclusao || pam.pam_permiteInclusao || pam.pam_permiteVisualizacao).ToList(); foreach (var objPerfilAcessoMenu in objPerfilAcesso.tbPerfilAcessoMenu.Where(pam => pam.pam_permiteAlteracao || pam.pam_permiteExclusao || pam.pam_permiteInclusao || pam.pam_permiteVisualizacao).ToList()) { ComplementaPerfilAcessoMenu(objPerfilAcessoMenu.pac_codigo, objPerfilAcessoMenu.tbMenu, ref arrPerfilAcessoMenuSalvar); } objPerfilAcesso.tbPerfilAcessoMenu.Clear(); foreach (var objPerfilAcessoMenuSalvar in arrPerfilAcessoMenuSalvar) { objPerfilAcessoMenuSalvar.tbMenu = null; objPerfilAcessoMenuSalvar.tbPerfilAcesso = null; objPerfilAcessoMenuSalvar.pac_codigo = objPerfilAcesso.pac_codigo; objPerfilAcesso.tbPerfilAcessoMenu.Add(objPerfilAcessoMenuSalvar); } enOperacao enTipoOperacao; if (objPerfilAcesso.pac_codigo == 0) { enTipoOperacao = enOperacao.Inclusao; _objCtx.tbPerfilAcesso.Add(objPerfilAcesso); } else { enTipoOperacao = enOperacao.Alteracao; var objPerfilAcessoContexto = _objCtx.tbPerfilAcesso .Include(pam => pam.tbPerfilAcessoMenu).FirstOrDefault(pac => pac.pac_codigo == objPerfilAcesso.pac_codigo); if (objPerfilAcessoContexto != null) { _objCtx.tbPerfilAcessoMenu.RemoveRange(objPerfilAcessoContexto.tbPerfilAcessoMenu); _objCtx.Entry(objPerfilAcessoContexto).CurrentValues.SetValues(objPerfilAcesso); } foreach (var objItem in objPerfilAcesso.tbPerfilAcessoMenu) { _objCtx.tbPerfilAcessoMenu.Add(objItem); } } _objCtx.SaveChanges(); using (var objBll = new Auditoria(ref _objCtx, ref _objTransacao)) objBll.SalvarAuditoria(objPerfilAcesso.pac_codigo, enTipoOperacao, objPerfilAcesso, 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); }