コード例 #1
0
        public override Model.Rezervacije Insert(RezervacijeUpsertRequest request)
        {
            var entity = _mapper.Map <Database.Rezervacije>(request);

            _context.Rezervacije.Add(entity);
            _context.SaveChanges();

            foreach (var oprema in request.Oprema)
            {
                if (oprema != 0)
                {
                    Database.DodatnaOprema dodatnaOprema = new Database.DodatnaOprema
                    {
                        RezervacijaId = entity.RezervacijaId,
                        OpremaId      = oprema,
                        Datum         = DateTime.Now
                    };
                    _context.DodatnaOprema.Add(dodatnaOprema);
                }
            }
            _context.SaveChanges();
            //-------------------------------
            GenerisiRacun(entity.RezervacijaId);
            //-------------------------------
            return(_mapper.Map <Model.Rezervacije>(entity));
        }
コード例 #2
0
        public override Model.Rezervacije Update(int id, RezervacijeUpsertRequest request)
        {
            var entity = _context.Rezervacije.Find(id);

            _context.Rezervacije.Attach(entity);
            _context.Rezervacije.Update(entity);
            //------------------------------------------
            var listDodatnaOprema = _context.DodatnaOprema.Where(x => x.RezervacijaId == id).ToList();

            foreach (var item in listDodatnaOprema)
            {
                _context.DodatnaOprema.Remove(item);
            }
            _context.SaveChanges();


            foreach (var oprema in request.Oprema)
            {
                if (oprema != 0)
                {
                    Database.DodatnaOprema dodatnaOprema = new Database.DodatnaOprema
                    {
                        RezervacijaId = entity.RezervacijaId,
                        OpremaId      = oprema,
                        Datum         = DateTime.Now
                    };
                    _context.DodatnaOprema.Add(dodatnaOprema);
                }
            }
            _context.SaveChanges();
            //------------------------------------------
            _mapper.Map(request, entity);
            _context.SaveChanges();
            //------------------------------------------
            var racun = _context.Racuni.Where(x => x.RezervacijaId == entity.RezervacijaId && x.Status == true).FirstOrDefault();

            if (racun != null)
            {
                racun.Status = false;
                //_context.Racuni.Remove(racun);
                _context.SaveChanges();
            }

            if (entity.Status)//ako je rezervacija aktivna napravi racun, ako nije samo prethodni obori na false
            {
                GenerisiRacun(entity.RezervacijaId);
            }
            //------------------------------------------racuni

            return(_mapper.Map <Model.Rezervacije>(entity));
        }