/// <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) {  }
 }
        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 updateaza o anumita regiune.
 /// </summary>
 /// <param name="regiune">regiunea noua</param>
 /// <param name="origRegiune">regiunea veche, cea pe care o updatam</param>
 public static void UpdateRegiune(Regiuni regiune, Regiuni origRegiune)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             context.Regiuni.Attach(origRegiune);
             context.ApplyCurrentValues("Regiuni", regiune);
             context.SaveChanges();
         }
     }
     catch (Exception ex) {  }
 }
 /// <summary>
 /// Metoda care insereaza o anumita regiune in baza de date.
 /// </summary>
 /// <param name="regiune">numele regiunii pe care dorim sa o adaugam</param>
 public static void InsertRegiune(string regiune)
 {
     try
     {
         using (MasterEntities context = new MasterEntities())
         {
             var r = new Regiuni() { numeRegiune = regiune, isDeleted = false };
             context.Regiuni.AddObject(r);
             context.SaveChanges();
         }
     }
     catch (Exception ex) {  }
 }
 /// <summary>
 /// Deprecated Method for adding a new object to the Regiuni EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToRegiuni(Regiuni regiuni)
 {
     base.AddObject("Regiuni", regiuni);
 }
 /// <summary>
 /// Create a new Regiuni object.
 /// </summary>
 /// <param name="idRegiune">Initial value of the idRegiune property.</param>
 /// <param name="numeRegiune">Initial value of the numeRegiune property.</param>
 public static Regiuni CreateRegiuni(global::System.Int32 idRegiune, global::System.String numeRegiune)
 {
     Regiuni regiuni = new Regiuni();
     regiuni.idRegiune = idRegiune;
     regiuni.numeRegiune = numeRegiune;
     return regiuni;
 }