public void Pedido() { if (Id <= 0) { return; } var itens = new Model.PedidoItem().FindAll().Where("pedido", Id).WhereFalse("excluir").Get(); foreach (var data in itens) { var item = GetItem(data.ITEM); Amount = Validation.ConvertToDouble(data.QUANTIDADE); _mItemEstoque.SetUsuario(User).SetQuantidade(Amount).SetTipo(Action).SetLocal(Local).SetObs(Obs) .SetIdPedido(Id).SetItem(item).Save(_mItemEstoque); if (data.ATRIBUTO == "0") { continue; } string attrId = data.ATRIBUTO; var upEstoque = new ItemEstoque().FindAll().Where("id", attrId).FirstOrDefault <ItemEstoque>(); if (upEstoque == null) { continue; } switch (Action) { case "A": { upEstoque.Estoque += Amount; if (Local != "Compras" || Local != "Devoluções") { upEstoque.Vendido -= Validation.ConvertToInt32(data.QUANTIDADE); } break; } case "R": { upEstoque.Estoque -= Amount; if (Local != "Remessas" || Local != "Compras" || Local != "Devoluções") { upEstoque.Vendido += Validation.ConvertToInt32(data.QUANTIDADE); } if (Local == "Devoluções") { upEstoque.Vendido -= Validation.ConvertToInt32(data.QUANTIDADE); } break; } } upEstoque.Save(upEstoque); } }
public void Item() { if (Id <= 0) { return; } var pedidoItem = GetPedidoItem(Id); var item = GetItem(pedidoItem.Item); Amount = Validation.ConvertToDouble(pedidoItem.Quantidade); _mItemEstoque.SetUsuario(User).SetQuantidade(Amount).SetTipo(Action).SetLocal(Local).SetObs(Obs) .SetIdPedido(pedidoItem.Pedido).SetItem(item).Save(_mItemEstoque); var upEstoque = new ItemEstoque().FindAll().Where("id", pedidoItem.Atributo).FirstOrDefault <ItemEstoque>(); if (upEstoque == null) { return; } switch (Action) { case "A": { upEstoque.Estoque += Amount; if (Local != "Compras" && Local != "Devoluções") { upEstoque.Vendido -= Validation.ConvertToInt32(pedidoItem.Quantidade); } break; } case "R": { upEstoque.Estoque -= Amount; if (Local != "Remessas" && Local != "Compras" && Local != "Devoluções") { upEstoque.Vendido += Validation.ConvertToInt32(pedidoItem.Quantidade); } if (Local == "Devoluções") { upEstoque.Vendido -= Validation.ConvertToInt32(pedidoItem.Quantidade); } break; } } upEstoque.Save(upEstoque); }
private void Eventos() { KeyDown += KeyDowns; txtGrupos.KeyDown += KeyDowns; KeyPreview = true; Masks.SetToUpper(this); Load += (s, e) => { ToolHelp.Show( "Com essa opção marcada é possível que o sistema dê uma travada para gerar\ncada código de barras diferente um do outro.", pictureBox4, ToolHelp.ToolTipIcon.Info, "Ajuda!"); }; Shown += (s, e) => { Refresh(); _mItem = _mItem.FindById(idProduto).FirstOrDefault <Item>(); AutoCompleteGrupos(); SetHeadersTable(dataGridVariacao); LoadDataGrid(); txtGrupos.Focus(); }; btnAddGrupo.Click += (s, e) => { AddCombination(); }; btnClearCombinacao.Click += (s, e) => { ClearEstoque(); txtBuscarVariacao.Text = ""; btnClearCombinacao.Visible = false; btnGerar.Visible = true; }; btnGerar.Click += (sender, e) => { if (string.IsNullOrEmpty(txtBuscarVariacao.Text)) { Alert.Message("Opps", "Escolhe pelo menos um grupo de variação.", Alert.AlertType.error); return; } if (dataGridVariacao.Rows.Count > 0) { var generateAlert = AlertOptions.Message("Atenção", "Ao gerar novas combinações, você irá perder a atual!\n Continuar?", AlertBig.AlertType.info, AlertBig.AlertBtn.YesNo); if (!generateAlert) { return; } dataGridVariacao.Rows.Clear(); } var attr1Name = new List <string>(); var attr2Name = new List <string>(); var attr3Name = new List <string>(); var attr1Id = new List <string>(); var attr2Id = new List <string>(); var attr3Id = new List <string>(); var grupos = txtBuscarVariacao.Text.Split('+'); var i_attrs = 0; foreach (var word in grupos) { i_attrs++; var grupo = new ItemGrupo().FindAll().WhereFalse("excluir").Where("title", word) .FirstOrDefault <ItemGrupo>(); if (grupo == null) { continue; } var attr = new ItemAtributos().FindAll().WhereFalse("excluir").Where("grupo", grupo.Id) .Get <ItemAtributos>(); foreach (var data in attr) { switch (i_attrs) { case 1: attr1Name.Add($"{data.Atributo}"); attr1Id.Add($"{data.Id}"); break; case 2: attr2Name.Add($" - {data.Atributo}"); attr2Id.Add($", {data.Id}"); break; case 3: attr3Name.Add($" - {data.Atributo}"); attr3Id.Add($", {data.Id}"); break; } } } var lstMaster = new List <List <string> >(); if (attr1Id.Count > 0) { lstMaster.Add(attr1Id); } if (attr2Id.Count > 0) { lstMaster.Add(attr2Id); } if (attr3Id.Count > 0) { lstMaster.Add(attr3Id); } var lstMasterNames = new List <List <string> >(); if (attr1Name.Count > 0) { lstMasterNames.Add(attr1Name); } if (attr2Name.Count > 0) { lstMasterNames.Add(attr2Name); } if (attr3Name.Count > 0) { lstMasterNames.Add(attr3Name); } var ids = GetPermutation(lstMaster.Count, lstMaster); var names = GetPermutation(lstMasterNames.Count, lstMasterNames); if (ids.Count != names.Count) { return; } for (var u = 0; u < ids.Count; u++) { var codeBarras = ""; if (checkCodeBarras.Checked) { codeBarras = CodeBarrasRandom(); } dataGridVariacao.Rows.Add( false, ids[u], names[u], 0, "", codeBarras ); } dataGridVariacao.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; }; btnSalvar.Click += (s, e) => { if (dataGridVariacao.Rows.Count <= 0) { return; } var item = new Item().FindById(idProduto).WhereFalse("excluir").FirstOrDefault <Item>(); if (item != null) { item.Atributos = txtBuscarVariacao.Text; item.Save(item); } foreach (DataGridViewRow row in dataGridVariacao.Rows) { // Apaga o registro se estoque for 0 e se existir no banco if (Validation.ConvertToDouble(row.Cells["Estoque"].Value) == 0) { if (row.Cells["IDAttr"].Value != null && !string.IsNullOrEmpty(row.Cells["IDAttr"].Value.ToString())) { new ItemEstoque().Remove(Validation.ConvertToInt32(row.Cells["IDAttr"].Value)); continue; } } // Se a coluna for diferente de 0 ou diferente de vazio, inclui a linha no banco! if (!(Validation.ConvertToDouble(row.Cells["Estoque"].Value) > 0)) { continue; } string codeBarras; if (checkCodeBarras.Checked && string.IsNullOrEmpty(row.Cells["Código de Barras"].Value.ToString())) { codeBarras = CodeBarrasRandom(); } else { codeBarras = row.Cells["Código de Barras"].Value.ToString(); } // Se a coluna IDAttr não estiver vazio, atualiza o registro if (row.Cells["IDAttr"].Value != null && !string.IsNullOrEmpty(row.Cells["IDAttr"].Value.ToString())) { var updateEstoque = new ItemEstoque() .FindById(Validation.ConvertToInt32(row.Cells["IDAttr"].Value)) .FirstOrDefault <ItemEstoque>(); updateEstoque.Item = idProduto; updateEstoque.Referencia = row.Cells["Referencia"].Value.ToString(); updateEstoque.Codebarras = codeBarras; updateEstoque.Atributo = row.Cells["ID"].Value.ToString(); updateEstoque.Estoque = Validation.ConvertToDouble(row.Cells["Estoque"].Value); updateEstoque.Usuario = Settings.Default.user_id; updateEstoque.Title = row.Cells["Combinação"].Value.ToString(); updateEstoque.Save(updateEstoque); continue; } var estoque = new ItemEstoque { Item = idProduto, Referencia = row.Cells["Referencia"].Value.ToString(), Codebarras = codeBarras, Atributo = row.Cells["ID"].Value.ToString(), Estoque = Validation.ConvertToDouble(row.Cells["Estoque"].Value), Usuario = Settings.Default.user_id, Title = row.Cells["Combinação"].Value.ToString() }; estoque.Save(estoque); row.Cells["IDAttr"].Value = estoque.GetLastId(); } DialogResult = DialogResult.OK; Close(); }; btnClose.Click += (s, e) => Close(); }