コード例 #1
0
        private void SwitchBtn_Click(object sender, EventArgs e)
        {
            string Frominventoryname   = FromInventoryCBox.SelectedItem.ToString();
            int    FromInventoryid     = db.Inventories.FirstOrDefault(a => a.Name == Frominventoryname).ID;
            string Targetinventoryname = TocomboBox1.SelectedItem.ToString();
            int    TargetInventoryid   = db.Inventories.FirstOrDefault(a => a.Name == Targetinventoryname).ID;
            string SEdate   = dateTimePicker3.Value.ToString("yyyy-MM-dd");
            string Spdate   = dateTimePicker2.Value.ToString("yyyy-MM-dd");
            string supplier = SuppliercomboBox.SelectedItem.ToString();
            int    SID      = db.Customer_Suppliers.FirstOrDefault(a => a.Name == supplier).ID;

            //list  of int
            //var ListOfPermissions = db.Permissions.Where(a => a.Inventory_ID == FromInventoryid).Select(a => a.P_Number).ToList();
            //List<int?> TotalQntyInInv = new List<int?>();

            //foreach (var item in ListOfPermissions)
            //{
            //    var query = db.Permission_Products.FirstOrDefault(p => p.P_Number == item && p.P_Code == products[0] && p.Supplier_ID == SID && p.ProductionDate == Spdate && p.ExperationDate == SEdate).Quantity;
            //    TotalQntyInInv.Add(query);
            //}
            //int? totalQnty = 0;
            //foreach (var item in TotalQntyInInv)
            //{
            //    totalQnty += item;
            //}
            //MessageBox.Show("The Totla Qnty Of This Product In this Invetory is = " + totalQnty);

            //7an mw3d el na2l
            //decrease el kmya from
            //ans add new permisiion to (done)
            //add in transfere table  (done)

            int       qntytomove = (int)numericUpDowns[0].Value;
            Transfere transfere  = new Transfere();

            transfere.id            = 0;
            transfere.FromInventory = FromInventoryid;
            transfere.ToInventory   = TargetInventoryid;
            transfere.P_Code        = products[0];
            transfere.TransfereDate = DateTime.Now.ToString("yyyy-MM-dd");
            transfere.PDate         = Spdate;
            transfere.EDate         = SEdate;
            transfere.Qnty          = qntytomove;
            transfere.supplierid    = SID;
            db.Transferes.Add(transfere);
            db.SaveChanges();
            Permission permission = new Permission();

            permission.P_Number     = 0;
            permission.P_Date       = DateTime.Now;
            permission.Inventory_ID = TargetInventoryid;
            permission.Type         = "Supply";
            Permission_Products permission_Products = new Permission_Products();

            permission_Products.P_Code         = products[0];
            permission_Products.Quantity       = qntytomove;
            permission_Products.Supplier_ID    = SID;
            permission_Products.ProductionDate = Spdate;
            permission_Products.ExperationDate = Spdate;
            permission.Permission_Products.Add(permission_Products);
            db.Permissions.Add(permission);
            db.SaveChanges();
            bool   flag  = false;
            string bcode = "";
            var    ListOfPermissions1 = db.Permissions.Where(a => a.Inventory_ID == FromInventoryid).Select(a => a.P_Number).ToList();

            foreach (var item in ListOfPermissions1)
            {
                bcode = products[0];
                Permission_Products OldPermissionproducts = db.Permission_Products.FirstOrDefault(p => p.P_Number == item && p.P_Code == bcode && p.Supplier_ID == SID && p.ProductionDate == Spdate && p.ExperationDate == SEdate);
                if (OldPermissionproducts.Quantity >= qntytomove)
                {
                    OldPermissionproducts.Quantity = OldPermissionproducts.Quantity - qntytomove;
                    flag = true;
                    break;
                }
                else
                {
                    flag = false;
                }
            }
            if (flag == false)
            {
                // MessageBox.Show("The qnty is less than the target");

                foreach (var item in ListOfPermissions1)
                {
                    Permission_Products OldPermissionproducts = db.Permission_Products.FirstOrDefault(p => p.P_Number == item && p.P_Code == products[0] && p.Supplier_ID == SID && p.ProductionDate == Spdate && p.ExperationDate == SEdate);
                    while (OldPermissionproducts.Quantity != 0 && qntytomove != 0)
                    {
                        OldPermissionproducts.Quantity--;
                        qntytomove--;
                    }
                }
            }

            db.SaveChanges();
        }
コード例 #2
0
        private void AddBtn_Click(object sender, EventArgs e)
        {
            string inventoryname = InventoryCBox.SelectedItem.ToString();

            string Type     = Typecbox.SelectedItem.ToString();
            string supplier = SuppliercomboBox.SelectedItem.ToString();
            string customer = SuppliercomboBox.SelectedItem.ToString();

            DateTime Date  = dateTimePicker1.Value;
            string   PDate = dateTimePicker2.Value.ToString("yyyy-MM-dd");
            string   EDate = dateTimePicker3.Value.ToString("yyyy-MM-dd");


            int Inventoryid = db.Inventories.FirstOrDefault(a => a.Name == inventoryname).ID;
            int SID         = db.Customer_Suppliers.FirstOrDefault(a => a.Name == supplier).ID;
            int CID         = db.Customer_Suppliers.FirstOrDefault(a => a.Name == customer).ID;

            Permission permission = new Permission();

            permission.P_Date       = Date;
            permission.Inventory_ID = Inventoryid;
            permission.Type         = Type;
            permission.P_Number     = 0;
            db.Permissions.Add(permission);
            db.SaveChanges();
            db.Entry(permission).GetDatabaseValues();
            int Pid = permission.P_Number;
            // MessageBox.Show(Pid.ToString());
            //Permission_Products permission_Products = new Permission_Products();
            //permission_Products.Supplier_ID = SID;
            //if(Type== "Supply")
            //{
            //    permission_Products.ProductionDate = PDate;
            //    permission_Products.ExperationDate = EDate;
            //}



            DateTime   ConvertPDate = DateTime.ParseExact(PDate, "yyyy-MM-dd", null);
            DateTime   ConvertEDate = DateTime.ParseExact(EDate, "yyyy-MM-dd", null);
            List <int> Qnty         = new List <int>();

            foreach (var item in numericUpDowns)
            {
                int x = (int)item.Value;
                Qnty.Add(x);
            }
            for (int i = 0; i < products.Count; i++)
            {
                Permission_Products permission_Products = new Permission_Products();
                permission_Products.P_Number = Pid;
                permission_Products.P_Code   = products[i];
                // permission_Products.Supplier_ID = SID;
                permission_Products.Quantity = Qnty[i];

                if (Type == "Supply")
                {
                    permission_Products.Supplier_ID = SID;

                    permission_Products.ProductionDate = PDate;
                    permission_Products.ExperationDate = EDate;
                }
                else
                {
                    permission_Products.Supplier_ID    = CID;
                    permission_Products.ProductionDate = null;
                    permission_Products.ExperationDate = null;
                }
                db.Permission_Products.Add(permission_Products);
            }



            db.SaveChanges();

            var Q4 = db.Permissions.Select(p => new { p.P_Number, p.P_Date, p.Inventory_ID, p.Type });

            PermissinGrid.DataSource = Q4.ToList();
        }