public ActionResult Add(Subgroup model)
 {
     if (ModelState.IsValid)
     {
         try
         {
             subgroupRepository.AddObject(model);
             return RedirectToAction("Index");
         }
         catch (DbUpdateException ex)
         {
             throw new DbUpdateException("Wystąpił błąd podczas dodawania grupy. Podana nazwa istnieje w bazie. Proszę podać inną nazwę.", ex.InnerException);
         }
         catch (Exception ex)
         {
             throw new Exception("Wystąpił błąd podczas dodawania grupy. Proszę o kontakt z administratorem. Error message: " + ex.Message);
         }
     }
     else
     {
         if (Request.IsAjaxRequest())
         {
             return PartialView("Subgroup/_SubgroupAdd", model);
         }
         return View(model);
     }
 }
 public ActionResult Add()
 {
     Subgroup model = new Subgroup();
     if (Request.IsAjaxRequest())
     {
         return PartialView("Subgroup/_SubgroupAdd", model);
     }
     return View(model);
 }
        private void FixupSubgroup(Subgroup previousValue)
        {
            if (previousValue != null && previousValue.FixedAssets.Contains(this))
            {
                previousValue.FixedAssets.Remove(this);
            }

            if (Subgroup != null)
            {
                if (!Subgroup.FixedAssets.Contains(this))
                {
                    Subgroup.FixedAssets.Add(this);
                }
                if (id_subgroup != Subgroup.id)
                {
                    id_subgroup = Subgroup.id;
                }
            }
            else if (!_settingFK)
            {
                id_subgroup = null;
            }
        }
 public ActionResult Edit(Subgroup model)
 {
     if (ModelState.IsValid)
     {
         try
         {
             Subgroup subgroup = subgroupRepository.Repository.FirstOrDefault(x => x.id == model.id);
             subgroup.short_name = model.short_name;
             subgroup.name = model.name;
             subgroupRepository.EditObject(subgroup);
             return RedirectToAction("Index");
         }
         catch (DbUpdateException ex)
         {
             throw new DbUpdateException("Wystąpił błąd podczas edytowania grupy. Pole nazwa istnieje w bazie danych. Proszę podać inną nazwę.", ex.InnerException);
         }
         catch (Exception ex)
         {
             throw new Exception("Nie udało się edytować grupy. Proszę skontaktować się z administratorem. " + ex.InnerException);
         }
     }
     else
     {
         if (Request.IsAjaxRequest())
         {
             return PartialView("Subgroup/_SubgroupEdit", model);
         }
         return View(model);
     }
 }
        public ActionResult Delete(DeleteObjectById model)
        {
            try
            {
                Subgroup subgroup = new Subgroup() { id = model.Id };
                subgroupRepository.DeleteObject(subgroup);
                return RedirectToAction("Index");
            }
            catch (DbUpdateException ex)
            {
                throw new DbUpdateException("Wystąpił błąd podczas usuwania grupy. Aby usunąć rodzaj należy edytować środki trwałe tego typu.", ex.InnerException);
            }
            catch (Exception ex)
            {
                throw new Exception("Wystąpił błąd podczas usuwania grupy. Proszę skontaktować się z administratorem", ex.InnerException);

            }
        }