Пример #1
0
 public static int insertGearSizeItem(gear_size_items newGearSizeItem)
 {
     using (var db = new ExtremeAppContext())
     {
         db.gear_size_items.Add(newGearSizeItem);
         db.SaveChanges();
     }
     return(newGearSizeItem.gear_id);
 }
Пример #2
0
        public static Boolean updateGearSizeItem(gear_size_items gearSizeItemUpdated)
        {
            var result = false;

            using (var db = new ExtremeAppContext())
            {
                var oldGearSizeItem =
                    (from gsi in db.gear_size_items
                     where gsi.gear_id == gearSizeItemUpdated.gear_id
                     where gsi.gear_size_id == gearSizeItemUpdated.gear_size_id
                     select gsi).SingleOrDefault();
                if (oldGearSizeItem != null)
                {
                    oldGearSizeItem.quantity  = gearSizeItemUpdated.quantity;
                    oldGearSizeItem.available = gearSizeItemUpdated.quantity;
                    db.SaveChanges();
                    result = true;
                }
            }
            return(result);
        }
Пример #3
0
        private void btnAddGearConfirm_Click(object sender, EventArgs e)
        {
            //If gear has sizes new object is made for every item size

            //If gear already exists in database - just update quantity

            var validData = true;
            var exist     = false;

            String gn           = "";
            String desc         = "";
            var    gc           = new gear_category();
            var    gm           = new manufacturer();
            var    existingItem = new gear();


            if (cBoxGearName.SelectedIndex == -1)
            {
                if (string.IsNullOrEmpty(cBoxGearName.Text))
                {
                    lblGearNameError.Text = "*unijeti naziv opereme";
                    validData             = false;
                }
                else
                {
                    gn = cBoxGearName.Text.Trim();
                }
                if (cBoxGearCategory.SelectedIndex == -1)
                {
                    lblGearCategoryError.Text = "*unijeti kategoriju";
                    validData = false;
                }
                else
                {
                    gc = (gear_category)cBoxGearCategory.SelectedItem;
                }
                if (cBoxGearManufacturer.SelectedIndex == -1)
                {
                    lblGearManufacturerError.Text = "*izabrati proizvođača";
                    validData = false;
                }
                else
                {
                    gm = (manufacturer)cBoxGearManufacturer.SelectedItem;
                }
            }
            else
            {
                //User has selected existring gear item - change only quantity
                existingItem = (gear)cBoxGearName.SelectedItem;
                exist        = true;
            }

            if (validData)
            {
                if (checkBoxMultipleSizes.Enabled == true)
                {
                    //This category item have sizes

                    if (checkBoxMultipleSizes.Checked)
                    {
                        //Multiple sizes selected
                    }
                    else
                    {
                        //Only one size is selected
                        if (cBoxGearSize.SelectedIndex == -1)
                        {
                            lblGearSizeError.Text = "*izabrati veličinu";
                        }
                        else
                        {
                            if (!exist)
                            {
                                var gs = (gear_size)cBoxGearSize.SelectedItem;
                                var gq = Convert.ToInt32(nUpDownGearQuantity.Value);
                                desc = rTextBoxGearDescription.Text.Trim();

                                var newGear = new gear()
                                {
                                    gear_category_id = gc.gear_category_id,
                                    manufacturer_id  = gm.manufacturer_id,
                                    name             = gn,
                                    descritption     = desc
                                };
                                var insertedGearId = GearDAO.insert(newGear);

                                var newGearSizeItem = new gear_size_items()
                                {
                                    gear_id      = insertedGearId,
                                    gear_size_id = gs.gear_size_id,
                                    quantity     = gq,
                                    available    = gq
                                };
                                GearDAO.insertGearSizeItem(newGearSizeItem);
                            }
                            else
                            {
                                //Item already exists update it - if specific size doesn't exist create it
                                var gs            = (gear_size)cBoxGearSize.SelectedItem;
                                var gq            = Convert.ToInt32(nUpDownGearQuantity.Value);
                                var gearSizeItems = GearDAO.getAllSizesByGearId(existingItem.gear_id);

                                var updated = false;
                                foreach (var gsi in gearSizeItems)
                                {
                                    if (gsi.gear_size_id == gs.gear_size_id)
                                    {
                                        gsi.quantity  += gq;
                                        gsi.available += gq;
                                        updated        = GearDAO.updateGearSizeItem(gsi);
                                    }
                                }
                                if (!updated)
                                {
                                    //Create new size for item
                                    var newGearSizeItem = new gear_size_items()
                                    {
                                        gear_id      = existingItem.gear_id,
                                        gear_size_id = gs.gear_size_id,
                                        quantity     = gq,
                                        available    = gq
                                    };
                                    GearDAO.insertGearSizeItem(newGearSizeItem);
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                //This category items have no sizes
                var gq = Convert.ToInt32(nUpDownGearQuantity.Value);
            }
        }