API
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

CityRepository.cs 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. using Microsoft.EntityFrameworkCore;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using UnivateProperties_API.Context;
  6. using UnivateProperties_API.Model.Region;
  7. namespace UnivateProperties_API.Repository.Region
  8. {
  9. public class CityRepository : ICityRepository
  10. {
  11. private readonly DataContext dBContext;
  12. public CityRepository(DataContext _dBContext)
  13. {
  14. dBContext = _dBContext;
  15. }
  16. public List<City> Get(Func<City, bool> where)
  17. {
  18. return dBContext.Cities.Where(where).ToList();
  19. }
  20. public List<City> GetAll()
  21. {
  22. return dBContext.Cities.ToList();
  23. }
  24. public List<City> GetBy(string province)
  25. {
  26. var provObj = dBContext.Provinces.Where(p => p.Description == province).First();
  27. if (provObj != null)
  28. return dBContext.Cities.Where(c => c.ProvinceId == provObj.Id).OrderBy(c => c.Description).ToList();
  29. else
  30. return null;
  31. }
  32. public City GetDetailed(Func<City, bool> first)
  33. {
  34. throw new NotImplementedException();
  35. }
  36. public List<City> GetDetailedAll()
  37. {
  38. throw new NotImplementedException();
  39. }
  40. public void Insert(City item)
  41. {
  42. item.Id = NewId();
  43. dBContext.Add(item);
  44. Save();
  45. }
  46. public void Insert(IEnumerable<City> items)
  47. {
  48. int id = NewId();
  49. foreach (var item in items)
  50. {
  51. item.Id = id;
  52. dBContext.Add(item);
  53. id += 1;
  54. }
  55. Save();
  56. }
  57. public void Remove(City item)
  58. {
  59. dBContext.Cities.Remove(item);
  60. Save();
  61. }
  62. public void Remove(IEnumerable<City> items)
  63. {
  64. foreach (var item in items)
  65. {
  66. dBContext.Cities.Remove(item);
  67. }
  68. Save();
  69. }
  70. public void RemoveAtId(int item)
  71. {
  72. var city = Get(x => x.Id == item).FirstOrDefault();
  73. if (city != null)
  74. {
  75. dBContext.Cities.Remove(city);
  76. Save();
  77. }
  78. }
  79. public void Save()
  80. {
  81. dBContext.SaveChanges();
  82. }
  83. public void Update(City item)
  84. {
  85. dBContext.Entry(item).State = EntityState.Modified;
  86. Save();
  87. }
  88. public int NewId()
  89. {
  90. int id = 0;
  91. if (dBContext.Cities.Count() > 0)
  92. {
  93. id = dBContext.Cities.Max(x => x.Id);
  94. }
  95. id += 1;
  96. return id;
  97. }
  98. public List<City> GetByProperty(int propertyId)
  99. {
  100. var prop = dBContext.Properties.Where(p => p.Id == propertyId).FirstOrDefault();
  101. if (prop != null)
  102. {
  103. var Cities = dBContext.Cities.Where(s => s.ProvinceId == prop.ProvinceId).ToList();
  104. return Cities;
  105. }
  106. else
  107. {
  108. return null;
  109. }
  110. }
  111. }
  112. }