/// <summary>
        ///
        /// </summary>
        /// <param name="CityName"></param>
        /// <param name="pasword"></param>
        /// <returns></returns>
        public Repositories.City GetCity(Repositories.City city)
        {
            var result = _db.Cities.AsNoTracking();

            if (city.CityId > 0)
            {
                return(result.FirstOrDefault(a => a.CityId == city.CityId));
            }

            return(result.FirstOrDefault(a => a.CityName == city.CityName));
        }
        public HamrazmResult AddCity(Repositories.City City)
        {
            var result = new HamrazmResult();

            if (IsAnyCity(City.CityName))
            {
                result.IsChange = false;
                result.Message  = "رکورد تکراری می باشد";
                return(result);
            }

            _db.Entry(City).State = EntityState.Added;
            result.Message        = "رکورد با موفقیت ثبت شد";
            return(result);
        }
        public HamrazmResult DeleteCompany(Repositories.City city)
        {
            var result = new HamrazmResult();

            try
            {
                _db.Entry(city).State = EntityState.Deleted;

                result.IsChange = true;
                result.Message  = "شهر با موفقیت حذف شد";
                return(result);
            }
            catch (Exception e)
            {
                result.IsChange = false;
                result.Message  = e.Message;

                return(result);
            }
        }
        public HamrazmResult UpdateCity(Repositories.City city)
        {
            var result = new HamrazmResult();

            if (IsAnyCity(city))
            {
                result.IsChange = false;
                result.Message  = "رکورد تکراری می باشد";
                return(result);
            }
            var searchCity = GetCity(city);

            if (searchCity == null)
            {
                result.IsChange = false;
                result.Message  = "شهر یافت نشد";
            }
            _db.Entry(city).State = EntityState.Modified;
            result.Message        = "با موفقیت تغییر  یافت";
            return(result);
        }
 private bool IsAnyCity(Repositories.City City)
 {
     return(_db.Cities.Any(a => a.CityId != City.CityId && a.CityName == City.CityName));
 }