/// <summary> /// Cria um registro na tabela Estoque(tblEstoque). /// </summary> /// <param name="Obj">Objeto Estoque</param> public void Create(ENEstoque Obj) { SqlConnection _con = new SqlConnection(ConfigurationManager.ConnectionStrings["PipiConnection"].ConnectionString); SqlCommand _cmd = new SqlCommand("sprEstoqueCRUD", _con); _cmd.CommandType = CommandType.StoredProcedure; _cmd.Parameters.AddWithValue("@sprstrOperacao", "C"); _cmd.Parameters.AddWithValue("@sprintEspecificoR", 0); _cmd.Parameters.AddWithValue("@sprintIdProduto", Obj.IdProduto); _cmd.Parameters.AddWithValue("@sprdteEntrada", Obj.Entrada); _cmd.Parameters.AddWithValue("@sprintQuantidadeEntrada", Obj.QuantidadeEntrada); _cmd.Parameters.AddWithValue("@sprintQuantidadeVendida", Obj.QuantidadeVendida); _cmd.Parameters.AddWithValue("@sprfltValorCustoUnitario", Obj.ValorCustoUnitario); _cmd.Parameters.AddWithValue("@sprfltValorVendaUnitario", Obj.ValorVendaUnitario); _cmd.Parameters.AddWithValue("@sprfltValorTotalCusto", Obj.ValorTotalCusto); _cmd.Parameters.AddWithValue("@sprfltValorTotalVenda", Obj.ValorTotalVenda); try { _con.Open(); _cmd.ExecuteNonQuery(); } catch (Exception ex) { throw ex; } finally { _con.Close(); } }
/// <summary> /// Deleta um Produto do Estoque /// </summary> /// <param name="Obj">ENEstoque Obj</param> public void DeleteProdutoFromEstoque(ENEstoque Obj) { if (Obj.Entrada == DateTime.MinValue) { Obj.Entrada = DateTime.Now; } (new DAEstoque()).Delete(Obj); }
/// <summary> /// Adiciona um novo Produto ao Estoque. /// </summary> /// <param name="Obj">ENEstoque Obj</param> public void AddProdutoOnEstoque(ENEstoque Obj) { ENProduto produto = (new BUProduto()).GetProdutoById(Obj.IdProduto); if (produto != null) { (new DAEstoque()).Create(Obj); } else { throw new Exception("Produto não cadastrado no sistema."); } }
protected void gdvEstoque_RowInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e) { e.Cancel = true; string idProdutoEstoque = e.NewValues["IdProduto"].ToString(); DateTime dtEntrada = Convert.ToDateTime(e.NewValues["Entrada"].ToString()); int quantidadeEntrada = Convert.ToInt32(e.NewValues["QuantidadeEntrada"].ToString()); string valor = e.NewValues["ValorCustoUnitario"].ToString(); float valorCustoUnitario = float.Parse(e.NewValues["ValorCustoUnitario"].ToString()); float valorVendaUnitario = float.Parse(e.NewValues["ValorVendaUnitario"].ToString()); ENEstoque estoqueCriteria = (new BUEstoque()).GetProdutosByIdFromEstoque(idProdutoEstoque); if (estoqueCriteria != null) { estoqueCriteria.Entrada = dtEntrada; estoqueCriteria.QuantidadeEntrada += quantidadeEntrada; estoqueCriteria.ValorCustoUnitario = valorCustoUnitario; estoqueCriteria.ValorVendaUnitario = valorVendaUnitario; estoqueCriteria.ValorTotalCusto = estoqueCriteria.QuantidadeEntrada * valorCustoUnitario; estoqueCriteria.ValorTotalVenda = estoqueCriteria.QuantidadeEntrada * valorVendaUnitario; (new BUEstoque()).UpdateProdutoFromEstoque(estoqueCriteria); gdvEstoque.DataBind(); gdvEstoque.CancelEdit(); } else { //Cria o produto no estoque caso ele não exista. ENEstoque estoque = new ENEstoque(); estoque.IdProduto = idProdutoEstoque; estoque.Entrada = dtEntrada; estoque.QuantidadeEntrada = quantidadeEntrada; estoque.ValorCustoUnitario = valorCustoUnitario; estoque.ValorVendaUnitario = valorVendaUnitario; estoque.ValorTotalCusto = quantidadeEntrada * valorCustoUnitario; estoque.ValorTotalVenda = quantidadeEntrada * float.Parse(valorVendaUnitario.ToString("N2")); (new BUEstoque()).AddProdutoOnEstoque(estoque); gdvEstoque.DataBind(); gdvEstoque.CancelEdit(); } }
/// <summary> /// Atualiza uma Produto no Estoque /// </summary> /// <param name="Obj">ENEstoque Obj</param> public void UpdateProdutoFromEstoque(ENEstoque Obj) { (new DAEstoque()).Update(Obj); }
/// <summary> /// Seleciona o Estoque de acordo com os parâmetros /// </summary> /// <param name="EspecificoR">int EspecificoR</param> /// <returns>Lista de Estoque</returns> public List<ENEstoque> Read(int EspecificoR, string idProduto, DateTime dtEntrada) { List<ENEstoque> _objs = new List<ENEstoque>(); SqlConnection _con = new SqlConnection(ConfigurationManager.ConnectionStrings["PipiConnection"].ConnectionString); SqlCommand _cmd = new SqlCommand("sprEstoqueCRUD", _con); _cmd.CommandType = CommandType.StoredProcedure; _cmd.Parameters.AddWithValue("@sprstrOperacao", "R"); _cmd.Parameters.AddWithValue("@sprintEspecificoR", EspecificoR); _cmd.Parameters.AddWithValue("@sprintIdProduto", idProduto); _cmd.Parameters.AddWithValue("@sprdteEntrada", dtEntrada); _cmd.Parameters.AddWithValue("@sprintQuantidadeEntrada", 0); _cmd.Parameters.AddWithValue("@sprintQuantidadeVendida", 0); _cmd.Parameters.AddWithValue("@sprfltValorCustoUnitario", 0); _cmd.Parameters.AddWithValue("@sprfltValorVendaUnitario", 0); _cmd.Parameters.AddWithValue("@sprfltValorTotalCusto", 0); _cmd.Parameters.AddWithValue("@sprfltValorTotalVenda", 0); _con.Open(); SqlDataReader rd = _cmd.ExecuteReader(CommandBehavior.CloseConnection); try { while (rd.Read()) { ENEstoque NewObj = new ENEstoque(); NewObj.IdProduto = rd[0].ToString(); NewObj.Entrada = Convert.ToDateTime(rd[1].ToString()); NewObj.QuantidadeEntrada = Convert.ToInt32(rd[2].ToString()); NewObj.QuantidadeVendida = Convert.ToInt32(rd[3].ToString()); NewObj.ValorCustoUnitario = float.Parse(rd[4].ToString()); NewObj.ValorVendaUnitario = float.Parse(rd[5].ToString()); NewObj.ValorTotalCusto = float.Parse(rd[6].ToString()); NewObj.ValorTotalVenda = float.Parse(rd[7].ToString()); _objs.Add(NewObj); } } catch (Exception ex) { throw ex; } finally { rd.Close(); } return _objs; }