public ActionResult KreirajPonudu(bool kreirajNovu = true) { PonudaModel ponudaModel = null; if (!kreirajNovu) { ponudaModel = SessionFacade.AktivnaPonuda; } if (ponudaModel == null) { ponudaModel = new PonudaModel() { VaziOd = DateTime.Now.Date.ToShortDateString(), //.ToString("dd/MM/yyyy").Replace('.', '/'), VaziDo = DateTime.Now.Date.ToShortDateString(), //.ToString("dd/MM/yyyy").Replace('.', '/'), Popust = 20, PonudeJedinice = new List <PonudaJedinicaModel>() { InicijalizujPonudaJedinicaModel() }, Aktivnosti = new List <PonudeAktivnostiModel>() { new PonudeAktivnostiModel() { Aktivnost = int.Parse(_ponudaServis.DobaviSveAktivnosti().FirstOrDefault().Value), Aktivnosti = _ponudaServis.DobaviSveAktivnosti() } } }; } SessionFacade.AktivnaPonuda = ponudaModel; return(View(ponudaModel)); }
public ActionResult DodajPonudu(PonudaModel model) { //Inicijalizuj listu ako je null if (model.PonudeJedinice == null) { model.PonudeJedinice = new List <PonudaJedinicaModel>(); } //Inicijalizuj listu ako je null if (model.Aktivnosti == null) { model.Aktivnosti = new List <PonudeAktivnostiModel>(); } //dodaj Jedinicu if (model.Dodaj == 1) { model.PonudeJedinice.Add(InicijalizujPonudaJedinicaModel()); } //else if model.dodaj == 2 dodaj aktivnost else { model.Aktivnosti.Add(new PonudeAktivnostiModel() { Aktivnost = int.Parse(_ponudaServis.DobaviSveAktivnosti().FirstOrDefault().Value), Aktivnosti = _ponudaServis.DobaviSveAktivnosti() }); } //Populisi drodown liste za stanbene jedinice za svaku red foreach (var item in model.PonudeJedinice) { item.StanbeneJedinice = _ponudaServis.DobaviJediniceFiltriranePoTipuSmjestaja(item.TipStanbeneJedinice); item.TipoviStanbenihJedinica = _ponudaServis.DobaviTipoveSmjestaja(); } //Populisti dropdwon listu aktivnosti za svaki red foreach (var item in model.Aktivnosti) { item.Aktivnosti = _ponudaServis.DobaviSveAktivnosti(); } SessionFacade.AktivnaPonuda = model; return(View("KreirajPonudu", model)); }
public ActionResult PregledPonude(PonudaModel model) { //Inicijalizuj listu if (model.PonudeJedinice == null) { model.PonudeJedinice = new List <PonudaJedinicaModel>(); } //Inicijalizuj listu if (model.Aktivnosti == null) { model.Aktivnosti = new List <PonudeAktivnostiModel>(); } //Populisi drodown liste za stanbene jedinice za svaku red foreach (var item in model.PonudeJedinice) { item.StanbeneJedinice = _ponudaServis.DobaviJediniceFiltriranePoTipuSmjestaja(item.TipStanbeneJedinice); item.TipoviStanbenihJedinica = _ponudaServis.DobaviTipoveSmjestaja(); float tempVal = 1 - (float)model.Popust / 100; item.CijenaSaPopustom = tempVal * item.CijenaBezPopusta; } //Populisti dropdwon listu aktivnosti za svaki red foreach (var item in model.Aktivnosti) { item.Aktivnosti = _ponudaServis.DobaviSveAktivnosti(); } //Ako model nije validan vrati poruku nazad if (!ModelState.IsValid) { return(View("KreirajPonudu", model)); } //Ako model ne sadrzi niti jednu jedinicu onda nije validan i prikazi poruku if (model.PonudeJedinice.Count < 1) { ModelState.AddModelError("", "Ponuda mora sadrzavati najmanje jednu jedinicu!!!"); return(View("KreirajPonudu", model)); } SessionFacade.AktivnaPonuda = model; ViewData["PreusmjeriNa"] = "KreirajPonudu"; return(View(model)); }
public ActionResult ObrisiStavkuIzPonude(PonudaModel model) { //Inicijalizuj listu if (model.PonudeJedinice == null) { model.PonudeJedinice = new List <PonudaJedinicaModel>(); } //Inicijalizuj listu if (model.Aktivnosti == null) { model.Aktivnosti = new List <PonudeAktivnostiModel>(); } //Pronadji jedinicu sa prosljedjenim Guidom i izbrisi je ako postoji var tempModel = model.PonudeJedinice.FirstOrDefault(x => x.MyGuid == model.Guid); if (tempModel != null) { model.PonudeJedinice.Remove(tempModel); } //Pronadji aktivnosti sa porsljedjenim Guidom i izbrisi je ako postoji var tempModel2 = model.Aktivnosti.FirstOrDefault(x => x.MyGuid == model.Guid); if (tempModel2 != null) { model.Aktivnosti.Remove(tempModel2); } //Populisi drodown liste za stanbene jedinice za svaku red foreach (var item in model.PonudeJedinice) { item.StanbeneJedinice = _ponudaServis.DobaviJediniceFiltriranePoTipuSmjestaja(item.TipStanbeneJedinice); item.TipoviStanbenihJedinica = _ponudaServis.DobaviTipoveSmjestaja(); } //Populisti dropdwon listu aktivnosti za svaki red foreach (var item in model.Aktivnosti) { item.Aktivnosti = _ponudaServis.DobaviSveAktivnosti(); } SessionFacade.AktivnaPonuda = model; return(View("KreirajPonudu", model)); }
public HttpResponseMessage KreirajPonudu(HttpRequestMessage request, [FromBody] PonudaModel ponuda) { HttpResponseMessage response = null; int prijavljeniKorisnik = User.Identity.GetUserId <int>(); if (prijavljeniKorisnik < 1) { ClaimsPrincipal principal = Request.GetRequestContext().Principal as ClaimsPrincipal; var korisnikIme = ClaimsPrincipal.Current.Identity.Name; var userManager = HttpContext.Current.GetOwinContext().GetUserManager <ApplicationUserManager>(); var korisnik = userManager.FindByName(korisnikIme); prijavljeniKorisnik = korisnik.Id; } try { using (AukcijeClient proxy = new AukcijeClient()) { proxy.Open(); AukcijaDTO detaljiAukcije = proxy.AukcijaKreirajPonudu(ponuda.AukcijaId, ponuda.IznosPonude, prijavljeniKorisnik); response = request.CreateResponse <AukcijaDTO>(HttpStatusCode.OK, detaljiAukcije); proxy.Close(); } } catch (FaultException <PonudaCreateException> ex) { response = request.CreateResponse(HttpStatusCode.BadRequest, ex.Message); } catch (FaultException ex) { response = request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message); } catch (Exception ex) { response = request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message); } return(response); }
public async Task <bool> KreirajPonudu(decimal iznosPonude, int aukcijaId) { try { var ponuda = new PonudaModel { AukcijaId = aukcijaId, IznosPonude = iznosPonude }; var json = JsonConvert.SerializeObject(ponuda); HttpStringContent content = new HttpStringContent(json); content.Headers.ContentType = new HttpMediaTypeHeaderValue("application/json"); Uri uri = new Uri(ViewModelHelper.siteUrl + "/api/aukcija/ponudi"); using (HttpClient httpClient = ViewModelHelper.GetHttpClient(ViewModelHelper.accessTokenString)) { HttpResponseMessage response = await httpClient.PostAsync(uri, content); if (response.StatusCode == HttpStatusCode.Ok) { return(true); } else { throw new PonudaException(response.Content.ToString()); } } } catch (PonudaException ex) { throw new PonudaException(ex.Message); } catch (AccessDeniedException) { throw new AccessDeniedException("Korisnik nije prijavljen"); } catch (Exception) { throw new Exception("Greška prilikom konekcije na server."); } }
public PonudaModel DobaviPonuduPoId(int id) { try { var ponuda = _ponudaDao.DobaviPonuduPoId(id); var ponudaModel = new PonudaModel { DatumKreiranja = ponuda.DatumKreiranja.ToShortDateString(), VaziOd = ponuda.DatumOd.ToShortDateString(), VaziDo = ponuda.DatumDo.ToShortDateString(), Id = ponuda.Id, Naziv = ponuda.Naziv, Popust = (int)ponuda.Popust, }; ponudaModel.Aktivnosti = ponuda.PonudeAktivnosti.Select(x => new PonudeAktivnostiModel { Aktivnost = x.AktivnostId }).ToList(); ponudaModel.PonudeJedinice = ponuda.JedinicePonude.Select(x => new PonudaJedinicaModel { CijenaBezPopusta = x.Cijena, CijenaSaPopustom = (100 - ponuda.Popust) * x.Cijena, StanbenaJedinica = x.JedinicaId, TipStanbeneJedinice = _jedinicaDao.DobaviJedinicuPoId(x.JedinicaId).TipSmjestajaId }).ToList(); return(ponudaModel); } catch (Exception ex) { LoggingHelper.Greska(ex, nameof(PonudaServis), nameof(DobaviPonuduPoId)); } return(null); }
public bool DodajPonudu(PonudaModel ponuda) { try { var tempPonuda = new Ponuda() { DatumDo = DateTime.Parse(ponuda.VaziDo), DatumOd = DateTime.Parse(ponuda.VaziOd), DatumKreiranja = DateTime.Now, KorisnikId = SessionFacade.Korisnik.Id, Naziv = ponuda.Naziv, Popust = ponuda.Popust, Id = ponuda.Id }; var novaPonuda = _ponudaDao.DodajPonudu(tempPonuda); Helpers.Helpers.SnimiSlikeUFolder(novaPonuda.Id.ToString(), ponuda.Slike); _ponudaDao.ObrisiJedinicaPonudaPoPonudaId(novaPonuda.Id); _ponudaDao.ObrisiPonudaAktivnostPoPonudaId(novaPonuda.Id); var tempJedinicePonude = new List <JedinicaPonuda>(); foreach (var item in ponuda.PonudeJedinice) { tempJedinicePonude.Add(new JedinicaPonuda() { Cijena = item.CijenaBezPopusta, JedinicaId = item.StanbenaJedinica, PonudaId = novaPonuda.Id, PoreznaStopa = 17, }); } var hasErrors = false; hasErrors = !_ponudaDao.DodajJedinice(tempJedinicePonude); var tempAktivnosti = new List <PonudaAktivnost>(); foreach (var item in ponuda.Aktivnosti) { tempAktivnosti.Add(new PonudaAktivnost() { AktivnostId = item.Aktivnost, PonudaId = novaPonuda.Id }); } hasErrors = !_ponudaDao.DodajAktivnosti(tempAktivnosti); if (hasErrors) { throw new Exception("Greska prilikom dodavanja nove ponude!!!"); } } catch (Exception ex) { LoggingHelper.Greska(ex, nameof(PonudaServis), nameof(DodajPonudu)); return(false); } return(true); }