public static string UpdateUser(int id, string ime, string prezime, string adresa) { string retVal = ""; using (var ctx = new RestBizContext()) { var korisnik = ctx.Korisnici.Find(id); if(korisnik !=null) { korisnik.Ime = ime; korisnik.Prezime = prezime; korisnik.Adresa = adresa; ctx.SaveChanges(); retVal = new JavaScriptSerializer().Serialize(new AjaxCallStatus(1, "Podaci uspešno izmenjeni.")); } else { retVal = new JavaScriptSerializer().Serialize(new AjaxCallStatus(0, "Greška pri izmeni podataka")); } } return retVal; }
protected void KorisniciRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) { Korisnik prijatelj = (Korisnik)e.Item.DataItem; string Id = prijatelj.KorisnikId.ToString(); HtmlAnchor buttonCell = (HtmlAnchor)e.Item.FindControl("buttonCell"); bool friends = false; string userEmail = System.Web.HttpContext.Current.User.Identity.Name; using (var ctx = new RestBizContext()) { var korisnik = (from k in ctx.Korisnici where k.Email == userEmail select k).FirstOrDefault<Korisnik>(); if(korisnik.Prijatelji.Select(k => k.KorisnikId).Contains(prijatelj.KorisnikId)) friends = true; else friends = false; } if (!friends) { buttonCell.Attributes.Add("class", "pure-button pure-button-primary"); buttonCell.InnerText = "Dodaj za prijatelja"; string _params = Id + ", " + e.Item.ItemIndex.ToString(); buttonCell.HRef = "javascript:addFriend(" + _params + ")"; } else { buttonCell.Attributes.Add("class", "pure-button"); buttonCell.InnerText = "Ukloni iz prijatelja"; string _params = Id + ", " + e.Item.ItemIndex.ToString(); buttonCell.HRef = "javascript:removeFriend(" + _params + ")"; } }
protected void AcceptButton_Click(object sender, EventArgs e) { using (var ctx = new RestBizContext()) { Poziv poziv = ctx.Pozivi.Single(p => p.PozivId == IdPoziva); Poziv pozivNew = new Poziv() { Korisnik = poziv.Korisnik, Ocena = poziv.Ocena, Potvrdio = true, Dolazi = true, Ocenjeno = poziv.Ocenjeno, PozivId = poziv.PozivId, Rezervacija = poziv.Rezervacija }; ctx.Entry(poziv).CurrentValues.SetValues(pozivNew); ctx.SaveChanges(); } controlsDiv.Visible = false; controlDivOcena.Visible = true; ocenaDiv.Visible = true; Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "toastr.success('Poziv prihvaćen.')", true); }
public static string AddFriend(int id) { string retVal = "nista"; Korisnik prijateljClone = null; using (var ctx = new RestBizContext()) { var prijatelj = ctx.Korisnici.Find(id); if (prijatelj == null) retVal = "null je"; else { retVal = prijatelj.ImePrezime; string userEmail = System.Web.HttpContext.Current.User.Identity.Name; var korisnik = (from k in ctx.Korisnici where k.Email == userEmail select k).FirstOrDefault<Korisnik>(); prijateljClone = new Korisnik() { Ime=prijatelj.Ime, Prezime=prijatelj.Prezime }; korisnik.Prijatelji.Add(prijatelj); ctx.SaveChanges(); } retVal = new JavaScriptSerializer().Serialize(prijateljClone); } return retVal; }
public static string Snimi(List<int> brojeviStolova, List<int> pozicijeStolova, int idRest) { string retVal = new JavaScriptSerializer().Serialize(new AjaxCallStatus(0, "Greška pri konfigurisanju sedenja.")); RestBiz.DataLayer.Entities.KonfiguracijaSedenja konfiguracije = new DataLayer.Entities.KonfiguracijaSedenja(); konfiguracije.Stolovi = new List<PozicijaStola>(); foreach (int brojStola in brojeviStolova) { PozicijaStola pozicija = new PozicijaStola() { BrojStola = brojStola, Pozicija = pozicijeStolova[brojeviStolova.IndexOf(brojStola)] }; konfiguracije.Stolovi.Add(pozicija); } using(var ctx = new RestBizContext()) { var stolovi = ctx.Restorani.Find(idRest).KonfiguracijaSedenja = konfiguracije; ctx.SaveChanges(); retVal = new JavaScriptSerializer().Serialize(new AjaxCallStatus(1, "Konfigurisanje sedenja uspešno.")); } return retVal; }
protected void SubmitMenadzer_Click(object sender, EventArgs e) { using(var ctx = new RestBizContext()) { MenadzerRestorana menadzer = new MenadzerRestorana() { Adresa = Adresa.Text, Email = Email.Text, Ime = Ime.Text, Lozinka = Lozinka.Text, Prezime = Prezime.Text }; var restoran = ctx.Restorani.Find(Convert.ToInt32(Restorani.SelectedValue)); restoran.Menadzeri.Add(menadzer); ctx.SaveChanges(); } Adresa.Text = string.Empty; Ime.Text = string.Empty; Prezime.Text = string.Empty; Email.Text = string.Empty; Lozinka.Text = string.Empty; Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "toastr.success('Novi menadžer uspešno dodat.')", true); }
public static string Oceni(decimal ocena, int idPoz) { string retVal = new JavaScriptSerializer().Serialize(new AjaxCallStatus(0, "greska")); using (var ctx = new RestBizContext()) { Poziv poziv = ctx.Pozivi.Find(idPoz); Poziv pozivNew = new Poziv() { Korisnik = poziv.Korisnik, Ocena = ocena, Potvrdio = poziv.Potvrdio, Dolazi = poziv.Dolazi, Ocenjeno = true, PozivId = poziv.PozivId, Rezervacija = poziv.Rezervacija }; ctx.Entry(poziv).CurrentValues.SetValues(pozivNew); ctx.SaveChanges(); retVal = new JavaScriptSerializer().Serialize(new AjaxCallStatus(1, "Ocenjivanje uspešno")); } return retVal; }
public static string Register(string ime, string prezime, string email, string lozinka) { string retVal = ""; using(var ctx = new RestBizContext()) { if (ctx.MenadzeriSistema.Select(k => k.Email).Contains(email) || ctx.MenadzeriRestorana.Select(k => k.Email).Contains(email) || ctx.Korisnici.Select(k => k.Email).Contains(email)) retVal = new JavaScriptSerializer().Serialize(new AjaxCallStatus(0, "Korisnik sa unetim email-om već postoji")); else { Korisnik noviKorisnik = new Korisnik() { Ime = ime, Prezime = prezime, Email = email, Lozinka = lozinka }; ctx.Korisnici.Add(noviKorisnik); ctx.SaveChanges(); retVal = new JavaScriptSerializer().Serialize(new AjaxCallStatus(1, noviKorisnik)); new Registration().SendActivationEmail(email); } } return retVal; }
public override string[] GetRolesForUser(string username) { using (RestBizContext ctx = new RestBizContext()) { var menadzerSistema = (from k in ctx.MenadzeriSistema where k.Email == username select k).FirstOrDefault<MenadzerSistema>(); if (menadzerSistema != null) { return new[] { "MenadzerSistema" }; } else { var menadzerRestorana = (from k in ctx.MenadzeriRestorana where k.Email == username select k).FirstOrDefault<MenadzerRestorana>(); if (menadzerRestorana != null) { return new[] { "MenadzerRestorana" }; } else { return new[] { "Korisnik" }; } } } }
private void Activate() { using(var ctx = new RestBizContext()) { var aktivacija = (from a in ctx.AktivacijeKorisnika where a.ActivationCode.ToString() == ActivationCode select a).FirstOrDefault(); ctx.AktivacijeKorisnika.Remove(aktivacija); ctx.SaveChanges(); } }
private void BindRestorani() { using(var ctx = new RestBizContext()) { Restorani.DataSource = ctx.Restorani.ToList(); Restorani.DataTextField = "Naziv"; Restorani.DataValueField = "RestoranId"; Restorani.DataBind(); } }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { using (RestBizContext ctx = new RestBizContext()) { new RestBizDBInitializer().InitializeDatabase(ctx); } if (HttpContext.Current.User.Identity.IsAuthenticated) { Response.Redirect("Home.aspx"); } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ((Site)this.Master).MarkAsSelected("RestoraniLink"); using(var ctx = new RestBizContext()) { RestoraniRepeater.DataSource = ctx.Restorani.ToList(); RestoraniRepeater.DataBind(); } if (Roles.IsUserInRole("Korisnik")) RezColumn.Visible = true; } }
protected void btnSample_Click(object sender, EventArgs e) { ContentPlaceHolder ContentPlaceHolder1 = (ContentPlaceHolder)Page.Master.FindControl("ContentPlaceHolder1"); HtmlGenericControl friendsTable = (HtmlGenericControl)ContentPlaceHolder1.FindControl("friendsTableDiv"); friendsTable.Attributes.Remove("style"); friendsTable.Attributes.Add("style", "float: right"); using (var ctx = new RestBizContext()) { var currentUser = (from k in ctx.Korisnici where k.Email == UserEmail select k).FirstOrDefault(); var friends = currentUser.Prijatelji.ToList<Korisnik>(); PrijateljiKorisnika.DataSource = friends; PrijateljiKorisnika.DataBind(); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string nazivRestorana; using (var ctx = new RestBizContext()) { nazivRestorana = ctx.Restorani.Find(IdRestorana).Naziv; } ProfileHeader.Text = "<h2>" + nazivRestorana + "</h2>"; RasporediStolove(); } }
protected void SubmitRestoran_Click(object sender, EventArgs e) { using(var ctx = new RestBizContext()) { Restoran restoran = new Restoran() { Jelovnik = new Jelovnik(), Naziv = Naziv.Text, Opis = Opis.InnerText }; ctx.Restorani.Add(restoran); ctx.SaveChanges(); } Naziv.Text = string.Empty; Opis.InnerText = string.Empty; Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "toastr.success('Novi restoran uspešno dodat.')", true); }
public void SendInvitation(RestBizContext ctx, RestBiz.DataLayer.Entities.Rezervacija rezervacija) { foreach (Korisnik prijatelj in rezervacija.Prijatelji) { Poziv poziv = new Poziv() { Korisnik = prijatelj, Rezervacija = rezervacija, Potvrdio = false, Dolazi = false, Ocenjeno = false, Ocena = -1 }; ctx.Pozivi.Add(poziv); ctx.SaveChanges(); int id = poziv.PozivId; using (MailMessage mm = new MailMessage(new MailAddress("*****@*****.**", "RestBiz"), new MailAddress(prijatelj.Email))) { mm.Subject = "Pozivnica"; string body = "Pozdrav, " + prijatelj.Ime + ","; body += "<br/><br/>Molim Vas da kliknete na link radi potvrde rezervacije."; body += "<br/><a href ='" + HttpContext.Current.Request.Url.AbsoluteUri.Replace("Rezervacija.aspx?idRest="+rezervacija.Restoran.RestoranId, "PotvrdaRezervacije.aspx?id=" + id.ToString()) + "'>Kliknite ovde.</a>"; body += "<br/><br/>Hvala"; mm.Body = body; mm.IsBodyHtml = true; SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; smtp.EnableSsl = true; NetworkCredential NetworkCred = new NetworkCredential("*****@*****.**", "pitajmamu"); smtp.UseDefaultCredentials = true; smtp.Credentials = NetworkCred; smtp.Port = 587; smtp.Send(mm); } } }
public void SendActivationEmail(string userEmail) { var korisnik = new KorisnikService().FindUserByEmail(userEmail); Guid activationCode = Guid.NewGuid(); string activationCodeString = activationCode.ToString(); using (var ctx = new RestBizContext()) { var aktivacijaKorisnika = new AktivacijaKorisnika() { KorisnikId = korisnik.KorisnikId, ActivationCode = activationCode }; ctx.AktivacijeKorisnika.Add(aktivacijaKorisnika); ctx.SaveChanges(); } using (MailMessage mm = new MailMessage(new MailAddress("*****@*****.**", "RestBiz"), new MailAddress(userEmail))) { mm.Subject = "Aktivacija naloga"; string body = "Pozdrav, " + korisnik.Ime + ","; body += "<br/><br/>Molim Vas kliknete na link radi aktivacije vašeg naloga"; body += "<br/><a href ='" + HttpContext.Current.Request.Url.AbsoluteUri.Replace("Registracija.aspx/Register", "Info.aspx?type=akt&ActivationCode=" + activationCodeString) + "'>Kliknite ovde za aktivaciju.</a>"; body += "<br/><br/>Hvala"; mm.Body = body; mm.IsBodyHtml = true; SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; smtp.EnableSsl = true; NetworkCredential NetworkCred = new NetworkCredential("*****@*****.**", "pitajmamu"); smtp.UseDefaultCredentials = true; smtp.Credentials = NetworkCred; smtp.Port = 587; smtp.Send(mm); } }
public static string Add(int idRest, string naziv, string opis, decimal cena) { string retVal = ""; StavkaJelovnika novaStavka = new StavkaJelovnika() { Naziv = naziv, Opis = opis, Cena = cena }; using (var ctx = new RestBizContext()) { var restoran = ctx.Restorani.Find(idRest); if (restoran != null) { restoran.Jelovnik.Stavke.Add(novaStavka); ctx.SaveChanges(); StavkaJelovnika stavkaClone = new StavkaJelovnika { StavkaId = novaStavka.StavkaId, Naziv = novaStavka.Naziv, Opis = novaStavka.Opis, Cena = novaStavka.Cena }; retVal = new JavaScriptSerializer().Serialize(new AjaxCallStatus(1, stavkaClone)); } else { retVal = new JavaScriptSerializer().Serialize(new AjaxCallStatus(0, "greska")); } } return retVal; }
public static string EditRest(int id, string naziv, string opis) { string retVal = ""; using(var ctx = new RestBizContext()) { var restoran = ctx.Restorani.Find(id); if(restoran != null) { restoran.Naziv = naziv; restoran.Opis = opis; ctx.SaveChanges(); retVal = new JavaScriptSerializer().Serialize(new AjaxCallStatus(1, null)); } else { retVal = new JavaScriptSerializer().Serialize(new AjaxCallStatus(0, null)); } } return retVal; }
private void SetValues() { using (var ctx = new RestBizContext()) { var poziv = ctx.Pozivi.Find(IdPoziva); Name.Text = poziv.Rezervacija.Restoran.Naziv; Date.Value = poziv.Rezervacija.Pocetak.ToShortDateString(); DateTime.Value = poziv.Rezervacija.Pocetak.TimeOfDay.ToString(); Time.Text = (poziv.Rezervacija.Zavrsetak - poziv.Rezervacija.Pocetak).TotalHours.ToString(); foreach (Korisnik prijatelj in poziv.Rezervacija.Prijatelji) Prijatelji.Text += prijatelj.Ime + ", "; Prijatelji.Text += poziv.Rezervacija.Korisnik.Ime; if (poziv.Potvrdio) { controlsDiv.Visible = false; if (poziv.Ocenjeno) { ocenaDiv.Visible = false; controlDivOcena.Visible = false; } else { ocenaDiv.Visible = true; controlDivOcena.Visible = true; } } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ((Site)this.Master).MarkAsSelected("PrijateljiLink"); using (var ctx = new RestBizContext()) { string userEmail = HttpContext.Current.User.Identity.Name; KorisniciRepeater.DataSource = (from k in ctx.Korisnici where k.Email != userEmail select k).OrderBy(o => o.Ime).ThenBy(o => o.Prezime).ToList<Korisnik>(); KorisniciRepeater.DataBind(); } } }
private bool isTaken(int brojStola) { string[] datumInputs = Forma["Datum"].Split('/'); string[] vremeInputs = Forma["Vreme"].Split(':'); DateTime Pocetak = new DateTime(Convert.ToInt32(datumInputs[2]), Convert.ToInt32(datumInputs[0]), Convert.ToInt32(datumInputs[1]), Convert.ToInt32(vremeInputs[0]), Convert.ToInt32(vremeInputs[1]), 0); DateTime Zavrsetak = Pocetak.AddHours(Convert.ToInt32(Forma["Trajanje"])); using (var ctx = new RestBizContext()) { var rezervacije = (from r in ctx.Rezervacije where ((r.Zavrsetak >= Pocetak && r.Zavrsetak <= Zavrsetak && r.Pocetak<=Pocetak) || (r.Pocetak <= Zavrsetak && r.Pocetak >= Pocetak && r.Zavrsetak>=Zavrsetak) || (r.Pocetak <= Pocetak && r.Zavrsetak >= Zavrsetak) || (Pocetak<=r.Pocetak && Zavrsetak>=r.Zavrsetak)) && (r.Restoran.RestoranId == IdRestorana) select r).ToList(); if (rezervacije != null) { foreach (var rez in rezervacije) foreach (var sto in rez.Stolovi) if (sto.BrojStola == brojStola) return true; } } return false; }
protected void SearchButton_Click(object sender, EventArgs e) { InviteDiv.Attributes.Remove("style"); string searchInput = SearchInput.Text; List<Korisnik> results = new List<Korisnik>(); string userEmail = System.Web.HttpContext.Current.User.Identity.Name; using (var ctx = new RestBizContext()) { var currentUser = (from k in ctx.Korisnici where k.Email == userEmail select k).FirstOrDefault(); var friends = currentUser.Prijatelji.ToList<Korisnik>(); foreach (Korisnik k in friends) if (k.Ime.ToLower().Contains(searchInput.ToLower()) || k.Prezime.ToLower().Contains(searchInput.ToLower())) results.Add(k); } if (results != null && results.Count > 0) { ContentPlaceHolder ContentPlaceHolder1 = (ContentPlaceHolder)Page.Master.FindControl("ContentPlaceHolder1"); HtmlGenericControl friendsTable = (HtmlGenericControl)ContentPlaceHolder1.FindControl("friendsResults"); friendsTable.Attributes.Remove("style"); KorisniciRepeater.DataSource = results; KorisniciRepeater.DataBind(); } }
protected void ConfirmButton_Click(object sender, EventArgs e) { using(var ctx = new RestBizContext()) { RestBiz.DataLayer.Entities.Rezervacija rezervacija = new DataLayer.Entities.Rezervacija(); rezervacija.Stolovi = new List<PozicijaStola>(); rezervacija.Prijatelji = new List<Korisnik>(); List<int> stolovi = (List<int>)HttpContext.Current.Session["Stolovi"]; List<int> prijateljiIds = (List<int>)HttpContext.Current.Session["InvitedIds"]; foreach(int brojStola in stolovi) { var pozicijaStola = (from p in ctx.Stolovi where p.KonfiguracijaSedenja.IdRestorana == IdRestorana && p.BrojStola == brojStola select p).FirstOrDefault(); rezervacija.Stolovi.Add(pozicijaStola); } if (prijateljiIds != null) { foreach (int prId in prijateljiIds) { var prijatelj = ctx.Korisnici.Find(prId); rezervacija.Prijatelji.Add(prijatelj); } } rezervacija.Restoran = ctx.Restorani.Find(IdRestorana); string[] datumInputs = Forma["Datum"].Split('/'); string[] vremeInputs = Forma["Vreme"].Split(':'); DateTime Pocetak = new DateTime(Convert.ToInt32(datumInputs[2]), Convert.ToInt32(datumInputs[0]), Convert.ToInt32(datumInputs[1]), Convert.ToInt32(vremeInputs[0]), Convert.ToInt32(vremeInputs[1]), 0); DateTime Zavrsetak = Pocetak.AddHours(Convert.ToInt32(Forma["Trajanje"])); rezervacija.Pocetak = Pocetak; rezervacija.Zavrsetak = Zavrsetak; rezervacija.Korisnik = new KorisnikService().FindUserByEmail(HttpContext.Current.User.Identity.Name); ctx.Rezervacije.Add(rezervacija); ctx.SaveChanges(); new Invitation().SendInvitation(ctx, rezervacija); } HttpContext.Current.Session["Stolovi"] = null; HttpContext.Current.Session["InvitedIds"] = null; RasporedStolovaDiv.Visible = false; InviteDiv.Visible = false; FormDiv.Visible = false; MessageDiv.Visible = true; }
protected void SearchButton_Click(object sender, EventArgs e) { string searchInput = SearchInput.Text; List<Korisnik> results = new List<Korisnik>(); using(var ctx = new RestBizContext()) { results = (from k in ctx.Korisnici where (k.Ime.Contains(searchInput) || k.Prezime.Contains(searchInput)) select k).OrderBy(k => k.Ime).ThenBy(k => k.Prezime).ToList<Korisnik>(); } if (results == null || results.Count == 0) { ContentPlaceHolder ContentPlaceHolder1 = (ContentPlaceHolder)Page.Master.FindControl("ContentPlaceHolder1"); HtmlGenericControl friendsTable = (HtmlGenericControl)ContentPlaceHolder1.FindControl("friendsTableDiv"); friendsTable.Attributes.Add("style", "display: none"); } else { KorisniciRepeater.DataSource = results; KorisniciRepeater.DataBind(); } }
public static string Remove(int id, int idRest) { string retVal = new JavaScriptSerializer().Serialize(new AjaxCallStatus(0, null)); using(var ctx = new RestBizContext()) { var itemToRemove = ctx.StavkeJelovnika.Find(id); ctx.Restorani.Find(idRest).Jelovnik.Stavke.Remove(itemToRemove); ctx.SaveChanges(); retVal = new JavaScriptSerializer().Serialize(new AjaxCallStatus(1, itemToRemove)); } return retVal; }
public static string Edit(int id, string naziv, string opis, decimal cena) { string retVal = ""; using (var ctx = new RestBizContext()) { StavkaJelovnika stavka = ctx.StavkeJelovnika.Find(id); if (stavka != null) { stavka.Naziv = naziv; stavka.Opis = opis; stavka.Cena = cena; ctx.SaveChanges(); retVal = new JavaScriptSerializer().Serialize(new AjaxCallStatus(1, new StavkaJelovnika(stavka.Naziv, stavka.Opis, stavka.Cena))); } else retVal = new JavaScriptSerializer().Serialize(new AjaxCallStatus(0, "")); } return retVal; }
protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { int idRestorana = Convert.ToInt32(Request.QueryString["id"]); using(var ctx = new RestBizContext()) { if (Roles.IsUserInRole("MenadzerRestorana")) { MenadzerRestorana currentUser = null; string userEmail = HttpContext.Current.User.Identity.Name; currentUser = (from k in ctx.MenadzeriRestorana where k.Email == userEmail select k).FirstOrDefault(); if ((currentUser.Restoran.RestoranId == idRestorana)) UserIsManager = true; else UserIsManager = false; } else UserIsManager = false; Restoran restoran = ctx.Restorani.Find(idRestorana); PodaciRestorana.DataSource = new List<Restoran>() { restoran }; PodaciRestorana.DataBind(); ProfileHeader.Text = "<h2>" + restoran.Naziv + "</h2>"; RestoranId = restoran.RestoranId; JelovnikRepeater.DataSource = restoran.Jelovnik.Stavke.ToList(); JelovnikRepeater.DataBind(); if (UserIsManager) { ButtonConf.Visible = true; thEdit.Visible = true; thDel.Visible = true; dodajBtn.Visible = true; } if (ctx.KonfiguracijeSedenja.Select(k => k.IdRestorana).Contains(RestoranId)) ButtonConf.Visible = false; else ButtonConf.NavigateUrl = "KonfiguracijaSedenja.aspx?idRest=" + idRestorana; } } }
protected void hiddenButton_Click(object sender, EventArgs e) { using (var ctx = new RestBizContext()) { JelovnikRepeater.DataSource = ctx.Restorani.Find(RestoranId).Jelovnik.Stavke.ToList(); JelovnikRepeater.DataBind(); } }