public ActionResult Editace(int id)
        {
            RozpocetDao rozpocetDao = new RozpocetDao();
            Rozpocet    rozpocet    = rozpocetDao.GetById(id);

            return(View(rozpocet));
        }
        public ActionResult ZmenaRozpoctu(Rozpocet rozpocet)
        {
            if (Utils.ZvalidujCas(rozpocet.PlatnyOd, rozpocet.PlatnyDo))
            {
                RozpocetDao rozpocetDao   = new RozpocetDao();
                Rozpocet    staryRozpocet = rozpocetDao.GetById(rozpocet.Id);

                if (Utils.JeNovaVelikostDostacujici(staryRozpocet, rozpocet.Velikost))
                {
                    staryRozpocet.PlatnyOd = rozpocet.PlatnyOd;
                    staryRozpocet.PlatnyDo = Utils.addValidationTillMidnight(rozpocet.PlatnyDo);
                    staryRozpocet.Nazev    = rozpocet.Nazev;
                    staryRozpocet.Velikost = rozpocet.Velikost;

                    if (ModelState.IsValid)
                    {
                        rozpocetDao.Update(staryRozpocet);
                        Success("Rozpočet " + rozpocet.Nazev + " úspěšně upraven");
                    }
                }
                else
                {
                    Error("Nová velikost není pro již existující položky dostačující");
                }
            }
            else
            {
                TempData["error-message"] = "Platnost do musí být větší než platnost od";
                return(RedirectToAction("Editace", new { id = rozpocet.Id }));
            }

            return(RedirectToAction("Index"));
        }
        public ActionResult Odstranit(int id)
        {
            RozpocetDao rozpocetDao = new RozpocetDao();
            Rozpocet    rozpocet    = rozpocetDao.GetById(id);

            rozpocetDao.Delete(rozpocet);
            TempData["message-success"] = "Rozpocet byl uspesne odstranen";

            return(RedirectToAction("Index"));
        }
Exemple #4
0
        public static double SpocitejRozpocet(Rozpocet rozpocet)
        {
            double soucet = 0;

            foreach (var polozka in rozpocet.Polozky)
            {
                soucet += polozka.Cena;
            }

            return(soucet);
        }
Exemple #5
0
        public static bool JeNovaVelikostDostacujici(Rozpocet rozpocet, double novaVelikost)
        {
            double soucet = 0;

            if (rozpocet.Polozky != null && rozpocet.Polozky.Count != 0)
            {
                soucet = SpocitejRozpocet(rozpocet);
            }

            return(novaVelikost > soucet);
        }
        public IList <PolozkaRozpoctu> GetPolozkyForRozpocetPaged(Rozpocet rozpocet, int count, int page, out int totalItems)
        {
            totalItems = session.CreateCriteria <PolozkaRozpoctu>()
                         .Add(Restrictions.Eq("Rozpocet", rozpocet))
                         .SetProjection(Projections.RowCount()).UniqueResult <int>();

            return(session.CreateCriteria <PolozkaRozpoctu>()
                   .Add(Restrictions.Eq("Rozpocet", rozpocet))
                   .SetFirstResult((page - 1) * count).SetMaxResults(count)
                   .List <PolozkaRozpoctu>());
        }
Exemple #7
0
        public static double VypoctiPercentRozpoctu(Rozpocet rozpocet)
        {
            double max = rozpocet.Velikost;
            IList <PolozkaRozpoctu> polozky = rozpocet.Polozky;
            double soucet = 0;

            foreach (var polozka in polozky)
            {
                soucet += polozka.Cena;
            }

            return(Math.Ceiling((soucet / max) * 100));
        }
