private void btnDelete_Click(object sender, EventArgs e) { if (dgvMain.SelectedRows.Count != 0) { if (dgvMain.SelectedRows.Count == 1) { if (DialogResult.Yes == MessageBox.Show("Вы действительно хотите удалить - " + dgvMain.SelectedRows[0].Cells["name"].Value.ToString() + "?", "Подтвержение", MessageBoxButtons.YesNo)) { EvotorAPI.DeleteProduct(dgvMain.SelectedRows[0].Cells["id"].Value.ToString()); EvotorProductV2 delProduct = (EvotorProductV2)dgvMain.SelectedRows[0].DataBoundItem; products.Remove(delProduct); dgvMain.DataSource = products; } } else { if (DialogResult.Yes == MessageBox.Show("Вы действительно хотите удалить " + dgvMain.SelectedRows.Count.ToString() + " шт. товара?", "Подтвержение", MessageBoxButtons.YesNo)) { foreach (DataGridViewRow dr in dgvMain.SelectedRows) { MessageBox.Show(dr.Cells["name"].ToString()); EvotorAPI.DeleteProduct(dr.Cells["id"].Value.ToString()); EvotorProductV2 delProduct = (EvotorProductV2)dgvMain.SelectedRows[0].DataBoundItem; products.Remove(delProduct); } dgvMain.DataSource = products; UpdateSearch(tbSearch.Text); } } } }
static public string CreateProduct(EvotorProductV2 product) { var path = ADDRESS + "stores/" + STORE_ID + "/products"; var request = WebRequest.Create(path); request.Headers["Authorization"] = TOKEN; request.Method = "POST"; request.ContentType = "application/vnd.evotor.v2+json"; string barcodes = JsonConvert.SerializeObject(product.barcodes); string js = "{\"code\":\"" + product.code + "\",\"name\":\"" + product.name + "\",\"allow_to_sell\":true," + "\"type\":\"NORMAL\",\"quantity\":" + product.quantity + ",\"measure_name\":\"шт\",\"tax\":\"NO_VAT\",\"price\":" + product.price + ",\"cost_price\":" + product.cost_price + ",\"description\":\"" + product.description + "\"" + ",\"article_number\":\"" + product.article_number + "\",\"barcodes\":" + barcodes + ((product.parent_id == String.Empty) ? "" : (",\"parent_id\":\"" + product.parent_id + "\"")); js += "}"; using (var streamWriter = new StreamWriter(request.GetRequestStream())) { streamWriter.Write(js); } string json = String.Empty; HttpWebResponse response = request.GetResponse() as HttpWebResponse; using (Stream responseStream = response.GetResponseStream()) { StreamReader reader = new StreamReader(responseStream, Encoding.UTF8); json += reader.ReadToEnd(); } StatusTask status = JsonConvert.DeserializeObject <StatusTask>(json); return(status.id); }
public CreateProduct(EvotorProductV2 product) { InitializeComponent(); this.productEdit = product; btnChooseGroup.Tag = ""; if (product != null) { tbName.Text = product.name; tbDesc.Text = product.description; tbArticle.Text = product.article_number; tbCode.Text = product.code; nudPrice.Value = (decimal)product.price; nudCost.Value = (decimal)product.cost_price; nudCount.Value = (decimal)product.quantity; if (product.parent_id != null && product.parent_id != String.Empty) { btnChooseGroup.Tag = product.parent_id; btnChooseGroup.Text = Main.groups.Find(x => x.id == btnChooseGroup.Tag.ToString()).name; } if (product.barcodes != null) { lbBarcodes.Items.AddRange(product.barcodes); } btnCreate.Text = "Сохранить изменения"; } }
public void CreateProductAsync(EvotorProductV2 prod) { try { prod.id = EvotorAPI.CreateProduct(prod); Main.products.Add(prod); } catch (Exception ex) { MessageBox.Show("Не удалось добавить продукт. Проверьте интернет-соединение"); } }
private void btnEdit_Click(object sender, EventArgs e) { if (dgvMain.SelectedRows.Count != 0) { if (dgvMain.SelectedRows.Count == 1) { string id = dgvMain.Rows[dgvMain.SelectedRows[0].Index].Cells["id"].Value.ToString(); EvotorProductV2 editProduct = products.Where(x => x.id == id).First(); CreateProduct f = new CreateProduct(editProduct); if (f.ShowDialog() == DialogResult.OK) { UpdateSearch(tbSearch.Text); } } else { MessageBox.Show("Для редактирования выберите ТОЛЬКО ОДИН товар"); } } }
private void btnCreate_Click(object sender, EventArgs e) { if (productEdit != null) { productEdit = new EvotorProductV2(productEdit.id, tbName.Text, tbCode.Text, tbArticle.Text, tbDesc.Text, (float)nudPrice.Value, (float)nudCost.Value, (float)nudCount.Value, lbBarcodes.Items.OfType <string>().ToArray(), (btnChooseGroup.Tag == null)?null: btnChooseGroup.Tag.ToString()); UpdateProductAsync(productEdit); Main.products.Remove(Main.products.Find(x => x.id == productEdit.id)); Main.products.Add(productEdit); } else { bool isExist = Main.products.Find(x => x.code == tbCode.Text.ToString()) != null; if (isExist) { MessageBox.Show("Товар с данным кодом уже существует в базе"); this.DialogResult = DialogResult.None; } else { productEdit = new EvotorProductV2("", tbName.Text, tbCode.Text, tbArticle.Text, tbDesc.Text, (float)nudPrice.Value, (float)nudCost.Value, (float)nudCount.Value, lbBarcodes.Items.OfType <string>().ToArray(), (btnChooseGroup.Tag == null) ? null : btnChooseGroup.Tag.ToString()); CreateProductAsync(productEdit); } } }
public async void UpdateProductAsync(EvotorProductV2 prod) { string id = prod.id; await Task.Run(() => EvotorAPI.UpdateProduct(prod)); }