private void NodeAmountChanged(dynamic node) { StockMovementNode m_Actual = this.StockMovement.Nodes.Where(q => q.ItemID == node.ItemID).FirstOrDefault(); if (m_Actual != null) { m_Actual.Amount = node.Amount; m_Actual.BasePrice = node.BasePrice; } this.PopulateListView(); }
private void Edit_Button_Click(object sender, EventArgs e) { if (this.Buy_Items_List.SelectedItems.Count > 0) { int m_ItemID = Convert.ToInt32(this.Buy_Items_List.SelectedItems[0].Tag); StockMovementNode m_Node = this.StockMovement.Nodes.Where(q => q.ItemID == m_ItemID).FirstOrDefault(); Node_Set_Amount_Gumpling m_Gumpling = new Node_Set_Amount_Gumpling(); m_Gumpling.Node = m_Node; m_Gumpling.NodeAmountChanged += NodeAmountChanged; m_Gumpling.ShowDialog(); } }
private void Buy_Items_Pop_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Multiply) { if (this.StockMovement.Nodes.Count > 0) { StockMovementNode m_Node = this.StockMovement.Nodes.LastOrDefault(); Node_Set_Amount_Gumpling m_Gumpling = new Node_Set_Amount_Gumpling(); m_Gumpling.Node = m_Node; m_Gumpling.NodeAmountChanged += NodeAmountChanged; m_Gumpling.ShowDialog(); } } }
private void Delete_Button_Click(object sender, EventArgs e) { if (this.Buy_Items_List.SelectedItems.Count > 0) { int m_ItemID = Convert.ToInt32(this.Buy_Items_List.SelectedItems[0].Tag); StockMovementNode m_Node = this.StockMovement.Nodes.Where(q => q.ItemID == m_ItemID).FirstOrDefault(); if (m_Node != null) { this.StockMovement.Nodes.Remove(m_Node); PopulateListView(); } } }
private void EventSink_BarcodeScanned(object sender, BarcodeScannedEventArgs args) { if (args.Barcode != null) { using (MuhasebeEntities m_Context = new MuhasebeEntities()) { var m_Item = m_Context.Items.Where(q => q.Product.Barcode == args.Barcode).FirstOrDefault(); if (m_Item != null) { StockMovementNode m_Node = new StockMovementNode(); m_Node.ItemID = m_Item.ID; m_Node.StockMovementID = this.StockMovement.ID; m_Node.Amount = 1.00M; m_Node.BasePrice = m_Item.BasePrice; if (this.StockMovement.Nodes.Any(q => q.ItemID == m_Node.ItemID)) { this.StockMovement.Nodes.Where(q => q.ItemID == m_Node.ItemID).FirstOrDefault().Amount += 1.00M; } else { this.StockMovement.Nodes.Add(m_Node); } this.Buy_Items_List.Focus(); } else { Add_Item_Pop m_Pop = new Add_Item_Pop(args.Barcode); m_Pop.ShowDialog(); } } PopulateListView(); } }
private void Node_Set_Amount_Gumpling_Load(object sender, EventArgs e) { if (this.Node == null) { this.Close(); } if (this.Node is InvoiceNode) { InvoiceNode m_Temp = this.Node as InvoiceNode; if (m_Temp.Item != null) { this.Name_Label.Text = m_Temp.Item.Product.Name; } else { this.Name_Label.Text = m_Temp.Description; } this.Amount_Num.Value = m_Temp.Amount.Value; this.UnitPrice_Num.Value = m_Temp.BasePrice.Value; } else if (this.Node is StockMovementNode) { StockMovementNode m_Temp = this.Node as StockMovementNode; this.Name_Label.Text = m_Temp.Item.Product.Name; this.Amount_Num.Value = m_Temp.Amount; this.UnitPrice_Num.Value = m_Temp.BasePrice.Value; } else if (this.Node is OfferNode) { OfferNode m_Temp = this.Node as OfferNode; this.Name_Label.Text = m_Temp.Item.Product.Name; this.Amount_Num.Value = m_Temp.Amount; this.UnitPrice_Num.Value = m_Temp.BasePrice; this.Description_Box.Text = m_Temp.Description; this.Description_Label.Visible = true; this.Description_Box.Visible = true; } if (this.Node.Item != null) { this.Amount_Num.DecimalPlaces = this.Node.Item.UnitType.DecimalPlaces; if (this.Amount_Num.DecimalPlaces == 0) { this.Amount_Num.Minimum = 1m; } else if (this.Amount_Num.DecimalPlaces == 2) { this.Amount_Num.Minimum = 0.01m; } else if (this.Amount_Num.DecimalPlaces == 4) { this.Amount_Num.Minimum = 0.0001m; } this.UnitPrice_Num.Minimum = 0.01m; } this.Amount_Num.Focus(); this.Amount_Num.Select(0, this.Amount_Num.Value.ToString().Length); }
private void Save_Button_Click(object sender, EventArgs e) { if (this.StockMovement.Nodes == null || this.StockMovement.Nodes.Count <= 0) { MessageBox.Show("Ürün alımı için en az bir adet ürünü listeye eklemelisiniz.", "Hata"); return; } int m_AccountID = Convert.ToInt32(this.Account_Box.SelectedValue); using (MuhasebeEntities m_Context = new MuhasebeEntities()) { Account m_Account = m_Context.Accounts.Where(q => q.ID == m_AccountID).FirstOrDefault(); StockMovement m_Actual = m_Context.StockMovements.Where(q => q.ID == this.StockMovement.ID).FirstOrDefault(); if (m_Account != null) { var m_Added = this.StockMovement.Nodes.Except(m_Actual.Nodes, (p, p1) => p.ItemID == p1.ItemID).ToList(); var m_Deleted = m_Actual.Nodes.Except(this.StockMovement.Nodes, (p, p1) => p.ItemID == p1.ItemID).ToList(); var m_Changed = this.StockMovement.Nodes.Intersect(m_Actual.Nodes, (p, p1) => p.ItemID == p1.ItemID && (p.Amount != p1.Amount || p.BasePrice != p1.BasePrice)).ToList(); m_Actual.AccountID = m_Account.ID; m_Actual.CreatedAt = CreatedAt_Picker.Value; m_Actual.AuthorID = Program.User.ID; m_Actual.OwnerID = Program.User.WorksAtID.Value; m_Actual.PaymentTypeID = Convert.ToInt32(this.PaymentType_Combo.SelectedValue); m_Deleted.All(delegate(StockMovementNode m_Node) { if (Decrese_Stock_Check.Checked) { m_Context.Items.Where(q => q.ID == m_Node.ItemID).FirstOrDefault().Amount -= m_Node.Amount; } StockMovementNode m_ToDelete = m_Actual.Nodes.Where(q => q.ID == m_Node.ID).FirstOrDefault(); m_Actual.Nodes.Remove(m_ToDelete); m_Context.Entry(m_ToDelete).State = System.Data.Entity.EntityState.Deleted; return(true); }); m_Added.All(delegate(StockMovementNode m_Node) { if (Increase_Stock_Check.Checked) { m_Context.Items.Where(q => q.ID == m_Node.ItemID).FirstOrDefault().Amount += m_Node.Amount; } m_Actual.Nodes.Add(m_Node); return(true); }); m_Changed.All(delegate(StockMovementNode m_Node) { //actual node StockMovementNode m_Anode = m_Actual.Nodes.Where(q => q.ID == m_Node.ID).FirstOrDefault(); if (m_Node.Amount > m_Anode.Amount && Increase_Stock_Check.Checked) { m_Context.Items.Where(q => q.ID == m_Anode.ItemID).FirstOrDefault().Amount += m_Node.Amount - m_Anode.Amount; } else if (m_Node.Amount < m_Anode.Amount && Decrese_Stock_Check.Checked) { m_Context.Items.Where(q => q.ID == m_Anode.ItemID).FirstOrDefault().Amount -= m_Anode.Amount - m_Node.Amount; } m_Anode.Amount = m_Node.Amount; m_Anode.BasePrice = m_Node.BasePrice; return(true); }); m_Actual.Nodes.All(delegate(StockMovementNode m_Node) { m_Node.Parent = m_Actual; m_Node.FinalPrice = m_Node.BasePrice * m_Node.Amount; return(true); }); m_Actual.Summary = m_Actual.Nodes.Sum(q => q.FinalPrice.Value); if (this.StockMovement.Discount.HasValue) { m_Actual.Discount = this.StockMovement.Discount.Value; m_Actual.Summary -= m_Actual.Discount.Value; } m_Context.SaveChanges(); AccountMovement movement = m_Context.AccountMovements.Where(q => q.MovementTypeID == 3 && q.ContractID == m_Actual.ID).FirstOrDefault(); if (movement != null) { movement.Value = m_Actual.Summary; } if (m_Actual.PaymentTypeID != 3) //Vadeli olmadığında, gideri doğrultalım { Expenditure m_Expenditure = m_Context.Expenditures.Where(q => q.AccountID == movement.AccountID && q.MovementID == movement.ID).FirstOrDefault(); if (m_Expenditure != null) { m_Expenditure.Amount = m_Actual.Summary; } } m_Context.SaveChanges(); this.Close(); } else { MessageBox.Show("Bu mal alımı için bir cari hesap belirtmelisiniz.", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }