Ejemplo n.º 1
0
        public ActionResult Index(int id)
        {
            var doswiadczenieRecord = doswiadczenieRepository.Get(id);
            var pryzmaRecords       = pryzmaRepository.QueryByDoswiadczenieId(id).ToList();

            var viewModel = new PryzmaIndexViewModel
            {
                Doswiadczenie = doswiadczenieRecord,
                Pryzmy        = pryzmaRecords
            };

            return(View(viewModel));
        }
Ejemplo n.º 2
0
        private void CheckSameSkladniki(PryzmaRecord pryzmaRecord, SkladnikiViewModel viewModel)
        {
            var otherPryzma = pryzmaRepository
                              .QueryByDoswiadczenieId(pryzmaRecord.Doswiadczenie.Id)
                              .ToList()
                              .FirstOrDefault(p => p.Id != pryzmaRecord.Id);

            if (otherPryzma == null || !otherPryzma.Skladniki.Any())
            {
                return;
            }

            var skladniki = viewModel.Skladniki.Select(s => s.Skladnik).ToList();

            var skladnikiOther = skladnikRepository.QueryByPryzma(otherPryzma.Id)
                                 .Select(s => s.Skladnik)
                                 .ToList();

            if (skladniki.OrderBy(s => s).SequenceEqual(skladnikiOther.OrderBy(s => s)))
            {
                return;
            }

            Notifier.AddError(
                string.Format("Pryzma musi zawierać tylko takie same składniki jak poprzednio dodana pryzma, tj. {0}",
                              string.Join(", ", skladnikiOther.Select(s => s.ToDescription()))));
            ModelState.AddModelError(string.Empty, string.Empty);
        }