protected void usersGridView_SelectedIndexChanged(object sender, EventArgs e)
        {
            MasterWebServiceSoapClient client = new MasterWebServiceSoapClient();
            currentIndexHiddenField.Value = usersGridView.SelectedIndex.ToString();

            foreach (ListItem item in CheckBoxList1.Items)
            {
                item.Selected = false;
            }

            String numeUser = usersGridView.Rows[usersGridView.SelectedIndex].Cells[1].Text;
            string[] result = client.GetRolesForUser(numeUser).ToArray<string>();

            foreach (ListItem item in CheckBoxList1.Items)
            {
                foreach (string res in result)
                {
                    if (item.Value == res)
                    {
                        item.Selected = true;
                    }
                }
            }

            utilizatorMessage.Text = "<p class='italic'>Bifeaza rolurile dorite pentru utilizatorul " + numeUser+"*</p>";
        }
        /// <summary>
        /// Create User when the "Create user" button is pressed in register form
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void CreateUserButton_Click(object sender, EventArgs e)
        {
            bool exists=true;
            string numeUtilizator = UserName.Text;
            string numeComplet = FullName.Text;
            string email = Email.Text;
            string password = Password.Text;
            MasterWebServiceSoapClient client = new MasterWebServiceSoapClient();
            bool succeded = client.AddUser(out exists,numeUtilizator, password, email, numeComplet, string.Empty, true, (object)string.Empty);
            if (exists == true)
            {
                userAlreadyregister.Visible = true;
                userAlreadyregister.Text = "This username is already taken. Try a new one!";
                userAlreadyregister.ForeColor = System.Drawing.Color.Red;
            }

            else
            {
                if (succeded)
                {
                    var idUtilizator = UtilizatorRepository.GetUtilizatori().First(x => x.numeUtilizator == numeUtilizator).idUtilizator;
                    var idRol =RolRepository.GetRoluri().First(x => x.numeRol == "userLogat").idRol;
                    RolRepository.EditRolforUser(idUtilizator, new List<int> { idRol });
                    FormsAuthentication.RedirectFromLoginPage(numeUtilizator, true);
                }
            }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            MasterWebServiceSoapClient client=new MasterWebServiceSoapClient();
            int idUnit;
            int idContact;
            string tipUnitate = string.Empty;
            string adminEmail = string.Empty;
            string fromAddress = "*****@*****.**";
            string fromPassword = "******";

            GetInfosFromForm();

            string bodyEmail = "Stimate " + nume_complet + ",\n";
            bodyEmail += "Rezervarea dumneavoastra a fost facuta cu succes. Va confirmam faptul ca incepand cu data de " + data_Start + " sunteti asteptat la " + numeUnit +
                         ". Va reamintim ca rezervarea dumneavoastra a fost facuta pentru " + nr_nopti + " nopti si ati rezervat un numar de " + nr_camere +
                         "camere. Va multumim si va mai asteptam!";
            string bodyEmailAdmin = "Stimate admin al unitatii " + numeUnit + ", \n a fost facuta o rezervare de catre " + nume_complet + "cu urmatoarele specificatii: \n 1. Email: "
                                    + mail + "2. Numar camere: " + nr_camere + "3. Numar persoane: " + nr_persoane + "4. Data start: " + data_Start + "5. Numar Nopti: " + nr_nopti +
                                    ".";

            using (MasterEntities context = new MasterEntities())
            {
                var unit = context.Unitati.First(x => x.numeUnitate == numeUnit);
                idUnit = unit.idUnitate;
                var Contact = context.Unitati.First(x=>x.idUnitate == idUnit);
                idContact = Contact.idContact;
            }

            MembershipUser user = Membership.GetUser();
            string numeUser = user.UserName;
            int idUser;
            using (MasterEntities context = new MasterEntities())
            {
                var us = context.Utilizatori.First(x => x.numeUtilizator == numeUser);
                idUser = us.idUtilizator;

                var adminUnit = context.Contact.First(x => x.idContact == idContact);
                adminEmail = adminUnit.email;

                Rezervari rezervare = new Rezervari();
                rezervare.idUnitate = idUnit;
                rezervare.idUtilizator = idUser;
                rezervare.numarCamere = nr_camere;
                rezervare.dataStart = data_Start;
                rezervare.nrNopti = nr_nopti;

                context.AddToRezervari(rezervare);
                context.SaveChanges();
            }

            client.Send_Email(fromAddress, mail, bodyEmail, fromPassword);
            //Send_Email(fromAddress, adminEmail, bodyEmailAdmin, fromPassword);
            ResetForm();
        }
 protected void RegiuniGridView_SelectedIndexChanged(object sender, EventArgs e)
 {
     MasterWebServiceSoapClient client = new MasterWebServiceSoapClient();
     LocalitatiGridView.DataSourceID = "LocalitatiObjectDataSource";
     localitateMessage.Text = string.Empty;
     currentIndexHiddenField.Value = RegiuniGridView.SelectedIndex.ToString();
     localitateLiteral.Visible = true;
     localitateButton.Visible = true;
     localitateTextBox.Visible = true;
     localitateLiteral.Text = "Insereaza localitate in regiunea " + RegiuniGridView.Rows[RegiuniGridView.SelectedIndex].Cells[1].Text;
 }
        protected void saveRoluriButton_Click(object sender, EventArgs e)
        {
            List<int> newRolesIds = new List<int>();
            MasterWebServiceSoapClient client = new MasterWebServiceSoapClient();
            foreach(ListItem item in CheckBoxList1.Items)
            {
                if (item.Selected)
                {
                    newRolesIds.Add(client.GetRole(item.Value));
                }
            }

            int idUtilizator = int.Parse(usersGridView.DataKeys[int.Parse(currentIndexHiddenField.Value)].Value.ToString());
            client.EditRoleForUser(idUtilizator, newRolesIds.ToArray());
        }
        /// <summary>
        /// Create User when the "Create user" button is pressed in register form
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void CreateUserButton_Click(object sender, EventArgs e)
        {
            bool exists=true;
            string numeUtilizator = UserName.Text;
            string numeComplet = FullName.Text;
            string email = Email.Text;
            string password = Password.Text;
            MasterWebServiceSoapClient client = new MasterWebServiceSoapClient();
            bool succeded = client.AddUser(out exists,numeUtilizator, password, email, numeComplet, string.Empty, true, (object)string.Empty);
            if (exists == true)
            {
                userAlreadyregister.Visible = true;
                userAlreadyregister.Text = "This username is already taken. Try a new one!";
                userAlreadyregister.ForeColor = System.Drawing.Color.Red;
            }

            else
            {
                if (succeded)
                {
                    FormsAuthentication.RedirectFromLoginPage(numeUtilizator, true);
                }
            }
        }
 protected void regiuneButton_Click(object sender, EventArgs e)
 {
     MasterWebServiceSoapClient client = new MasterWebServiceSoapClient();
     client.AddRegiune(regiuneTextBox.Text);
 }
        protected void Button1_Click(object sender, EventArgs e)
        {
            string returnString;
            GetInfosFromForm();

            if (CheckIfIsAvailable(out returnString))
            {
                MasterWebServiceSoapClient client = new MasterWebServiceSoapClient();
                int idUnit;
                int idContact;
                string tipUnitate = string.Empty;
                string adminEmail = string.Empty;
                string fromAddress = "*****@*****.**";
                string fromPassword = "******";

                string bodyEmail = "Stimate " + nume_complet + ",\n";
                bodyEmail +=
                    "Cererea de rezervare a fost facuta cu succes . Veti primi un email de confirmare dupa aprobarea de catre administratorul unitatii. ";
                string bodyEmailAdmin = "Stimate admin al unitatii " + numeUnit +
                                        ", \n a fost facuta o cerere de rezervare de catre " + nume_complet +
                                        "cu urmatoarele specificatii: \n 1. Email: "
                                        + mail + "2. Numar camere: " + nr_camere + "3. Numar persoane: " + nr_persoane +
                                        "4. Data start: " + data_Start + "5. Numar Nopti: " + nr_nopti +
                                        ". Va rugam sa confirmati rezervarea in sectiunea Editeaza Rezervari din meniul principal al site-ului.";

                using (MasterEntities context = new MasterEntities())
                {
                    var unit = context.Unitati.First(x => x.numeUnitate == numeUnit);
                    idUnit = unit.idUnitate;
                    var Contact = context.Unitati.First(x => x.idUnitate == idUnit);
                    idContact = Contact.idContact;
                }

                MembershipUser user = Membership.GetUser();
                string numeUser = user.UserName;
                int idUser;
                using (MasterEntities context = new MasterEntities())
                {
                    var us = context.Utilizatori.First(x => x.numeUtilizator == numeUser);
                    idUser = us.idUtilizator;

                    var admin = UtilizatorRepository.GetUtilizator(
                        UnitateRepository.GetUnitati().First(x => x.idUnitate == idUnit).idUtilizator);
                    adminEmail = admin.email;

                    Rezervari rezervare = new Rezervari();
                    rezervare.idUnitate = idUnit;
                    rezervare.idUtilizator = idUser;
                    rezervare.numarCamere = nr_camere;
                    rezervare.dataStart = data_Start.ToLocalTime();
                    rezervare.nrNopti = nr_nopti;
                    rezervare.aprobata = false;
                    rezervare.isDeleted = false;
                    context.AddToRezervari(rezervare);
                    context.SaveChanges();
                }

                client.Send_Email(fromAddress, mail, bodyEmail, fromPassword);
                client.Send_Email(fromAddress, adminEmail, bodyEmailAdmin, fromPassword);
                ResetForm();
                if (!string.IsNullOrEmpty(returnString))
                {
                    string script = "<script type=\"text/javascript\">alert('" + returnString + "');</script>";
                    ClientScript.RegisterClientScriptBlock(this.GetType(), "Alert", script);
                }
            }

            else
            {
                if (!string.IsNullOrEmpty(returnString))
                {
                    string script = "<script type=\"text/javascript\">alert('" + returnString + "');</script>";
                    ClientScript.RegisterClientScriptBlock(this.GetType(), "Alert", script);
                }
            }
        }
 protected void localitateButton_Click(object sender, EventArgs e)
 {
     MasterWebServiceSoapClient client = new MasterWebServiceSoapClient();
     client.AddLocalitate(localitateTextBox.Text,int.Parse(RegiuniGridView.DataKeys[int.Parse(currentIndexHiddenField.Value)].Value.ToString()));
     localitateTextBox.Text = string.Empty;
 }
        public static string Update(Rezervari rezervare)
        {
            string returnString=string.Empty;
            try
            {
                using (MasterEntities context = new MasterEntities())
                {
                    MasterWebServiceSoapClient client = new MasterWebServiceSoapClient();

                    var obj = context.Rezervari.ToList().First(x => x.idRezervare == rezervare.idRezervare);
                    if (rezervare.aprobata.Value)
                    {
                        if (CheckIfIsAvailable(out returnString, obj.idUnitate, rezervare))
                        {
                            rezervare.idUnitate = obj.idUnitate;
                            rezervare.idUtilizator = obj.idUtilizator;
                            rezervare.isDeleted = false;
                            context.ApplyCurrentValues("Rezervari", rezervare);
                            context.SaveChanges();

                            var user = UtilizatorRepository.GetUtilizator(rezervare.idUtilizator.Value);
                            var unidate = UnitateRepository.GetUnitate(rezervare.idUnitate);
                            string fromAddress = "*****@*****.**";
                            string fromPassword = "******";

                            string bodyEmail = "Stimate " + user.numeComplet + ",\n";
                            bodyEmail +=
                                    "Rezervarea dumneavoastra a fost confirmata . Va confirmam faptul ca incepand cu data de " +
                                    rezervare.dataStart + " sunteti asteptat la " + unidate.numeUnitate +
                                    ". Va reamintim ca rezervarea dumneavoastra a fost facuta pentru " + rezervare.nrNopti +
                                    " nopti si ati rezervat un numar de " + rezervare.numarCamere +
                                    " camere. Va rugam sa confirmati rezervarea in termen de 2 zile la linkul:http://localhost:50298/User/Payments.aspx?Rezervare=" + rezervare.idRezervare;
                            client.Send_Email(fromAddress, user.email, bodyEmail, fromPassword);
                        }

                        else
                        {
                            if ((int) CalculateBookingAuthorizedLevel(rezervare.dataStart, rezervare.idUnitate) >
                                RezervareRepository.GetRezervari()
                                    .Where(
                                        x =>
                                            x.idUnitate == rezervare.idUnitate && x.isDeleted == false &&
                                            x.aprobata == true && x.dataStart.AddDays(x.nrNopti) > rezervare.dataStart)
                                    .Count())
                            {
                                rezervare.idUnitate = obj.idUnitate;
                                rezervare.idUtilizator = obj.idUtilizator;
                                rezervare.isDeleted = false;
                                context.ApplyCurrentValues("Rezervari", rezervare);
                                context.SaveChanges();

                                var user = UtilizatorRepository.GetUtilizator(rezervare.idUtilizator.Value);
                                var unidate = UnitateRepository.GetUnitate(rezervare.idUnitate);
                                string fromAddress = "*****@*****.**";
                                string fromPassword = "******";

                                string bodyEmail = "Stimate " + user.numeComplet + ",\n";
                                bodyEmail +=
                                    "Rezervarea dumneavoastra a fost confirmata . Va confirmam faptul ca incepand cu data de " +
                                    rezervare.dataStart + " sunteti asteptat la " + unidate.numeUnitate +
                                    ". Va reamintim ca rezervarea dumneavoastra a fost facuta pentru " + rezervare.nrNopti +
                                    " nopti si ati rezervat un numar de " + rezervare.numarCamere +
                                    " camere. Va rugam sa confirmati rezervarea in termen de 2 zile la linkul:http://localhost:50298/User/Payments.aspx?Rezervare=" + rezervare.idRezervare;
                                client.Send_Email(fromAddress, user.email, bodyEmail, fromPassword);
                            }
                        }
                    }
                    else
                    {
                        rezervare.idUnitate = obj.idUnitate;
                        rezervare.idUtilizator = obj.idUtilizator;
                        rezervare.isDeleted = false;
                        context.ApplyCurrentValues("Rezervari", rezervare);
                        context.SaveChanges();
                    }
                }
            }
            catch (Exception exc) { throw exc; }
            return returnString;
        }