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)); }
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)); }