/// <summary>
        /// Metoda care modifica rolul unui utilizator.
        /// </summary>
        /// <param name="idUtilizator">id-ul utilizatorului</param>
        /// <param name="newRoleIds">noua lista de roluri a utilizatorului</param>
        /// <returns>true daca s-a putut face modificare</returns>
        public static bool EditRolforUser(int idUtilizator, List<int> newRoleIds)
        {
            try
            {
                using (MasterEntities context = new MasterEntities())
                {
                    var user = context.Utilizatori.Include("Roluris").Single(u => u.idUtilizator == idUtilizator);

                    foreach (var role in user.Roluris.ToList())
                    {
                        // sterge rolurile care nu sunt in noua lista
                        if (!newRoleIds.Contains(role.idRol))
                            user.Roluris.Remove(role);
                    }

                    foreach (var newRoleId in newRoleIds)
                    {
                        // adauga rolurile care nu sunt in lista de roluri a userului
                        if (!user.Roluris.Any(r => r.idRol == newRoleId))
                        {
                            var newRole = new Roluri { idRol = newRoleId };
                            context.Roluri.Attach(newRole);
                            user.Roluris.Add(newRole);
                        }
                    }
                    // Rolurile pe care utilizatorul le avea
                    // nu au fost sterse si nici

                    context.SaveChanges();
                }
                return true;
            }
            catch (Exception ex) { return false; }
        }
        /// <summary>
        /// Metoda care updateaza facilitatile unei unitati.
        /// </summary>
        /// <param name="idUnitate">id-ul unitatii careia vrem sa ii updatam facilitatile</param>
        /// <param name="newFacilitatiIds">id-urile facilitatilor pe care vrem sa le adaugam</param>
        public static void EditFacilitatiforUnitate(int idUnitate, List<int> newFacilitatiIds)
        {
            try
            {
                using (MasterEntities context = new MasterEntities())
                {
                    var user = context.Unitati.Include("Facilitatis").Single(u => u.idUnitate == idUnitate);

                    foreach (var fac in user.Facilitatis.ToList())
                    {
                        // sterge rolurile care nu sunt in noua lista
                        if (!newFacilitatiIds.Contains(fac.idFacilitate))
                            user.Facilitatis.Remove(fac);
                    }

                    foreach (var newFacilitateId in newFacilitatiIds)
                    {
                        // adauga rolurile care nu sunt in lista de roluri a userului
                        if (!user.Facilitatis.Any(r => r.idFacilitate == newFacilitateId))
                        {
                            var newFacilitate = new Facilitati { idFacilitate = newFacilitateId };
                            context.Facilitati.Attach(newFacilitate);
                            user.Facilitatis.Add(newFacilitate);
                        }
                    }

                    context.SaveChanges();
                }
            }
            catch (Exception ex) { }
        }
        /// <summary>
        /// Metoda care intoarce toate inregistrarile din tabela recenzii completate de un anumit user.
        /// </summary>
        /// <param name="username">username-ul utilizatorului pentru care dorim toate recenziile</param>
        /// <returns></returns>
        public static DataTable GetRecenziiDetails(string username)
        {
            try
            {
                using (MasterEntities context = new MasterEntities())
                {
                    int idUtilizator = context.Utilizatori.First(x => x.numeUtilizator == username).idUtilizator;

                    DataTable dt = new DataTable();
                    dt.Columns.Add("comentariu");
                    dt.Columns.Add("rank");
                    dt.Columns.Add("numeUnitate");
                    foreach (Recenzie recenzie in context.Recenzie.Where(x => x.idUtilizator == idUtilizator).ToList())
                    {
                        DataRow row = dt.NewRow();
                        row["comentariu"] = recenzie.comentariu;
                        row["rank"] = recenzie.rank;
                        int idUnitate = recenzie.idUnitate;
                        var r = context.Unitati.First(x => x.idUnitate == idUnitate);
                        row["numeUnitate"] = r.numeUnitate;
                        dt.Rows.Add(row);
                    }

                    return dt;
                }
            }
            catch (Exception ex) { return null; }
        }
 /// <summary>
 /// Metoda care returneaza toate rezervarile utilizatorilor care au rezervare maine.
 /// </summary>
 /// <returns>o lista de rezervari</returns>
 public static List<string> GetRezervariDetails()
 {
     List<string> aux = new List<string>();
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             var rezervari = context.Rezervari.ToList();
             foreach (var rezervare in rezervari)
             {
                 if (DateTime.Now.Year == rezervare.dataStart.Year)
                 {
                     if (DateTime.Now.Month == rezervare.dataStart.Month)
                     {
                         if (rezervare.dataStart.Day - DateTime.Now.Day == 1)
                         {
                             int idUtilizator = rezervare.idUtilizator;
                             var user = context.Utilizatori.First(x => x.idUtilizator == idUtilizator);
                             aux.Add(user.numeComplet);
                             aux.Add(user.email);
                             aux.Add(rezervare.Unitate.numeUnitate);
                         }
                     }
                 }
             }
         }
     }
     catch (Exception ex) { return aux; }
     return aux;
 }
 /// <summary>
 /// Metoda care returneaza o lista de contacte.
 /// </summary>
 /// <returns>o lista de contacte</returns>
 public static IEnumerable<Contact> GetContact()
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             return context.Contact.ToList();
         }
     }
     catch (Exception ex) { return null; }
 }
 /// <summary>
 /// Metoda care returneaza toate facilitatile.
 /// </summary>
 /// <returns>o lista de facilitati</returns>
 public static IEnumerable<Facilitati> GetFacilitati()
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             return context.Facilitati.ToList();
         }
     }
     catch (Exception ex) { return null; }
 }
 /// <summary>
 /// Metoda care intoarce id-ul unui anumit rol.
 /// </summary>
 /// <param name="numeRol">numele rolului</param>
 /// <returns>id-ul rolului</returns>
 public static int GetRol(string numeRol)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             return context.Roluri.First(x => x.numeRol == numeRol).idRol;
         }
     }
     catch (Exception ex) { return -1; }
 }
        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();
        }
 /// <summary>
 /// Metoda care returneaza toate recenziile.
 /// </summary>
 /// <returns>o lista de recenzii</returns>
 public static IEnumerable<Recenzie> GetRecenzii()
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             return context.Recenzie.ToList();
         }
     }
     catch (Exception ex) { return null; }
 }
 public static Utilizatori GetUtilizator(int idUtilizator)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             return context.Utilizatori.First(x => x.idUtilizator == idUtilizator);
         }
     }
     catch (Exception ex) { return null; }
 }
 public static string GetPathImage(int idUnitate)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             return context.Unitati.First(x => x.idUnitate == idUnitate).pathImg;
         }
     }
     catch (Exception ex) { return ""; }
 }
 /// <summary>
 /// Metoda care intoarce din baza de date id-ul unitatii pe care o afisam curent.
 /// </summary>
 /// <param name="numeUnitate">numele unitatii curente</param>
 /// <returns>id-ul unitatii curente</returns>
 public static int GetIdUnitate(string numeUnitate)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             return context.Unitati.First(x => x.numeUnitate == numeUnitate).idUnitate;
         }
     }
     catch (Exception ex) { return -1; }
 }
 /// <summary>
 /// Metoda care intoarce detaliile rezervarilor unui anumit user
 /// </summary>
 /// <param name="username">username-ul utilizatorului</param>
 /// <returns>lista de Rezervari ale utilizatorului respectiv</returns>
 public static IEnumerable<Rezervari> GetRezervariByUsername(string username)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             int idUtilizator = context.Utilizatori.First(x => x.numeUtilizator == username).idUtilizator;
             return context.Rezervari.Where(x => x.idUtilizator == idUtilizator).ToList();
         }
     }
     catch (Exception ex) { return null; }
 }
 public static int getContactId(int idPensiune)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             int idContact = context.Unitati.First(i => i.idUnitate == idPensiune).idContact;
             return idContact;
         }
     }
     catch (Exception ex) { return -1; }
 }
 /// <summary>
 /// Metoda care intoarce un anumit contact.
 /// </summary>
 /// <param name="id">id-ul contactului pentru care avem nevoie de detalii</param>
 /// <returns>un obiect de tip contact</returns>
 public static Contact GetContact(int id)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             var r = context.Contact.First(x => x.idContact == id);
             return r;
         }
     }
     catch (Exception e) { return null; }
 }
 /// <summary>
 /// Metoda care intoarce id-ul unui anumit tip de unitate.
 /// </summary>
 /// <param name="numeTip">numele tipului unitatii</param>
 /// <returns>id-ul tipului</returns>
 public static int getIdTipUnitate(string numeTip)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             var r = context.TipUnitate.First(x => x.tip == numeTip);
             return r.idTip;
         }
     }
     catch (Exception ex) { return -1; }
 }
 /// <summary>
 /// Metoda care returneaza o anumita unitate.
 /// </summary>
 /// <param name="id">id-ul unitatii</param>
 /// <returns>unitatea cu id-ul 'id'</returns>
 public static Unitati GetUnitate(int id)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             var r = context.Unitati.First(x => x.idUnitate == id);
             return r;
         }
     }
     catch (Exception ex) { return null; }
 }
 /// <summary>
 /// Metoda care intoarce numele tipului unei anumite tip
 /// </summary>
 /// <param name="id">id-ul tipului </param>
 /// <returns>numele tipului</returns>
 public static string getTipUnitate(int id)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             var r = context.TipUnitate.First(x => x.idTip == id);
             return r.tip;
         }
     }
     catch (Exception ex) { return null; }
 }
 /// <summary>
 /// Metoda care intoarce nume unei regiuni dupa id-ul acesteia.
 /// </summary>
 /// <param name="idRegiune">id-ul regiunii</param>
 /// <returns>numele regiunii</returns>
 public static string GetRegiune(int idRegiune)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             var r = context.Regiuni.First(x => x.idRegiune == idRegiune);
             return r.numeRegiune;
         }
     }
     catch (Exception ex) { return ""; }
 }
 /// <summary>
 /// Metoda care intoarce din baza de date o localitate  dupa numeUnitate
 /// </summary>
 /// <returns>o localitate</returns>
 public static string GetLocalitateByNumeUnitate(string numeUnitate)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             int idLocalitate = context.Unitati.First(x => x.numeUnitate == numeUnitate).idLocalitate;
             return context.Localitati.First(x => x.idLocalitate == idLocalitate).numeLocalitate;
         }
     }
     catch (Exception ex) { return ""; }
 }
        /// <summary>
        /// Metoda care intoarce id-ul unei anumite regiuni.
        /// </summary>
        /// <param name="numeRegiune">numele regiunii</param>
        /// <returns>id-ul regiunii</returns>
        public static int GetIdRegiune(string numeRegiune)
        {
            try
            {
                using (MasterEntities context = new MasterEntities())
                {
                    var obj = context.Regiuni.First(x => x.numeRegiune == numeRegiune);

                    return obj.idRegiune;
                }
            }
            catch (Exception ex) { return -1; }
        }
        /// <summary>
        /// Metoda care intoarce id-ul unei anumite localitati.
        /// </summary>
        /// <param name="numeLocalitate">numele localitatii</param>
        /// <returns>id-ul localitatii</returns>
        public static int GetIdLocalitate(string numeLocalitate)
        {
            try
            {
                using (MasterEntities context = new MasterEntities())
                {
                    var obj = context.Localitati.First(x => x.numeLocalitate == numeLocalitate);

                    return obj.idLocalitate;
                }
            }
            catch (Exception ex) { return -1; }
        }
 public static void DeleteRezervare(Rezervari rezervare)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             var obj = context.Rezervari.First(x => x.idRezervare == rezervare.idRezervare);
             obj.isDeleted = true;
             context.ApplyCurrentValues("Rezervari", obj);
             context.SaveChanges();
         }
     }
     catch (Exception exc) { throw exc; }
 }
 /// <summary>
 /// Metoda care sterge o anumita regiune.
 /// </summary>
 /// <param name="regiune">regiunea pe care dorim sa o stergem</param>
 public static void DeleteRegiune(Regiuni regiune)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             var obj = context.Regiuni.First(x => x.idRegiune == regiune.idRegiune);
             obj.isDeleted = true;
             context.ApplyCurrentValues("Regiuni", obj);
             context.SaveChanges();
         }
     }
     catch (Exception ex) {  }
 }
 /// <summary>
 /// Metoda care sterge un utilizator.
 /// </summary>
 /// <param name="utilizator">utilizatorul pe care dorim sa il stergem</param>
 public static void DeleteUtilizator(Utilizatori utilizator)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             var obj = context.Utilizatori.First(x => x.idUtilizator == utilizator.idUtilizator);
             obj.isDeleted = true;
             context.ApplyCurrentValues("Utilizatori", obj);
             context.SaveChanges();
         }
     }
     catch (Exception exc) { throw exc; }
 }
 /// <summary>
 /// Metoda care sterge o anumita localitate.
 /// </summary>
 /// <param name="localitate">localitatea pe care dorim sa o stergem</param>
 public static void DeleteLocalitate(Localitati localitate)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             var obj = context.Localitati.First(x => x.idLocalitate == localitate.idLocalitate);
             obj.isDeleted = true;
             context.ApplyCurrentValues("Localitati", obj);
             context.SaveChanges();
         }
     }
     catch (Exception exc) { throw exc; }
 }
        public static List<string> FilterResult(Filtrare newFiltrare)
        {
            var numeRegiune = newFiltrare.numeRegiune;
            var numeLocalitate = newFiltrare.numeLocalitate;
            var tipUnitate = newFiltrare.tipUnitate;
            List<string> unitati = new List<string>();

            try
            {
                using (MasterEntities context = new MasterEntities())
                {
                    //caz 1:toate optiunile sunt bifate
                    //if(numeRegiune!="" && numeLocalitate!="" && tipUnitate!="" && newFiltrare.pretDeLa)
                    var unitatiList = context.Unitati.Where(x => x.TipUnitate.tip == tipUnitate);
                    Regiuni result=new Regiuni();
                    if (newFiltrare.numeRegiune != "Alegeti o regiune")
                    {
                        if (newFiltrare.numeLocalitate != "Alegeti o localitate")
                        {
                            result = context.Regiuni.First(x => x.numeRegiune == numeRegiune);

                            var result1 = result.Localitati.First(x => x.numeLocalitate == numeLocalitate);
                            var result2 = result1.Unitate.Where(x => x.TipUnitate.tip == tipUnitate);
                            PopulateUnitatiList(result2, newFiltrare, unitati);
                        }

                        else
                        {
                            var result1 = context.Regiuni.First(x => x.numeRegiune == numeRegiune).Localitati.Where(x=>x.idLocalitate>=0);
                            foreach (var item in result1)
                            {
                                var result2 = item.Unitate.Where(x => x.TipUnitate.tip == tipUnitate);
                                PopulateUnitatiList(result2, newFiltrare, unitati);
                            }
                        }

                    }

                    else
                    {
                        PopulateUnitatiList(unitatiList, newFiltrare, unitati);
                    }

                }
            }
            catch (Exception ex) { }
            return unitati;
        }
 /// <summary>
 /// Metoda care intoarce din baza de date id-ul utilizatorului logat.
 /// </summary>
 /// <param name="nume">numele utilizatorului logat</param>
 /// <returns>id-ul utilizatorului logat</returns>
 public static int GetIdUtilizator(string nume)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             var us = context.Utilizatori.Where(x => x.numeUtilizator == nume).ToList();
             if (us.Count > 0)
             {
                 return us[0].idUtilizator;
             }
         }
     }
     catch (Exception ex) { return -1; }
     return -1;
 }
