public HttpResponseMessage SalvarContribuinte(string contribuinteJson) { var contribuinteObj = new JavaScriptSerializer().Deserialize<ContribuinteModels>(contribuinteJson); string connectionString = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString; using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); try { ContribuinteModels retorno = new ContribuinteModels(); contribuinteObj = CalcularIR(contribuinteObj, SalarioMinimoController.CarregarSalarioMinimo(conn).valor); if (contribuinteObj.id <= 0) retorno = NovoContribuinte(contribuinteObj, conn); else retorno = AlterarContribuinte(contribuinteObj, conn); return Request.CreateResponse(HttpStatusCode.OK, new JavaScriptSerializer().Serialize(retorno)); } catch (Exception e) { return Request.CreateResponse(HttpStatusCode.InternalServerError, "Houve um erro ao salvar seu Contribuinte"); } finally { conn.Close(); } } }
public HttpResponseMessage DeletarContribuinte(string contribuinteJson) { var contribuinteObj = new JavaScriptSerializer().Deserialize<ContribuinteModels>(contribuinteJson); string connectionString = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString; using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); try { ContribuinteModels retorno = new ContribuinteModels(); if (contribuinteObj.id <= 0) Request.CreateResponse(HttpStatusCode.InternalServerError, "ID inválido para Contribuinte"); else retorno = DeletarContribuinte(contribuinteObj, conn); return Request.CreateResponse(HttpStatusCode.OK, new JavaScriptSerializer().Serialize(retorno)); } catch (Exception e) { return Request.CreateResponse(HttpStatusCode.InternalServerError, "Houve um erro ao salvar seu Contribuinte"); } finally { conn.Close(); } } }
private ContribuinteModels AlterarContribuinte(ContribuinteModels contribuinte, SqlConnection conn) { SqlCommand comandoEditarContribuinte = new SqlCommand("UPDATE Contribuinte SET nome = @NOME, cpf = @CPF, dependentes = @DEPENDENTES, " + "renda_bruta = @RENDABRUTA, renda_liquida = @RENDALIQUIDA, ir = @IR WHERE id = @ID", conn); comandoEditarContribuinte.Parameters.AddWithValue("@ID", contribuinte.id); comandoEditarContribuinte.Parameters.AddWithValue("@NOME", contribuinte.nome); comandoEditarContribuinte.Parameters.AddWithValue("@CPF", contribuinte.cpf); comandoEditarContribuinte.Parameters.AddWithValue("@DEPENDENTES", contribuinte.numeroDependentes); comandoEditarContribuinte.Parameters.AddWithValue("@RENDABRUTA", contribuinte.rendaBruta); comandoEditarContribuinte.Parameters.AddWithValue("@RENDALIQUIDA", contribuinte.rendaLiquida); comandoEditarContribuinte.Parameters.AddWithValue("@IR", contribuinte.ir); try { var exec = comandoEditarContribuinte.ExecuteNonQuery(); } catch (Exception e) { throw e; } return contribuinte; }
private ContribuinteModels NovoContribuinte(ContribuinteModels contribuinte, SqlConnection conn) { SqlCommand comandoNovoContribuinte = new SqlCommand("INSERT INTO Contribuinte (nome, cpf, dependentes, renda_bruta, renda_liquida, ir) " + "Values (@NOME, @CPF, @DEPENDENTES, @RENDABRUTA, @RENDALIQUIDA, @IR)", conn); comandoNovoContribuinte.Parameters.AddWithValue("@NOME", contribuinte.nome); comandoNovoContribuinte.Parameters.AddWithValue("@CPF", contribuinte.cpf); comandoNovoContribuinte.Parameters.AddWithValue("@DEPENDENTES", contribuinte.numeroDependentes); comandoNovoContribuinte.Parameters.AddWithValue("@RENDABRUTA", contribuinte.rendaBruta); comandoNovoContribuinte.Parameters.AddWithValue("@RENDALIQUIDA", contribuinte.rendaLiquida); comandoNovoContribuinte.Parameters.AddWithValue("@IR", contribuinte.ir); try { var exec = comandoNovoContribuinte.ExecuteNonQuery(); SqlCommand comandoUltimoContribuinte = new SqlCommand("SELECT TOP 1 id FROM Contribuinte ORDER BY id DESC", conn); SqlDataReader rdr = comandoUltimoContribuinte.ExecuteReader(); if (rdr.Read()) { contribuinte.id = Convert.ToInt32(rdr[0].ToString()); } rdr.Close(); } catch (Exception e) { throw e; } return contribuinte; }
private List<ContribuinteModels> CarregaContribuintes(SqlConnection conn) { List<ContribuinteModels> listaContribuinte = new List<ContribuinteModels>(); SqlCommand comandoCarregarContribuinte = new SqlCommand("SELECT * FROM Contribuinte", conn); SqlDataReader rdr = comandoCarregarContribuinte.ExecuteReader(); try { while (rdr.Read()) { ContribuinteModels contribuinte = new ContribuinteModels(); contribuinte.id = Convert.ToInt32(rdr[0].ToString()); contribuinte.nome = rdr[1].ToString(); contribuinte.cpf = rdr[2].ToString(); contribuinte.numeroDependentes = Convert.ToInt32(rdr[3].ToString()); contribuinte.rendaBruta = Convert.ToDecimal(rdr[4].ToString()); contribuinte.rendaLiquida = Convert.ToDecimal(rdr[5].ToString()); contribuinte.ir = Convert.ToDecimal(rdr[6].ToString()); listaContribuinte.Add(contribuinte); } rdr.Close(); } catch (Exception e) { Request.CreateResponse(HttpStatusCode.InternalServerError, "Erro ao carregar as Transferências."); } return listaContribuinte; }
private ContribuinteModels DeletarContribuinte(ContribuinteModels contribuinte, SqlConnection conn) { SqlCommand comandoEditarContribuinte = new SqlCommand("DELETE FROM Contribuinte WHERE id = @ID", conn); comandoEditarContribuinte.Parameters.AddWithValue("@ID", contribuinte.id); try { var exec = comandoEditarContribuinte.ExecuteNonQuery(); } catch (Exception e) { throw e; } return contribuinte; }
private ContribuinteModels CalcularIR(ContribuinteModels contribuinte, decimal valorSalarioMinimo) { contribuinte.rendaLiquida = contribuinte.rendaBruta - ((5 * contribuinte.numeroDependentes) * (contribuinte.rendaBruta / 100)); if (valorSalarioMinimo <= 0) return contribuinte; if (contribuinte.rendaLiquida <= (valorSalarioMinimo * 2)) contribuinte.ir = 0; else if (contribuinte.rendaLiquida > (valorSalarioMinimo * 2) && contribuinte.rendaLiquida <= (valorSalarioMinimo * 4)) contribuinte.ir = Convert.ToDecimal(7.5); else if (contribuinte.rendaLiquida > (valorSalarioMinimo * 4) && contribuinte.rendaLiquida <= (valorSalarioMinimo * 5)) contribuinte.ir = Convert.ToDecimal(15); else if (contribuinte.rendaLiquida > (valorSalarioMinimo * 5) && contribuinte.rendaLiquida <= (valorSalarioMinimo * 7)) contribuinte.ir = Convert.ToDecimal(22.5); else contribuinte.ir = Convert.ToDecimal(27.5); return contribuinte; }