Example #1
0
File: Area.cs Project: kblc/Royalty
 /// <summary>
 /// Get areas by names
 /// </summary>
 /// <param name="instanceNames">Area name array</param>
 /// <param name="city">City for search</param>
 /// <returns>Area array</returns>
 public IQueryable<Area> AreaGet(IEnumerable<string> instanceNames, City city)
 {
     var inst = instanceNames.Select(n => n.ToUpper()).Distinct();
     var res = AreaGet()
             .Where(s => inst.Contains(s.Name.ToUpper()));
     if (city != null)
     {
         //var res2 = res.Where(s => s.CityID == city.CityID);
         //var ent = Context.Entry(city);
         //if ((ent.State == EntityState.Added || ent.State == EntityState.Detached) || ((ent.State == EntityState.Modified || ent.State == EntityState.Unchanged) && Context.Entry(city).Collection(nameof(city.Areas)).IsLoaded))
         {
             var subRes = city.Areas
                 //.Select(a => new { Area = a, State = Context.Entry(a).State })
                 //.Where(s => s.State == EntityState.Detached || s.State == EntityState.Added)
                 //.Select(s => s.Area)
                 .Join(inst, s => s.Name.ToUpper(), i => i, (s, i) => s);
             return subRes.AsQueryable();
                 //res2
                 //.ToArray()
                 //.Union(subRes)
                 //.Distinct()
                 //.AsQueryable();
         }
         //return res2;
     }
     else
         return res;
 }
Example #2
0
File: Area.cs Project: kblc/Royalty
 /// <summary>
 /// Get one area by name
 /// </summary>
 /// <param name="instanceName">Area name</param>
 /// <returns>Area</returns>
 public Area AreaGet(string instanceName, City city)
 {
     return AreaGet(new string[] { instanceName }, city).SingleOrDefault();
 }
Example #3
0
File: City.cs Project: kblc/Royalty
 /// <summary>
 /// Remove City from database
 /// </summary>
 /// <param name="instance">City instance</param>
 /// <param name="saveAfterRemove">Save database after removing</param>
 /// <param name="waitUntilSaving">Wait until saving</param>
 public void CityRemove(City instance, bool saveAfterRemove = true, bool waitUntilSaving = true)
 {
     CityRemove(new City[] { instance }, saveAfterRemove, waitUntilSaving);
 }
Example #4
0
File: Area.cs Project: kblc/Royalty
 /// <summary>
 /// Create/Get new Area without any link to database
 /// </summary>
 /// <param name="instanceName">Area name</param>
 /// <returns>Area instance</returns>
 public Area AreaNew(string instanceName = null, bool isDefault = false, City city = null)
 {
     try
     {
         var res = new Area() { Name = instanceName, City = city };
         if (city != null)
         {
             //if (Context.Entry(city).State != EntityState.Detached)
                 city.Areas.Add(res);
             //else
             //    res.City = city;
         }
         return res;
     }
     catch (Exception ex)
     {
         Helpers.Log.Add(ex, string.Format("Repository.AreaNew(instanceName='{0}',city='{1}')", instanceName ?? "NULL", city == null ? "NULL" : city.ToString()));
         throw;
     }
 }
Example #5
0
File: City.cs Project: kblc/Royalty
 /// <summary>
 /// Add City to database
 /// </summary>
 /// <param name="instance">City instance</param>
 /// <param name="saveAfterInsert">Save database after insertion</param>
 /// <param name="waitUntilSaving">Wait until saving</param>
 public void CityAdd(City instance, bool saveAfterInsert = true, bool waitUntilSaving = true)
 {
     CityAdd(new City[] { instance }, saveAfterInsert, waitUntilSaving);
 }