public ActionResult Create2() { NarudzbaVM narudzba = (NarudzbaVM)TempData["nar"]; ViewBag.idVrijeme = new SelectList(narudzba.Vremena, "Id", "Prikaz"); return(View(narudzba)); }
public NarudzbaVM Update(NarudzbaVM request, int id) { request.Dostava = null; request.Korisnik = null; request.Zaposlenik = null; var temp = _db.Narudzba.Find(id) ?? throw new ServerException(Constants.NotFoundErrorMessage + id); _mapper.Map(request, temp); _db.Narudzba.Update(temp); _db.SaveChanges(); return(request); }
public NarudzbaVM Insert(NarudzbaVM request) { request.Dostava = null; request.Korisnik = null; request.Zaposlenik = null; var temp = _mapper.Map <Database.Narudzba>(request); var test = _db.Narudzba.Add(temp); _db.SaveChanges(); request.NarudzbaId = test.Entity.NarudzbaId; return(request); }
public ActionResult Dodaj(NarudzbaVM narudzba) { Narudzba n = new Narudzba(); mc.Narudzbe.Add(n); n.KorisnikId = narudzba.KorisnikId; n.UkupanIznos = narudzba.UkupanIznos; n.DatumNarudzbe = DateTime.Now; n.BrojNarudzbe = DateTime.Now.Millisecond.ToString() + "-FDF" + DateTime.Now.ToOADate(); try { mc.SaveChanges(); } catch { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } for (int i = 0; i < narudzba.Stavke.Count; i++) { mc.StavkeNaruzbe.Add(new StavkeNarudzbe { NaruzbaId = n.Id, ProizvodId = narudzba.Stavke[i].ProizvodId }); try { mc.SaveChanges(); } catch { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } } return(new HttpStatusCodeResult(HttpStatusCode.OK)); }
// GET: Narudzbas/Create public ActionResult Create() { var narudzba = new NarudzbaVM { IdSalon = AktivniSalon.IdAktivniSalon, Datum = DateTime.Today }; var usluge = narudzbaRepository.GetSalonUsluga().Where(x => x.Salon.IdSalon == AktivniSalon.IdAktivniSalon) .Select(x => new UslugaVM() { Idusluga = x.Usluga.Idusluga, Naziv = x.Usluga.Naziv }).ToList(); ViewBag.idUsluga = new SelectList(usluge, "Idusluga", "Naziv"); ViewBag.poruka = ""; return(View(narudzba)); }
public IHttpActionResult Post(NarudzbaVM novaNarudzba) { Narudzba n = new Narudzba(); n.DatumNarudzbe = DateTime.Now; n.Iznos = (decimal)novaNarudzba.Iznos; n.KorisniciId = novaNarudzba.KorisnikId; n.Otkazano = true; ctx.Narudzbe.Add(n); ctx.SaveChanges(); return(Ok()); }
public ActionResult Create2(NarudzbaVM narudzba) { ZaposlenikVrijemeVM zv = narudzba.Vremena.FirstOrDefault(x => x.Id == narudzba.IdVrijeme); var salon = narudzbaRepository.GetSalonByID(AktivniSalon.IdAktivniSalon); var usluga = narudzbaRepository.GetUslugaByID(narudzba.IdUsluga); var zaposlenik = narudzbaRepository.GetZaposlenikByID(zv.IdZaposlenik); Narudzba nar = new Narudzba() { Salon = salon, Usluga = usluga, Zaposlenik = zaposlenik, Klijent = narudzba.Klijent, Kontakt = narudzba.Kontakt, Vrijeme = zv.Vrijeme }; narudzbaRepository.InsertNarudzba(nar); return(RedirectToAction("Index", "Pocetna")); }
public async void Zavrsi() { #region ProvjeraDaLiJeKorpaPrazna if (!_ListaKorpe.Any()) { await PopupNavigation.Instance.PushAsync(new NotAuthorisedPopupView("Vaša korpa je prazna!")); return; } #endregion Dostava dostavaModel = new Dostava(); try { IsBusy = true; NarudzbaVM model = new NarudzbaVM() { KorisnikId = APIService.UserId, StatusPoruka = "Aktivno", DatumNarudzbe = DateTime.Now, }; List <NarudzbaDetailsVM> narudzbaDetailsList = new List <NarudzbaDetailsVM>(); foreach (var item in ListaKorpe) { #region ProvjeraValidacijeNarudzbe var tempProizvod = await _apiServiceProizvodi.GetbyId <ProizvodVM>(item.Proizvod.ProizvodId); if (tempProizvod.StanjeNaLageru < item.Narudzba.Kolicina) { narudzbaDetailsList.Clear(); await PopupNavigation.Instance.PushAsync(new NotAuthorisedPopupView("Nažalost poklon: " + item.Proizvod.Naziv + ", nemamo u toj količini, trenutno na lageru: " + tempProizvod.StanjeNaLageru.ToString())); return; } var korisnikDetails = await _apiServiceKorisnikDetails.GetbyId <KorisniciDetailsGetRequest>(APIService.UserDetailsId); if (korisnikDetails.AdresaStanovanja.Length < 3 || korisnikDetails.BrojTelefona.Length < 3 || korisnikDetails.DrzavaStanovanja.Length < 3 || korisnikDetails.GradStanovanja.Length < 3 || korisnikDetails.Ime.Length < 3 || korisnikDetails.Prezime.Length < 3 || korisnikDetails.PostalCode.Length < 3) { narudzbaDetailsList.Clear(); await PopupNavigation.Instance.PushAsync(new NotAuthorisedPopupView("Molimo popunite sve informacije na vašem profilu!")); return; } Dostava dost = new Dostava() { AdresaDostave = korisnikDetails.AdresaStanovanja, DrzavaDostave = korisnikDetails.DrzavaStanovanja, GradDostave = korisnikDetails.GradStanovanja, PostalCode = korisnikDetails.PostalCode, KontaktTelefon = korisnikDetails.BrojTelefona, }; switch (this.Dostava) { case 0: dost.TipDostave = "Bez dostave"; break; case 5: dost.TipDostave = "Regularna dostava"; break; case 10: dost.TipDostave = "Expresna dostava"; break; } dostavaModel = dost; #endregion NarudzbaDetailsVM temp = new NarudzbaDetailsVM() { ProizvodId = item.Proizvod.ProizvodId, Proizvod = item.Proizvod, Kolicina = item.Narudzba.Kolicina, Ukupno = item.Proizvod.Cijena * item.Narudzba.Kolicina, Popust = item.Narudzba.Popust ?? 0, }; //Updejta stanj na lageru proizvoda temp.Proizvod.StanjeNaLageru -= (int)item.Narudzba.Kolicina; temp.Ukupno += (decimal?)Dostava; narudzbaDetailsList.Add(temp); } //DODAVANJE U BAZU var dostavaIdModel = await _apiServiceDostava.Insert <Dostava>(dostavaModel); model.DostavaId = dostavaIdModel.DostavaId; var narudzba = await _apiServiceNarudzbe.Insert <NarudzbaVM>(model); foreach (var narudzbaDetalj in narudzbaDetailsList) { //UPDEJT STANJE NA LAGERU NE RADI!!! NEMOGUCI BUG //await _apiServiceProizvodi.ProizvodUpdateInStock<ProizvodVM>(narudzbaDetalj.Proizvod, narudzbaDetalj.ProizvodId); narudzbaDetalj.NarudzbaId = narudzba.NarudzbaId; await _apiServiceNarudzbeDetalji.Insert <NarudzbaDetailsVM>(new NarudzbaDetailsVM { Kolicina = narudzbaDetalj.Kolicina, NarudzbaId = narudzbaDetalj.NarudzbaId, Popust = narudzbaDetalj.Popust, ProizvodId = narudzbaDetalj.ProizvodId, Ukupno = narudzbaDetalj.Ukupno }); } ListaKorpe.Clear(); await PopupNavigation.Instance.PushAsync(new FinishOrderPopupView()); } catch (FlurlHttpException ex) { } finally { IsBusy = false; } }
public ActionResult Create(NarudzbaVM narudzba) { if (ModelState.IsValid) { narudzba.Usluga = narudzbaRepository.GetUsluga().Select(x => new UslugaVM() { Idusluga = x.Idusluga, Naziv = x.Naziv, Trajanje = x.Trajanje, Cijena = x.Cijena }).FirstOrDefault(x => x.Idusluga == narudzba.IdUsluga); //... List <ZaposlenikVM> zaposlenici = new List <ZaposlenikVM>(); foreach (var z in narudzbaRepository.GetZaposleniksQuery()) { if (z.Salon.IdSalon == AktivniSalon.IdAktivniSalon) { foreach (var u in z.Zaposlenikusluga) { if (u.Usluga.Idusluga == narudzba.IdUsluga) { zaposlenici.Add(new ZaposlenikVM() { IdZaposlenik = z.IdZaposlenik, ImePrezime = z.Ime + ' ' + z.Prezime, IdSmjena = z.Smjena.IdSmjena }); } } } } List <Narudzba> narudzbe = narudzbaRepository.GetNarudzba().Where(x => x.Salon.IdSalon == AktivniSalon.IdAktivniSalon).ToList(); narudzbe.RemoveAll(x => x.Vrijeme.Date.CompareTo(narudzba.Datum.Date) != 0); Dictionary <int, List <DateTime> > vremena = new Dictionary <int, List <DateTime> >(); bool moguce; TimeSpan ts; DateTime start; DateTime end; foreach (var z in zaposlenici) { vremena[z.IdZaposlenik] = new List <DateTime>(); if (z.IdSmjena == 1) { ts = new TimeSpan(8, 0, 0); start = narudzba.Datum.Date + ts; end = start.AddMinutes(6 * 60 - narudzba.Usluga.Trajanje); } else { ts = new TimeSpan(14, 0, 0); start = narudzba.Datum.Date + ts; end = start.AddMinutes(6 * 60 - narudzba.Usluga.Trajanje); } while (start <= end) { DateTime poc = start; DateTime kraj = start.AddMinutes(narudzba.Usluga.Trajanje); moguce = true; foreach (var n in narudzbe) { if (n.Zaposlenik.IdZaposlenik == z.IdZaposlenik) { DateTime s = n.Vrijeme; DateTime e = n.Vrijeme.AddMinutes(n.Usluga.Trajanje); if (!(DateTime.Compare(poc, s) < 0 && DateTime.Compare(kraj, s) <= 0 || DateTime.Compare(poc, e) >= 0 && DateTime.Compare(kraj, e) > 0)) { moguce = false; } } } if (moguce == true) { vremena[z.IdZaposlenik].Add(poc); } start = start.AddMinutes(30); } } narudzba.Vremena = new List <ZaposlenikVrijemeVM>(); int i = 1; foreach (var x in vremena.Keys) { Zaposlenik zapo = narudzbaRepository.GetZaposleniksQuery().FirstOrDefault(z => z.IdZaposlenik == x); ZaposlenikVM zap = new ZaposlenikVM() { IdZaposlenik = zapo.IdZaposlenik, ImePrezime = zapo.Ime + " " + zapo.Prezime }; foreach (var y in vremena[x]) { narudzba.Vremena.Add(new ZaposlenikVrijemeVM() { Id = i, Vrijeme = y, IdZaposlenik = zap.IdZaposlenik, Prikaz = y.ToShortTimeString() + " (" + zap.ImePrezime + ")" }); i++; } } narudzba.Vremena = narudzba.Vremena.OrderBy(x => x.Vrijeme).ToList(); TempData["nar"] = narudzba; if (narudzba.Vremena.Count > 0) { return(RedirectToAction("Create2")); } else { ViewBag.poruka = "ZA ODABRANI DATUM NEMA SLOBODNIH TERMINA. ODABERI DRUGI!"; } } var usluge = narudzbaRepository.GetSalonUsluga().Where(x => x.Salon.IdSalon == AktivniSalon.IdAktivniSalon) .Select(x => new UslugaVM() { Idusluga = x.Usluga.Idusluga, Naziv = x.Usluga.Naziv }).ToList(); ViewBag.idUsluga = new SelectList(usluge, "Idusluga", "Naziv"); return(View(narudzba)); }