コード例 #1
0
ファイル: Clientes.cs プロジェクト: rodrigo-brizzi/BSFood
        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);
        }
コード例 #2
0
        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);
        }