Esempio n. 29
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                listaUnitati.Controls.Clear();
                string numeLocalitate = Request.QueryString["Localitate"];
                using (MasterEntities context = new MasterEntities())
                {
                    var Localitate = context.Localitati.First(x => x.numeLocalitate == numeLocalitate);
                    int idLocalitate = Localitate.idLocalitate;

                    unitati = context.Unitati.Where(x => x.idLocalitate == idLocalitate && x.isDeleted == false).ToList();
                    if (unitati.Count > 0)
                    {
                        foreach (Unitati o in unitati)
                        {
                            int pretMin = 1000000;
                            int idUnitate = o.idUnitate;
                            var camere = context.Camere.Where(x => x.idUnitate == idUnitate);
                            foreach (Camere cam in camere)
                            {
                                if (cam.pret < pretMin)
                                {
                                    pretMin = int.Parse(cam.pret.ToString());

                                }
                            }
                            dictionary.Add(o.numeUnitate, pretMin);

                        }
                        foreach (Unitati u in unitati)
                        {
                            GenerateDivForUnitate(u);
                        }
                    }
                    else
                    {
                        Label l = new Label();
                        l.Text = "<b>Ne pare rau, dar aceasta localitate nu are inregistrata nici o unitate!</b>";
                        l.Attributes.Add("font-size", "20");
                        listaUnitati.Controls.Add(new LiteralControl("<br/>"));
                        listaUnitati.Controls.Add(l);
                    }
                }
            }
            catch (Exception ex) { Response.Redirect("~/Error/GeneralError.aspx"); }
        }
 /// <summary>
 /// Metoda care intoarce date unui utilizator.
 /// </summary>
 /// <param name="username">username-ul</param>
 /// <returns>array cu informatiile utilizatorului</returns>
 public static string[] GetUtilizator(string username)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             string[] result = new string[4];
             var r = context.Utilizatori.First(x => x.numeUtilizator == username);
             result[0] = r.email;
             result[1] = r.parola;
             result[2] = r.numeComplet;
             result[3] = r.idUtilizator.ToString();
             return result;
         }
     }
     catch (Exception ex) { return null; }
 }