using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Oracle.DataAccess.Client;
using System.Configuration;
using System.Web.Security;

namespace VEtterem
{
    public partial class VEtterem : System.Web.UI.MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            PanelPultosMenu.Visible = Context.User.IsInRole("pultos");
            PanelUserMenu.Visible = !Context.User.IsInRole("pultos");
            PanelAkcInfo.Visible = !Context.User.IsInRole("pultos");

            using (OracleConnection conn = new OracleConnection())
            {
                conn.ConnectionString = ConfigurationManager.ConnectionStrings["VCS"].ConnectionString;
                OracleCommand oc = new OracleCommand();
                oc.Connection = conn;
                oc.CommandText = "select ak.kezdet, ak.veg, ak.kedvezmeny, ia.kezdoora, ia.vegora " +
                    " from akcio ak join idoszakos_akcio ia on ak.akcioid = ia.akcio";
                conn.Open();
                DateTime most = DateTime.Now;
                using (OracleDataReader odr = oc.ExecuteReader())
                {
                    
                    while (odr.Read())
                    {
                        DateTime kezdDT = odr.GetDateTime(0);
                        DateTime vegDT = odr.GetDateTime(1);
                        int kedv = (int)odr.GetDecimal(2);
                        int kOra = (int)odr.GetDecimal(3);
                        int vOra = (int)odr.GetDecimal(4);
                        if (kezdDT < most && most < vegDT
                            && kOra <= most.Hour && most.Hour < vOra)
                        {
                            LabelIA.Text = "Ha " + vOra + " óráig rendel, minden ételre " + kedv + "% kedvezményt kap!";
                        }
                        
                    }
                }

                oc.CommandText = "select ak.kezdet, ak.veg, ak.kedvezmeny, ta.etipus, et.etnev " +
                                    " from akcio ak join tipus_akcio ta on ak.akcioid = ta.akcio " +
                                    " join etel_tipus et on et.etid = ta.etipus";
                using (OracleDataReader odr = oc.ExecuteReader())
                {
                    int counter = 1;
                    while (odr.Read())
                    {
                        DateTime kezdDT = odr.GetDateTime(0);
                        DateTime vegDT = odr.GetDateTime(1);
                        int kedv = (int)odr.GetDecimal(2);
                        int etipus = (int)odr.GetDecimal(3);
                        string etnev = odr.GetString(4);
                        if (kezdDT < most && most < vegDT)
                        {
                            string megnevezes = "";
                            switch (etnev)
                            {
                                case "LEVES": { megnevezes = "levesre"; break; }
                                case "FŐÉTEL": { megnevezes = "főételre"; break; }
                                case "DESSZERT": { megnevezes = "desszertre"; break; }
                                case "ITAL": { megnevezes = "italra"; break; }
                                case "ELŐÉTEL": { megnevezes = "előételre"; break; }
                                case "EGYÉB": { megnevezes = "egyéb kategóriájú fogásra"; break; }
                            }
                            Label label = new Label();
                            label.ID = "LA" + (counter++).ToString();
                            label.Text = "Ha most rendel, minden " + megnevezes + " " + kedv + "% kedvezményt kap!<br/>";
                            PanelETA.Controls.Add(label);
                        }

                    }
                }
            }
        }

        protected void KijelentkezesLinkButton_Click(object sender, EventArgs e)
        {
            Naplo.NaplobaIr(Page.User.Identity.Name, Request.UserHostAddress, Esemeny.Logout);
            FormsAuthentication.SignOut();
            Session.Clear();
            Session.Abandon();
            Response.Redirect("~/Default.aspx");
            Session["Kosar"] = new Kosar.Kosar();
        }

        protected void Login1_LoggedIn(object sender, EventArgs e)
        {
            Naplo.NaplobaIr((LoginView1.FindControl("Login1") as Login).UserName,
                Request.UserHostAddress, Esemeny.Login);
            
        }
        
    }
}
