/// <summary> /// Apaga uma Carteira da tabela tblCarteira. /// Para apagar a Carteira o cliente precisa estar desvinculado do sistema. (Deletado) /// </summary> /// <param name="Obj">Objeto Carteira</param> public void Delete(ENCarteira Obj) { SqlConnection _con = new SqlConnection(ConfigurationManager.ConnectionStrings["PipiConnection"].ConnectionString); SqlCommand _cmd = new SqlCommand("sprCarteiraCRUD", _con); _cmd.CommandType = CommandType.StoredProcedure; _cmd.Parameters.AddWithValue("@sprstrOperacao", "D"); _cmd.Parameters.AddWithValue("@sprintEspecificoR", 0); _cmd.Parameters.AddWithValue("@sprintIdCarteira", Obj.IdCarteira); _cmd.Parameters.AddWithValue("@sprintIdCliente", Obj.IdCliente); _cmd.Parameters.AddWithValue("@sprfltValorTotal", Obj.FltValorTotal); _cmd.Parameters.AddWithValue("@sprdteDataPagamento", DateTime.Now); _cmd.Parameters.AddWithValue("@sprfltValorCredito", Obj.FltValorCredito); _cmd.Parameters.AddWithValue("@sprbitStatusCarteira", Obj.BitStatusCarteira); try { _con.Open(); _cmd.ExecuteNonQuery(); } catch(Exception ex) { throw ex; } finally { _con.Close(); } }
/// <summary> /// Apaga uma Carteira /// </summary> /// <param name="Obj">ENCarteira Obj</param> public void DeleteCarteira(ENCarteira Obj) { ENCarteira carteira = (new BUCarteira()).GetCarteiraById(Obj.IdCarteira); if (carteira != null) { if (carteira.FltValorCredito > 0) { throw new Exception("O usuário ainda obtem créditos."); } else { (new DACarteira()).Delete(carteira); } } }
/// <summary> /// Dar Baixa em uma Carteira /// </summary> /// <param name="Obj">ENCliente Obj</param> public void BaixaCarteira(int idCarteira, float vlPago) { ENCarteira novaCarteira = new ENCarteira(); novaCarteira = this.GetCarteiraById(idCarteira); //Cria a carteira para informar pagamento. ENSaldoCarteira saldoCarteiraNew = new ENSaldoCarteira(); saldoCarteiraNew.IdSaldoCarteira = 0; saldoCarteiraNew.IdCarteira = novaCarteira.IdCarteira; saldoCarteiraNew.DteBaixa = DateTime.Now; //Atualiza o Status da Carteira do Cliente. float vlTransacao = 0; if (novaCarteira.FltValorTotal > vlPago) { vlTransacao = novaCarteira.FltValorTotal - vlPago; } else if (novaCarteira.FltValorTotal < vlPago) { vlTransacao = novaCarteira.FltValorTotal - vlPago; } saldoCarteiraNew.ValorPago = vlPago; (new BuSaldoCarteira()).CreateSaldoCarteira(saldoCarteiraNew); //Se existe Crédito if (vlTransacao >= 0) { novaCarteira.FltValorTotal = vlTransacao; novaCarteira.FltValorCredito = 0; novaCarteira.BitStatusCarteira = true; } else if (vlTransacao < 0) { novaCarteira.FltValorTotal = 0; novaCarteira.FltValorCredito = vlTransacao * -1; novaCarteira.BitStatusCarteira = false; } (new BUCarteira()).UpdateCarteira(novaCarteira); }
/// <summary> /// Cria uma nova Carteira /// </summary> /// <param name="Obj">ENCarteira Obj</param> public void CreateCarteira(ENCarteira Obj) { (new DACarteira()).Create(Obj); }
/// <summary> /// Atualiza uma Carteira /// </summary> /// <param name="Obj">ENCliente Obj</param> public void UpdateCarteira(ENCarteira Obj) { (new DACarteira()).Update(Obj); }
/// <summary> /// Seleciona uma lista de Carteiras de acordo com os parâmetros /// </summary> /// <param name="EspecificoR">int EspecificoR</param> /// <returns>Lista de Carteiras</returns> public List<ENCarteira> Read(int EspecificoR, int idCarteira, int idCliente) { List<ENCarteira> _objs = new List<ENCarteira>(); SqlConnection _con = new SqlConnection(ConfigurationManager.ConnectionStrings["PipiConnection"].ConnectionString); SqlCommand _cmd = new SqlCommand("sprCarteiraCRUD", _con); _cmd.CommandType = CommandType.StoredProcedure; _cmd.Parameters.AddWithValue("@sprstrOperacao", "R"); _cmd.Parameters.AddWithValue("@sprintEspecificoR", EspecificoR); _cmd.Parameters.AddWithValue("@sprintIdCarteira", idCarteira); _cmd.Parameters.AddWithValue("@sprintIdCliente", idCliente); _cmd.Parameters.AddWithValue("@sprfltValorTotal", 0); _cmd.Parameters.AddWithValue("@sprdteDataPagamento", DateTime.Now); _cmd.Parameters.AddWithValue("@sprfltValorCredito", 0); _cmd.Parameters.AddWithValue("@sprbitStatusCarteira", 0); _con.Open(); SqlDataReader rd = _cmd.ExecuteReader(CommandBehavior.CloseConnection); try { while (rd.Read()) { ENCarteira NewObj = new ENCarteira(); NewObj.IdCarteira = Convert.ToInt32(rd[0].ToString()); NewObj.IdCliente = Convert.ToInt32(rd[1].ToString()); NewObj.FltValorTotal = float.Parse(rd[2].ToString()); NewObj.DteDataPagamento = Convert.ToDateTime(rd[3].ToString()); NewObj.FltValorCredito = float.Parse(rd[4].ToString()); NewObj.BitStatusCarteira = bool.Parse(rd[5].ToString()); _objs.Add(NewObj); } } catch (Exception ex) { throw ex; } finally { rd.Close(); } return _objs; }