Exemple #8
0
        public static bool JeVRozpoctuVolno(Rozpocet rozpocet, double novaPolozka)
        {
            double soucet;

            if (rozpocet.Polozky == null || rozpocet.Polozky.Count == 0)
            {
                return(novaPolozka < rozpocet.Velikost);
            }
            else
            {
                soucet = SpocitejRozpocet(rozpocet);
            }

            return((soucet + novaPolozka) < rozpocet.Velikost);
        }
        public ActionResult Pridani(Rozpocet rozpocet)
        {
            rozpocet.Vlastnik = LoggedUser;
            rozpocet.PlatnyDo = Utils.addValidationTillMidnight(rozpocet.PlatnyDo);
            if (ModelState.IsValid)
            {
                if (Utils.ZvalidujCas(rozpocet.PlatnyOd, rozpocet.PlatnyDo))
                {
                    RozpocetDao rozpocetDao = new RozpocetDao();
                    rozpocetDao.Create(rozpocet);
                    TempData["message-success"] = "Rozpočet byl úspěšně přidán";
                }
                else
                {
                    TempData["error-message"] = "Platnost do musí být větší než platnost od";
                    return(RedirectToAction("VytvoreniRozpoctu"));
                }
            }

            return(RedirectToAction("Index"));
        }
Exemple #10
0
        public ActionResult Vytvorit(PolozkaRozpoctu polozka, int rozpocetId)
        {
            RozpocetDao rozpocetDao = new RozpocetDao();
            Rozpocet    rozpocet    = rozpocetDao.GetById(rozpocetId);

            if (rozpocet.Vlastnik.Login != LoggedUser.Login)
            {
                Error("Nejste vlastníkem rozpočtu");
                return(RedirectToAction("Detail", "Rozpocet", new { id = rozpocet.Id }));
            }

            polozka.Rozpocet = rozpocet;

            PolozkaRozpoctuDao polozkaRozpoctuDao = new PolozkaRozpoctuDao();

            if (Utils.JeRozpocetAktivni(rozpocet))
            {
                if (Utils.JeVRozpoctuVolno(rozpocet, polozka.Cena))
                {
                    if (ModelState.IsValid)
                    {
                        rozpocetDao.CloseSession();
                        polozkaRozpoctuDao.Create(polozka);
                        Success("Polozka uspesne pridana");
                    }
                }
                else
                {
                    rozpocetDao.CloseSession();
                    polozkaRozpoctuDao.Create(polozka);
                }
            }
            else
            {
                Error("Rozpočet je již ukončen");
            }


            return(RedirectToAction("Detail", "Rozpocet", new { id = rozpocet.Id }));
        }
        public ActionResult Detail(int id, int?strana, bool?admin)
        {
            RozpocetDao rozpocetDao = new RozpocetDao();
            Rozpocet    rozpocet    = rozpocetDao.GetById(id);

            ViewBag.Zaplnenost = Utils.VypoctiPercentRozpoctu(rozpocet);

            if (ViewBag.Zaplnenost > 100)
            {
                Error("Přesáhli jste stanovený rozpočet!");
            }

            int page = strana != null && strana.HasValue ? strana.Value : 1;
            int totalItems;

            PolozkaRozpoctuDao polozkaRozpoctuDao = new PolozkaRozpoctuDao();

            IList <PolozkaRozpoctu> polozky =
                polozkaRozpoctuDao.GetPolozkyForRozpocetPaged(rozpocet, ItemsOnPage, page, out totalItems);

            ViewBag.Pages       = (int)Math.Ceiling((double)totalItems / (double)ItemsOnPage);
            ViewBag.CurrentPage = page;

            ViewBag.Polozky    = polozky;
            ViewBag.rozpocetId = rozpocet.Id;
            double celkem = Utils.SpocitejRozpocet(rozpocet);

            ViewBag.Pouzito = rozpocet.Velikost - celkem;
            ViewBag.Celkem  = celkem;

            if (admin == true)
            {
                ViewBag.Admin = true;
            }

            return(View(rozpocet));
        }
Exemple #12
0
 public static bool JeRozpocetAktivni(Rozpocet rozpocet)
 {
     return(DateTime.Now > rozpocet.PlatnyOd && DateTime.Now < rozpocet.PlatnyDo);
 }